diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-09-26 21:16:55 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-09-26 21:16:55 +0200 |
commit | dd7bcdfbef276a0b18bf3d4cfee8b8a51b80a947 (patch) | |
tree | fea1e4d1c6cc0956f2f3f122253cbd553f6a7564 /src/main/java/de/pixart/messenger/ui/ConversationFragment.java | |
parent | fb1c6220a38693d57305e001e1134a4b23db3621 (diff) |
clear parent activities pending view intent before calling startAcitvityForResult()
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationFragment.java | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index c2e2902ac..7e07d251b 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -1080,7 +1080,11 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke private void handleNegativeActivityResult(int requestCode) { switch (requestCode) { - //nothing to do for now + case ATTACHMENT_CHOICE_TAKE_PHOTO: + if (pendingTakePhotoUri.clear()) { + Log.d(Config.LOGTAG, "cleared pending photo uri after negative activity result"); + } + break; } } @@ -2013,6 +2017,15 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } @Override + public void startActivityForResult(Intent intent, int requestCode) { + final Activity activity = getActivity(); + if (activity instanceof ConversationsActivity) { + ((ConversationsActivity) activity).clearPendingViewIntent(); + } + super.startActivityForResult(intent, requestCode); + } + + @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); if (conversation != null) { @@ -2123,6 +2136,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke public void reInit(Conversation conversation, Bundle extras) { QuickLoader.set(conversation.getUuid()); this.saveMessageDraftStopAudioPlayer(); + this.clearPending(); if (this.reInit(conversation, extras != null)) { if (extras != null) { processExtras(extras); @@ -3055,11 +3069,13 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } private void clearPending() { - if (postponedActivityResult.pop() != null) { + if (postponedActivityResult.clear()) { Log.e(Config.LOGTAG, "cleared pending intent with unhandled result left"); } - pendingScrollState.pop(); - if (pendingTakePhotoUri.pop() != null) { + if (pendingScrollState.clear()) { + Log.e(Config.LOGTAG,"cleared scroll state"); + } + if (pendingTakePhotoUri.clear()) { Log.e(Config.LOGTAG, "cleared pending photo uri"); } } |