summaryrefslogtreecommitdiff
path: root/java/tests
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2023-02-01 05:20:04 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-02-01 05:20:04 +0000
commitcaa651f70874f8ef12879545731e55cb6f756206 (patch)
treeffd6428824e53a967c49f9a32868bc90b8b5e1a4 /java/tests
parent85527139e29a8a484213b2e0c664e1c527ffd503 (diff)
parent3a9ca304f41a13c42f13f8f26eb9a714de24a267 (diff)
Merge "A payload re-selection test" into tm-qpr-dev am: 3a9ca304f4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/IntentResolver/+/21161319 Change-Id: I30f6cf000ffb0a7b795355faf72cf34a7ad281a1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'java/tests')
-rw-r--r--java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java58
1 files changed, 58 insertions, 0 deletions
diff --git a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java
index f06812f1..2d8a74b9 100644
--- a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java
+++ b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java
@@ -1785,6 +1785,64 @@ public class UnbundledChooserActivityTest {
}
@Test
+ public void testLaunchWithPayloadReselection() throws InterruptedException {
+ ChooserActivityOverrideData.getInstance().featureFlagRepository =
+ new FeatureFlagRepository() {
+ @Override
+ public boolean isEnabled(@NonNull UnreleasedFlag flag) {
+ return Flags.SHARESHEET_RESELECTION_ACTION.equals(flag)
+ || flag.getDefault();
+ }
+
+ @Override
+ public boolean isEnabled(@NonNull ReleasedFlag flag) {
+ return false;
+ }
+ };
+ List<ResolvedComponentInfo> resolvedComponentInfos = createResolvedComponentsForTest(2);
+ when(
+ ChooserActivityOverrideData
+ .getInstance()
+ .resolverListController
+ .getResolversForIntent(
+ Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class)))
+ .thenReturn(resolvedComponentInfos);
+
+ Context testContext = InstrumentationRegistry.getInstrumentation().getContext();
+ final String reselectionAction = "test-broadcast-receiver-action";
+ Intent chooserIntent = Intent.createChooser(createSendTextIntent(), null);
+ chooserIntent.putExtra(
+ Intent.EXTRA_CHOOSER_PAYLOAD_RESELECTION_ACTION,
+ PendingIntent.getBroadcast(
+ testContext,
+ 123,
+ new Intent(reselectionAction),
+ PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_ONE_SHOT));
+ // Start activity
+ mActivityRule.launchActivity(chooserIntent);
+ waitForIdle();
+
+ final CountDownLatch broadcastInvoked = new CountDownLatch(1);
+ BroadcastReceiver testReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ broadcastInvoked.countDown();
+ }
+ };
+ testContext.registerReceiver(testReceiver, new IntentFilter(reselectionAction));
+
+ try {
+ onView(withText(R.string.select_text)).perform(click());
+ broadcastInvoked.await();
+ } finally {
+ testContext.unregisterReceiver(testReceiver);
+ }
+ }
+
+ @Test
public void testUpdateMaxTargetsPerRow_columnCountIsUpdated() throws InterruptedException {
updateMaxTargetsPerRowResource(/* targetsPerRow= */ 4);
givenAppTargets(/* appCount= */ 16);