private void onMessage( final AVIMTypedMessage message, final AVIMConversation conversation, AVIMClient imClient) { if (message == null || message.getMessageId() == null) { LogUtils.d("may be SDK Bug, message or message id is null"); return; } if (!ConversationHelper.isValidConversation(conversation)) { LogUtils.d("receive msg from invalid conversation"); } if (lookUpConversationById(conversation.getConversationId()) == null) { registerConversation(conversation); } LogUtils.d("receive message, content :", message.getContent()); roomsTable.insertRoom(message.getConversationId()); roomsTable.increaseUnreadCount(message.getConversationId()); MessageEvent messageEvent = new MessageEvent(message, MessageEvent.Type.Come); eventBus.post(messageEvent); if (currentChattingConvid == null || !currentChattingConvid.equals(message.getConversationId())) { chatManagerAdapter.shouldShowNotification(context, selfId, conversation, message); } }