summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Miranda Kephart <mkephart@google.com> 2020-06-24 11:50:07 -0400
committer Miranda Kephart <mkephart@google.com> 2020-06-24 11:50:07 -0400
commitd3d0aeeb3b160e623bf4e7c5b68caea2ca2aa637 (patch)
treeab5bea2a7a0547d0e4d7dc48c0458e4ca7c5fcd8
parentf9836b0186cc14d65069f165ef777ea66c1c477f (diff)
Add FLAG_CANCEL_CURRENT to screenshot share intent
The share intent uses clipData, which isn't used to match intents. Thus, subsequent screenshots didn't update the share intent, so trying to share a second screenshot would end up sharing the first one. Adding FLAG_CANCEL_CURRENT fixes this problem. Bug: 159751741 Fix: 159751741 Test: manual Change-Id: I5eb63f075c3156e5061ee9f63ba17afa6b7abbbd
-rw-r--r--packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java b/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java
index e3fbdbc7c30d..468b9b16addb 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java
@@ -281,8 +281,10 @@ class SaveImageInBackgroundTask extends AsyncTask<Void, Void, Void> {
Intent.createChooser(sharingIntent, null, chooserAction.getIntentSender())
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK)
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- PendingIntent pendingIntent = PendingIntent.getActivityAsUser(context, requestCode,
- sharingChooserIntent, 0, null, UserHandle.CURRENT);
+
+ // cancel current pending intent (if any) since clipData isn't used for matching
+ PendingIntent pendingIntent = PendingIntent.getActivityAsUser(context, 0,
+ sharingChooserIntent, PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT);
// Create a share action for the notification
PendingIntent shareAction = PendingIntent.getBroadcastAsUser(context, requestCode,