Properly store incoming messages on incoming sessions
Add a onMessageReceived listener for SimpleChatSessions set up
on the incoming side so they can be properly stored in the chat
db.
Bug: 181276359
Test: send 1:1 chat to the same device
Change-Id: I62f254f2d071664c539da70beb287a03451afdeb
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/util/ChatManager.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/util/ChatManager.java
index 9d27fbc..0447d1a 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/util/ChatManager.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/util/ChatManager.java
@@ -91,6 +91,21 @@
mImsService.setListener((session) -> {
Log.i(TAG, "onIncomingSession()");
mContactSessionMap.put(session.getRemoteUri(), session);
+ session.setListener(
+ // implement onMessageReceived()
+ (message) -> {
+ mFixedThreadPool.execute(() -> {
+ String msg = message.content();
+ String phoneNumber = getNumberFromUri(
+ session.getRemoteUri().toString());
+ if (TextUtils.isEmpty(phoneNumber)) {
+ Log.i(TAG, "dest number is empty, uri:"
+ + session.getRemoteUri());
+ } else {
+ addNewMessage(msg, phoneNumber, SELF);
+ }
+ });
+ });
});
}