From 2adca8f90f2c4604ef89ed260632e4b5ae84d17b Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 8 Mar 2021 13:54:31 +0100 Subject: [PATCH] Fixed issue in ChatMessagesFragment after leaving & coming back if Don't Keep Activities setting is enabled --- .../java/org/linphone/chat/ChatMessagesFragment.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java index 2b3a9da9f..7496bfae5 100644 --- a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java +++ b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java @@ -375,6 +375,9 @@ public class ChatMessagesFragment extends Fragment public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); + outState.putString("LocalSipUri", mChatRoom.getLocalAddress().asStringUriOnly()); + outState.putString("RemoteSipUri", mChatRoom.getPeerAddress().asStringUriOnly()); + ArrayList files = new ArrayList<>(); for (int i = 0; i < mFilesUploadLayout.getChildCount(); i++) { View child = mFilesUploadLayout.getChildAt(i); @@ -715,6 +718,7 @@ public class ChatMessagesFragment extends Fragment || mRemoteSipUri == null || mRemoteSipUri.isEmpty() || core == null) { + Log.e("[Chat Messages Fragment] No local/remote SIP URI found!"); // TODO error return; } @@ -911,6 +915,12 @@ public class ChatMessagesFragment extends Fragment } private void onRestoreInstanceState(Bundle savedInstanceState) { + + String localSipUri = savedInstanceState.getString("LocalSipUri"); + mRemoteSipUri = savedInstanceState.getString("RemoteSipUri"); + mLocalSipAddress = Factory.instance().createAddress(localSipUri); + mRemoteSipAddress = Factory.instance().createAddress(mRemoteSipUri); + ArrayList files = savedInstanceState.getStringArrayList("Files"); if (files != null && !files.isEmpty()) { for (String file : files) {