@Override public void onConnectState(IMService.ConnectState state) { if (state == IMService.ConnectState.STATE_CONNECTED) { enableSend(); } else { disableSend(); } }
protected void sendTextMessage(String text, List<Long> at, List<String> atNames) { IMessage imsg = new IMessage(); imsg.sender = this.currentUID; imsg.receiver = this.roomID; MessageContent content = Text.newText(text, at, atNames); imsg.setContent(content); imsg.timestamp = now(); imsg.isOutgoing = true; saveMessage(imsg); loadUserName(imsg); boolean r = sendMessage(imsg); if (!r) { imsg.setFailure(true); } else { imsg.setAck(true); } insertMessage(imsg); }
@Override public void onRoomMessage(RoomMessage msg) { if (msg.receiver != roomID) { return; } Log.i(TAG, "recv msg:" + msg.content); final IMessage imsg = new IMessage(); imsg.timestamp = now(); imsg.msgLocalID = msgLocalID++; imsg.sender = msg.sender; imsg.receiver = msg.receiver; imsg.setContent(msg.content); insertMessage(imsg); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); currentUID = intent.getLongExtra("current_uid", 0); if (currentUID == 0) { Log.e(TAG, "current uid is 0"); return; } roomID = intent.getLongExtra("room_id", 0); if (roomID == 0) { return; } String name = intent.getStringExtra("room_name"); if (name == null) { Log.e(TAG, "peer name is null"); return; } getSupportActionBar().setTitle(name); IMService.getInstance().addRoomObserver(this); IMService.getInstance().addObserver(this); IMService.getInstance().enterRoom(roomID); }