summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
author Mark Renouf <mrenouf@google.com> 2024-02-20 09:49:03 -0500
committer Mark Renouf <mrenouf@google.com> 2024-02-20 15:36:42 +0000
commit0511077086852d8b987e70eb57ab30dfc0148a7b (patch)
treed8e9f33eff023cbf6bc1aa032a4f5ab336e78c2a /java
parentcb295796fbbcb96686475f7631a029209d2d9474 (diff)
Check for EXTRA_CHOOSER_RESULT for backcompat until V2 is released
This keeps the existing functionality working in V1, with the flag enabled for apps using Intent.createChooser which will begin sending the new extra value. The extra used has no bearing on functionality. With the feature flag disabled, the same functionality continues while also accepting the the extra name from Intent.createChooser. Without this, apps using Intent.createChooser will stop receiving results with the flag[1] disabled. [1] intentresolver/com.android.intentresolver.modular_framework Bug: 325545074 Test: atest android.content.cts.IntentTest#testCreateChooser Change-Id: Id25de6410835a85e71cb58277015d8ede51f4e4d
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/intentresolver/ChooserRequestParameters.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/java/src/com/android/intentresolver/ChooserRequestParameters.java b/java/src/com/android/intentresolver/ChooserRequestParameters.java
index 968aee2e..6c7f8264 100644
--- a/java/src/com/android/intentresolver/ChooserRequestParameters.java
+++ b/java/src/com/android/intentresolver/ChooserRequestParameters.java
@@ -16,6 +16,8 @@
package com.android.intentresolver;
+import static java.util.Objects.requireNonNullElse;
+
import android.content.ComponentName;
import android.content.Intent;
import android.content.IntentFilter;
@@ -41,6 +43,8 @@ import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -128,8 +132,14 @@ public class ChooserRequestParameters {
mReferrerFillInIntent = new Intent().putExtra(Intent.EXTRA_REFERRER, referrer);
- mChosenComponentSender = clientIntent.getParcelableExtra(
- Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER);
+ mChosenComponentSender =
+ Optional.ofNullable(
+ clientIntent.getParcelableExtra(Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER,
+ IntentSender.class))
+ .orElse(clientIntent.getParcelableExtra(
+ Intent.EXTRA_CHOOSER_RESULT_INTENT_SENDER,
+ IntentSender.class));
+
mRefinementIntentSender = clientIntent.getParcelableExtra(
Intent.EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER);