Package voxo.client.actions

Source Code of voxo.client.actions.RequestVoiceAction

package voxo.client.actions;

import java.io.IOException;
import java.net.UnknownHostException;
import java.util.EnumSet;

import javax.swing.JOptionPane;

import voxo.client.controllers.ClientController;
import voxo.client.services.NetworkService;
import voxo.client.threads.VoiceReceiver;
import voxo.common.entities.Packet;
import voxo.common.enums.EnumPacket;
import voxo.common.enums.EnumVerbose;
import voxo.common.packets.VoiceConnexionPacket;

public class RequestVoiceAction {
  public RequestVoiceAction(ClientController c, String contactIp, VoiceConnexionPacket p) {

    if (c.getVoiceReceiver() != null && c.getVoiceReceiver().isGo()) {
      //c.getVoiceReceiver().setGo(false);
      JOptionPane.showMessageDialog(null, "You can only chat with 1 person at a time, please end your previous call", "Too many lines", JOptionPane.ERROR_MESSAGE);
    } else {
      if(c.getVoiceReceiver() != null) {
        c.getVoiceReceiver().killSocket();
        //c.setVoiceReceiver(null);
      }
     
      c.setVoiceReceiver(new VoiceReceiver());
      Thread t = new Thread(c.getVoiceReceiver());
      t.start();

      try {
        NetworkService.sendPacket(contactIp, new Packet(EnumPacket.CLIENT_AskVoice, p));
      } catch (UnknownHostException e) {
        c.getVerbose().addConsoleMsg(e, EnumSet.of(EnumVerbose.ToConsole, EnumVerbose.ToLog));
        new ServerErrorAction(c);
      } catch (IOException e) {
        c.getVerbose().addConsoleMsg(e, EnumSet.of(EnumVerbose.ToConsole, EnumVerbose.ToLog));
        new ServerErrorAction(c);
      }
    }
  }
}
TOP

Related Classes of voxo.client.actions.RequestVoiceAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.