Exemplo n.º 1
0
 void closeChatSession(String address) {
   ChatSessionManagerAdapter sessionManager =
       (ChatSessionManagerAdapter) mConn.getChatSessionManager();
   ChatSessionAdapter session = (ChatSessionAdapter) sessionManager.getChatSession(address);
   if (session != null) {
     session.leave();
   }
 }
Exemplo n.º 2
0
 void updateChatPresence(String address, String nickname, Presence p) {
   ChatSessionManagerAdapter sessionManager =
       (ChatSessionManagerAdapter) mConn.getChatSessionManager();
   // TODO: This only find single chat sessions, we need to go through all
   // active chat sessions and find if the contact is a participant of the
   // session.
   ChatSessionAdapter session = (ChatSessionAdapter) sessionManager.getChatSession(address);
   if (session != null) {
     session.insertPresenceUpdatesMsg(nickname, p);
   }
 }
Exemplo n.º 3
0
  private void init(ChatGroup group, boolean isNewSession) {

    mIsGroupChat = true;

    mContactId = insertOrUpdateGroupContactInDb(group);
    group.addMemberListener(mListenerAdapter);

    try {
      mChatSessionManager
          .getChatGroupManager()
          .joinChatGroupAsync(group.getAddress(), group.getName());

      mMessageURI = Imps.Messages.getContentUriByThreadId(mContactId);

      mChatURI = ContentUris.withAppendedId(Imps.Chats.CONTENT_URI, mContactId);

      if (isNewSession) insertOrUpdateChat("");

      for (Contact c : group.getMembers()) {
        mContactStatusMap.put(c.getName(), c.getPresence().getStatus());
      }

    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
Exemplo n.º 4
0
  public void leave() {
    if (mIsGroupChat) {
      getGroupManager().leaveChatGroupAsync((ChatGroup) mChatSession.getParticipant());
    }

    mContentResolver.delete(mMessageURI, null, null);
    mContentResolver.delete(mChatURI, null, null);
    mStatusBarNotifier.dismissChatNotification(mConnection.getProviderId(), getAddress());
    mChatSessionManager.closeChatSession(this);
  }
Exemplo n.º 5
0
  void onConvertToGroupChatSuccess(ChatGroup group) {
    Contact oldParticipant = (Contact) mChatSession.getParticipant();
    String oldAddress = getAddress();
    //    mChatSession.setParticipant(group);
    mChatSessionManager.updateChatSession(oldAddress, this);

    Uri oldChatUri = mChatURI;
    Uri oldMessageUri = mMessageURI;
    init(group, false);
    // copyHistoryMessages(oldParticipant);

    mContentResolver.delete(oldMessageUri, NON_CHAT_MESSAGE_SELECTION, null);
    mContentResolver.delete(oldChatUri, null, null);

    mListenerAdapter.notifyChatSessionConverted();
    mConvertingToGroupChat = false;
  }
Exemplo n.º 6
0
 public int getChatSessionCount() {
   if (mChatSessionManager == null) {
     return 0;
   }
   return mChatSessionManager.getChatSessionCount();
 }