List of usage examples for com.google.gwt.phono.client Call hangup
public native void hangup() ;
From source file:com.google.gwt.phono.test.client.model.ConversationModel.java
private void bind() { EVENT_BUS.addHandler(MessageReceivedEvent.getType(), new MessageReceivedHandler() { @Override/* w ww . j a va2 s . c om*/ public void onMessageReceived(MessageReceivedEvent event) { Message message = event.getMessage(); String from = message.getFrom(); if (!actualConversations.containsKey(from)) { Conversation conversation = new Conversation(from); conversation.setLastMessage(message); EVENT_BUS.fireEvent(new NewConversationEvent(conversation)); } else { actualConversations.get(from).setLastMessage(message); } } }); EVENT_BUS.addHandler(NewConversationEvent.getType(), new NewConversationHandler() { @Override public void onNewConversation(NewConversationEvent event) { Conversation conversation = event.getConversation(); actualConversations.put(conversation.getWith(), conversation); } }); EVENT_BUS.addHandler(ConversationEndedEvent.getType(), new ConversationEndedHandler() { @Override public void onConversationEnded(ConversationEndedEvent event) { Conversation conversation = event.getConversation(); // Hangup actual call if (conversation.getCall() != null) { EVENT_BUS.fireEvent(new EndCallEvent(conversation)); } // Remove conversation if (actualConversations.containsKey(conversation.getWith())) { actualConversations.remove(conversation.getWith()); } } }); EVENT_BUS.addHandler(EndCallEvent.getType(), new EndCallHandler() { @Override public void onEndCall(EndCallEvent event) { Conversation conversation = actualConversations.get(event.getConversation().getWith()); if (conversation != null) { Call call = conversation.getCall(); if (call != null) { call.hangup(); } conversation.setCall(null); } } }); EVENT_BUS.addHandler(StartCallEvent.getType(), new StartCallHandler() { @Override public void onStartCall(StartCallEvent event) { Conversation conversation = actualConversations.get(event.getConversation().getWith()); if (conversation != null) { // Hangup if already calling Call call = conversation.getCall(); if (call != null) { call.hangup(); } // Call using phono Call newCall = phono.dial(conversation.getWith()); conversation.setCall(newCall); } } }); EVENT_BUS.addHandler(SendMessageEvent.getType(), new SendMessageHandler() { @Override public void onSendMessage(SendMessageEvent event) { Conversation conversation = event.getConversation(); if (conversation.getLastMessage() == null) { phono.send(conversation.getWith(), event.getBody()); } else { conversation.getLastMessage().reply(event.getBody()); } } }); }