Fixed issue in ChatMessagesFragment after leaving & coming back if Don't Keep Activities setting is enabled

This commit is contained in:
Sylvain Berfini 2021-03-08 13:54:31 +01:00
parent 998e069c06
commit 2adca8f90f

View file

@ -375,6 +375,9 @@ public class ChatMessagesFragment extends Fragment
public void onSaveInstanceState(Bundle outState) { public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
outState.putString("LocalSipUri", mChatRoom.getLocalAddress().asStringUriOnly());
outState.putString("RemoteSipUri", mChatRoom.getPeerAddress().asStringUriOnly());
ArrayList<String> files = new ArrayList<>(); ArrayList<String> files = new ArrayList<>();
for (int i = 0; i < mFilesUploadLayout.getChildCount(); i++) { for (int i = 0; i < mFilesUploadLayout.getChildCount(); i++) {
View child = mFilesUploadLayout.getChildAt(i); View child = mFilesUploadLayout.getChildAt(i);
@ -715,6 +718,7 @@ public class ChatMessagesFragment extends Fragment
|| mRemoteSipUri == null || mRemoteSipUri == null
|| mRemoteSipUri.isEmpty() || mRemoteSipUri.isEmpty()
|| core == null) { || core == null) {
Log.e("[Chat Messages Fragment] No local/remote SIP URI found!");
// TODO error // TODO error
return; return;
} }
@ -911,6 +915,12 @@ public class ChatMessagesFragment extends Fragment
} }
private void onRestoreInstanceState(Bundle savedInstanceState) { 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<String> files = savedInstanceState.getStringArrayList("Files"); ArrayList<String> files = savedInstanceState.getStringArrayList("Files");
if (files != null && !files.isEmpty()) { if (files != null && !files.isEmpty()) {
for (String file : files) { for (String file : files) {