fix attachments getting lost when switching to chat during call

Daniel Gultsch created

fixes #3854

Change summary

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java  | 7 
src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java | 4 
2 files changed, 7 insertions(+), 4 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java 🔗

@@ -2034,9 +2034,12 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
         toggleInputMethod();
     }
 
-    public void reInit(Conversation conversation, Bundle extras) {
+    public void reInit(final Conversation conversation, final Bundle extras) {
         QuickLoader.set(conversation.getUuid());
-        this.saveMessageDraftStopAudioPlayer();
+        final boolean changedConversation = this.conversation != conversation;
+        if (changedConversation) {
+            this.saveMessageDraftStopAudioPlayer();
+        }
         this.clearPending();
         if (this.reInit(conversation, extras != null)) {
             if (extras != null) {

src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java 🔗

@@ -266,8 +266,8 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
     }
 
     private boolean processViewIntent(Intent intent) {
-        String uuid = intent.getStringExtra(EXTRA_CONVERSATION);
-        Conversation conversation = uuid != null ? xmppConnectionService.findConversationByUuid(uuid) : null;
+        final String uuid = intent.getStringExtra(EXTRA_CONVERSATION);
+        final Conversation conversation = uuid != null ? xmppConnectionService.findConversationByUuid(uuid) : null;
         if (conversation == null) {
             Log.d(Config.LOGTAG, "unable to view conversation with uuid:" + uuid);
             return false;