diff options
| author | 2023-02-22 22:19:57 -0800 | |
|---|---|---|
| committer | 2023-02-23 21:05:36 +0000 | |
| commit | c0662f6b855dd661dc12ee50a50031c88aac2997 (patch) | |
| tree | 99a873847399b0a3999fd056c5bb39bedce07e99 /java/src | |
| parent | 34f394c25d429e668d519c01a6936f91296f37ba (diff) | |
Fix alternate intents in the intent refinement call.
Add test to validate that getParcelableArrayExtra() works with the
Intent that is sent.
Bug: 270552026
Test: atest ChooserRefinementManagerTest
Change-Id: Id1a6b374c36b11334278eeee35dcec4bec240101
Diffstat (limited to 'java/src')
| -rw-r--r-- | java/src/com/android/intentresolver/ChooserRefinementManager.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/java/src/com/android/intentresolver/ChooserRefinementManager.java b/java/src/com/android/intentresolver/ChooserRefinementManager.java index 98c6bddc..5b5c1d32 100644 --- a/java/src/com/android/intentresolver/ChooserRefinementManager.java +++ b/java/src/com/android/intentresolver/ChooserRefinementManager.java @@ -121,10 +121,13 @@ public final class ChooserRefinementManager { final Intent fillIn = new Intent(); final List<Intent> sourceIntents = originalTarget.getAllSourceIntents(); fillIn.putExtra(Intent.EXTRA_INTENT, sourceIntents.get(0)); - if (sourceIntents.size() > 1) { + final int sourceIntentCount = sourceIntents.size(); + if (sourceIntentCount > 1) { fillIn.putExtra( Intent.EXTRA_ALTERNATE_INTENTS, - sourceIntents.subList(1, sourceIntents.size()).toArray()); + sourceIntents + .subList(1, sourceIntentCount) + .toArray(new Intent[sourceIntentCount - 1])); } fillIn.putExtra(Intent.EXTRA_RESULT_RECEIVER, resultReceiver.copyForSending()); return fillIn; |