summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/intentresolver/ChooserActivity.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/java/src/com/android/intentresolver/ChooserActivity.java b/java/src/com/android/intentresolver/ChooserActivity.java
index 30ec2b91..71a94e11 100644
--- a/java/src/com/android/intentresolver/ChooserActivity.java
+++ b/java/src/com/android/intentresolver/ChooserActivity.java
@@ -275,9 +275,13 @@ public class ChooserActivity extends ResolverActivity implements
mChooserRequest.getRefinementIntentSender(),
(validatedRefinedTarget) -> {
maybeRemoveSharedText(validatedRefinedTarget);
- if (super.onTargetSelected(validatedRefinedTarget, false)) {
- finish();
- }
+
+ // We already block suspended targets from going to refinement, and we probably
+ // can't recover a Chooser session if that's the reason the refined target fails
+ // to launch now. Fire-and-forget the refined launch; ignore the return value
+ // and just make sure the Sharesheet session gets cleaned up regardless.
+ super.onTargetSelected(validatedRefinedTarget, false);
+ finish();
},
this::finish);