summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
author Matt Casey <mrcasey@google.com> 2025-02-14 18:02:11 +0000
committer Matt Casey <mrcasey@google.com> 2025-02-14 19:33:55 +0000
commitf76f38418c3aad657f107f1d86d3947308195700 (patch)
treeba73133fba637d38f5b6acf9791d89f843d110c0 /tests
parent5e90a052a4341270a7647d75def46e73d3d64047 (diff)
HSUM fixes for ChooserActivityTest
It's using the instrumentation's personal user ID but then has hard-coded work and clone profile IDs. On HSUM, those were colliding. Bug: 396572907 Bug: 396572029 Test: atest ChooserActivityTest (on HSUM and non-HSUM devices) Flag: EXEMPT test only Change-Id: If5c5c9ad7f23b057ee18b8931cf9086725b36859
Diffstat (limited to 'tests')
-rw-r--r--tests/activity/src/com/android/intentresolver/ChooserActivityOverrideData.java4
-rw-r--r--tests/activity/src/com/android/intentresolver/ChooserActivityTest.java60
-rw-r--r--tests/activity/src/com/android/intentresolver/ChooserWrapperActivity.java2
-rw-r--r--tests/shared/src/com/android/intentresolver/ResolverDataProvider.java6
4 files changed, 45 insertions, 27 deletions
diff --git a/tests/activity/src/com/android/intentresolver/ChooserActivityOverrideData.java b/tests/activity/src/com/android/intentresolver/ChooserActivityOverrideData.java
index 311201cf..15012a31 100644
--- a/tests/activity/src/com/android/intentresolver/ChooserActivityOverrideData.java
+++ b/tests/activity/src/com/android/intentresolver/ChooserActivityOverrideData.java
@@ -60,7 +60,7 @@ public class ChooserActivityOverrideData {
public Resources resources;
public boolean hasCrossProfileIntents;
public boolean isQuietModeEnabled;
- public Integer myUserId;
+ public UserHandle personalUserHandle;
public CrossProfileIntentsChecker mCrossProfileIntentsChecker;
public void reset() {
@@ -73,7 +73,7 @@ public class ChooserActivityOverrideData {
resources = null;
hasCrossProfileIntents = true;
isQuietModeEnabled = false;
- myUserId = null;
+ personalUserHandle = null;
shortcutLoaderFactory = ((userHandle, resultConsumer) -> null);
mCrossProfileIntentsChecker = mock(CrossProfileIntentsChecker.class);
when(mCrossProfileIntentsChecker.hasCrossProfileIntents(any(), anyInt(), anyInt()))
diff --git a/tests/activity/src/com/android/intentresolver/ChooserActivityTest.java b/tests/activity/src/com/android/intentresolver/ChooserActivityTest.java
index e103e57b..1592f1de 100644
--- a/tests/activity/src/com/android/intentresolver/ChooserActivityTest.java
+++ b/tests/activity/src/com/android/intentresolver/ChooserActivityTest.java
@@ -202,12 +202,14 @@ public class ChooserActivityTest {
private static final User PERSONAL_USER =
new User(PERSONAL_USER_HANDLE.getIdentifier(), User.Role.PERSONAL);
- private static final UserHandle WORK_PROFILE_USER_HANDLE = UserHandle.of(10);
+ private static final UserHandle WORK_PROFILE_USER_HANDLE =
+ UserHandle.of(PERSONAL_USER_HANDLE.getIdentifier() + 1);
private static final User WORK_USER =
new User(WORK_PROFILE_USER_HANDLE.getIdentifier(), User.Role.WORK);
- private static final UserHandle CLONE_PROFILE_USER_HANDLE = UserHandle.of(11);
+ private static final UserHandle CLONE_PROFILE_USER_HANDLE =
+ UserHandle.of(PERSONAL_USER_HANDLE.getIdentifier() + 2);
private static final User CLONE_USER =
new User(CLONE_PROFILE_USER_HANDLE.getIdentifier(), User.Role.CLONE);
@@ -302,6 +304,7 @@ public class ChooserActivityTest {
.adoptShellPermissionIdentity();
cleanOverrideData();
+ ChooserActivityOverrideData.getInstance().personalUserHandle = PERSONAL_USER_HANDLE;
// Assign @Inject fields
mHiltAndroidRule.inject();
@@ -1537,7 +1540,8 @@ public class ChooserActivityTest {
// verify that ShortcutLoader was queried
ArgumentCaptor<DisplayResolveInfo[]> appTargets =
ArgumentCaptor.forClass(DisplayResolveInfo[].class);
- verify(shortcutLoaders.get(0).first, times(1)).updateAppTargets(appTargets.capture());
+ verify(shortcutLoaders.get(PERSONAL_USER_HANDLE.getIdentifier()).first,
+ times(1)).updateAppTargets(appTargets.capture());
// send shortcuts
assertThat(
@@ -1557,7 +1561,8 @@ public class ChooserActivityTest {
new HashMap<>(),
new HashMap<>()
);
- activity.getMainExecutor().execute(() -> shortcutLoaders.get(0).second.accept(result));
+ activity.getMainExecutor().execute(() -> shortcutLoaders.get(
+ PERSONAL_USER_HANDLE.getIdentifier()).second.accept(result));
waitForIdle();
final ChooserListAdapter activeAdapter = activity.getAdapter();
@@ -1611,7 +1616,8 @@ public class ChooserActivityTest {
// verify that ShortcutLoader was queried
ArgumentCaptor<DisplayResolveInfo[]> appTargets =
ArgumentCaptor.forClass(DisplayResolveInfo[].class);
- verify(shortcutLoaders.get(0).first, times(1)).updateAppTargets(appTargets.capture());
+ verify(shortcutLoaders.get(PERSONAL_USER_HANDLE.getIdentifier()).first,
+ times(1)).updateAppTargets(appTargets.capture());
// send shortcuts
assertThat(
@@ -1633,7 +1639,8 @@ public class ChooserActivityTest {
new HashMap<>(),
new HashMap<>()
);
- activity.getMainExecutor().execute(() -> shortcutLoaders.get(0).second.accept(result));
+ activity.getMainExecutor().execute(() -> shortcutLoaders.get(
+ PERSONAL_USER_HANDLE.getIdentifier()).second.accept(result));
waitForIdle();
final ChooserListAdapter activeAdapter = activity.getAdapter();
@@ -1688,7 +1695,8 @@ public class ChooserActivityTest {
// verify that ShortcutLoader was queried
ArgumentCaptor<DisplayResolveInfo[]> appTargets =
ArgumentCaptor.forClass(DisplayResolveInfo[].class);
- verify(shortcutLoaders.get(0).first, times(1)).updateAppTargets(appTargets.capture());
+ verify(shortcutLoaders.get(PERSONAL_USER_HANDLE.getIdentifier()).first,
+ times(1)).updateAppTargets(appTargets.capture());
// send shortcuts
assertThat(
@@ -1710,7 +1718,8 @@ public class ChooserActivityTest {
new HashMap<>(),
new HashMap<>()
);
- activity.getMainExecutor().execute(() -> shortcutLoaders.get(0).second.accept(result));
+ activity.getMainExecutor().execute(() -> shortcutLoaders.get(
+ PERSONAL_USER_HANDLE.getIdentifier()).second.accept(result));
waitForIdle();
final ChooserListAdapter activeAdapter = activity.getAdapter();
@@ -1759,7 +1768,8 @@ public class ChooserActivityTest {
// verify that ShortcutLoader was queried
ArgumentCaptor<DisplayResolveInfo[]> appTargets =
ArgumentCaptor.forClass(DisplayResolveInfo[].class);
- verify(shortcutLoaders.get(0).first, times(1)).updateAppTargets(appTargets.capture());
+ verify(shortcutLoaders.get(PERSONAL_USER_HANDLE.getIdentifier()).first,
+ times(1)).updateAppTargets(appTargets.capture());
// send shortcuts
assertThat(
@@ -1781,7 +1791,8 @@ public class ChooserActivityTest {
new HashMap<>(),
new HashMap<>()
);
- activity.getMainExecutor().execute(() -> shortcutLoaders.get(0).second.accept(result));
+ activity.getMainExecutor().execute(() -> shortcutLoaders.get(
+ PERSONAL_USER_HANDLE.getIdentifier()).second.accept(result));
waitForIdle();
final ChooserListAdapter activeAdapter = activity.getAdapter();
@@ -1848,7 +1859,8 @@ public class ChooserActivityTest {
// verify that ShortcutLoader was queried
ArgumentCaptor<DisplayResolveInfo[]> appTargets =
ArgumentCaptor.forClass(DisplayResolveInfo[].class);
- verify(shortcutLoaders.get(0).first, times(1)).updateAppTargets(appTargets.capture());
+ verify(shortcutLoaders.get(PERSONAL_USER_HANDLE.getIdentifier()).first,
+ times(1)).updateAppTargets(appTargets.capture());
// send shortcuts
assertThat(
@@ -1861,7 +1873,8 @@ public class ChooserActivityTest {
new ShortcutLoader.ShortcutResultInfo[0],
new HashMap<>(),
new HashMap<>());
- activity.getMainExecutor().execute(() -> shortcutLoaders.get(0).second.accept(result));
+ activity.getMainExecutor().execute(() -> shortcutLoaders.get(
+ PERSONAL_USER_HANDLE.getIdentifier()).second.accept(result));
waitForIdle();
final ChooserListAdapter activeAdapter = activity.getAdapter();
@@ -2120,9 +2133,10 @@ public class ChooserActivityTest {
mActivityRule.launchActivity(Intent.createChooser(sendIntent, "work tab test"));
waitForIdle();
- assertThat(activity.getCurrentUserHandle().getIdentifier(), is(0));
+ assertThat(activity.getCurrentUserHandle().getIdentifier(),
+ is(PERSONAL_USER_HANDLE.getIdentifier()));
onView(withText(R.string.resolver_work_tab)).perform(click());
- assertThat(activity.getCurrentUserHandle().getIdentifier(), is(10));
+ assertThat(activity.getCurrentUserHandle(), is(WORK_PROFILE_USER_HANDLE));
assertThat(activity.getPersonalListAdapter().getCount(), is(personalProfileTargets));
assertThat(activity.getWorkListAdapter().getCount(), is(workProfileTargets));
}
@@ -2389,7 +2403,7 @@ public class ChooserActivityTest {
// verify that ShortcutLoader was queried
ArgumentCaptor<DisplayResolveInfo[]> appTargets =
ArgumentCaptor.forClass(DisplayResolveInfo[].class);
- verify(shortcutLoaders.get(0).first, times(1))
+ verify(shortcutLoaders.get(PERSONAL_USER_HANDLE.getIdentifier()).first, times(1))
.updateAppTargets(appTargets.capture());
// send shortcuts
@@ -2412,7 +2426,8 @@ public class ChooserActivityTest {
new HashMap<>(),
new HashMap<>()
);
- activity.getMainExecutor().execute(() -> shortcutLoaders.get(0).second.accept(result));
+ activity.getMainExecutor().execute(() -> shortcutLoaders.get(
+ PERSONAL_USER_HANDLE.getIdentifier()).second.accept(result));
waitForIdle();
assertThat("Chooser should have 3 targets (2 apps, 1 direct)",
@@ -2462,7 +2477,7 @@ public class ChooserActivityTest {
// verify that ShortcutLoader was queried
ArgumentCaptor<DisplayResolveInfo[]> appTargets =
ArgumentCaptor.forClass(DisplayResolveInfo[].class);
- verify(shortcutLoaders.get(0).first, times(1))
+ verify(shortcutLoaders.get(PERSONAL_USER_HANDLE.getIdentifier()).first, times(1))
.updateAppTargets(appTargets.capture());
// send shortcuts
@@ -2482,7 +2497,8 @@ public class ChooserActivityTest {
new HashMap<>(),
new HashMap<>()
);
- activity.getMainExecutor().execute(() -> shortcutLoaders.get(0).second.accept(result));
+ activity.getMainExecutor().execute(() -> shortcutLoaders.get(
+ PERSONAL_USER_HANDLE.getIdentifier()).second.accept(result));
waitForIdle();
// Long-click on the direct target
@@ -2709,15 +2725,17 @@ public class ChooserActivityTest {
public void test_query_shortcut_loader_for_the_selected_tab() {
markOtherProfileAvailability(/* workAvailable= */ true, /* cloneAvailable= */ false);
List<ResolvedComponentInfo> personalResolvedComponentInfos =
- createResolvedComponentsForTestWithOtherProfile(3, /* userId */ 10);
+ createResolvedComponentsForTestWithOtherProfile(
+ 3,
+ WORK_PROFILE_USER_HANDLE.getIdentifier());
List<ResolvedComponentInfo> workResolvedComponentInfos =
createResolvedComponentsForTest(3);
setupResolverControllers(personalResolvedComponentInfos, workResolvedComponentInfos);
ShortcutLoader personalProfileShortcutLoader = mock(ShortcutLoader.class);
ShortcutLoader workProfileShortcutLoader = mock(ShortcutLoader.class);
final SparseArray<ShortcutLoader> shortcutLoaders = new SparseArray<>();
- shortcutLoaders.put(0, personalProfileShortcutLoader);
- shortcutLoaders.put(10, workProfileShortcutLoader);
+ shortcutLoaders.put(PERSONAL_USER_HANDLE.getIdentifier(), personalProfileShortcutLoader);
+ shortcutLoaders.put(WORK_PROFILE_USER_HANDLE.getIdentifier(), workProfileShortcutLoader);
ChooserActivityOverrideData.getInstance().shortcutLoaderFactory =
(userHandle, callback) -> shortcutLoaders.get(userHandle.getIdentifier(), null);
Intent sendIntent = createSendTextIntent();
diff --git a/tests/activity/src/com/android/intentresolver/ChooserWrapperActivity.java b/tests/activity/src/com/android/intentresolver/ChooserWrapperActivity.java
index 6ff7af3f..c279dae8 100644
--- a/tests/activity/src/com/android/intentresolver/ChooserWrapperActivity.java
+++ b/tests/activity/src/com/android/intentresolver/ChooserWrapperActivity.java
@@ -134,7 +134,7 @@ public class ChooserWrapperActivity extends ChooserActivity implements IChooserW
@Override
public final ChooserListController createListController(UserHandle userHandle) {
- if (userHandle == UserHandle.SYSTEM) {
+ if (userHandle == sOverrides.personalUserHandle) {
return sOverrides.resolverListController;
}
return sOverrides.workResolverListController;
diff --git a/tests/shared/src/com/android/intentresolver/ResolverDataProvider.java b/tests/shared/src/com/android/intentresolver/ResolverDataProvider.java
index db109941..3953d89c 100644
--- a/tests/shared/src/com/android/intentresolver/ResolverDataProvider.java
+++ b/tests/shared/src/com/android/intentresolver/ResolverDataProvider.java
@@ -36,7 +36,7 @@ import androidx.annotation.NonNull;
*/
public class ResolverDataProvider {
- static private int USER_SOMEONE_ELSE = 10;
+ private static int sUserSomeoneElse = 99;
static ResolvedComponentInfo createResolvedComponentInfo(int i) {
return new ResolvedComponentInfo(
@@ -73,7 +73,7 @@ public class ResolverDataProvider {
return new ResolvedComponentInfo(
createComponentName(i),
createResolverIntent(i),
- createResolveInfo(i, USER_SOMEONE_ELSE));
+ createResolveInfo(i, sUserSomeoneElse));
}
public static ResolvedComponentInfo createResolvedComponentInfoWithOtherId(int i,
@@ -81,7 +81,7 @@ public class ResolverDataProvider {
return new ResolvedComponentInfo(
createComponentName(i),
createResolverIntent(i),
- createResolveInfo(i, USER_SOMEONE_ELSE, resolvedForUser));
+ createResolveInfo(i, sUserSomeoneElse, resolvedForUser));
}
static ResolvedComponentInfo createResolvedComponentInfoWithOtherId(int i, int userId) {