diff options
author | 2023-04-14 03:04:40 +0000 | |
---|---|---|
committer | 2023-04-17 20:39:26 +0000 | |
commit | cd42caeb00aa0bdd33f565816bdbfb46ccbbad24 (patch) | |
tree | 0188d15a89c29380d75d042eb1959e011120b22d /java/tests/src | |
parent | cca6189957d7158c68661c5c0f6b88c5e317a50f (diff) |
Move Nearby to the front of the app list.
Introduce a concept of a "cemented" component that always goes to the
front of the list. Just allowing up to one of these since we really
don't expect to ever have more than one.
Remove the nearby action code as well, along with some associated
cleanup.
Not in this CL: Prevent this target from being pinned.
Bug: 275787600
Test: atest com.android.intentresolver
Change-Id: I55c551f930de2d642cd0e5a42c6cdbd6e1918f0b
Diffstat (limited to 'java/tests/src')
-rw-r--r-- | java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt | 1 | ||||
-rw-r--r-- | java/tests/src/com/android/intentresolver/model/AbstractResolverComparatorTest.java | 74 |
2 files changed, 52 insertions, 23 deletions
diff --git a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt index 7b9a0ce6..a7273a86 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt @@ -53,7 +53,6 @@ class ChooserContentPreviewUiTest { private val actionFactory = object : ActionFactory { override fun createCopyButton() = ActionRow.Action(label = "Copy", icon = null) {} override fun createEditButton(): ActionRow.Action? = null - override fun createNearbyButton(): ActionRow.Action? = null override fun createCustomActions(): List<ActionRow.Action> = emptyList() override fun getModifyShareAction(): ActionRow.Action? = null override fun getExcludeSharedTextAction(): Consumer<Boolean> = Consumer<Boolean> {} diff --git a/java/tests/src/com/android/intentresolver/model/AbstractResolverComparatorTest.java b/java/tests/src/com/android/intentresolver/model/AbstractResolverComparatorTest.java index 892a2e28..5f0ead7b 100644 --- a/java/tests/src/com/android/intentresolver/model/AbstractResolverComparatorTest.java +++ b/java/tests/src/com/android/intentresolver/model/AbstractResolverComparatorTest.java @@ -40,52 +40,82 @@ public class AbstractResolverComparatorTest { @Test public void testPinned() { - ResolvedComponentInfo r1 = new ResolvedComponentInfo( - new ComponentName("package", "class"), new Intent(), new ResolveInfo() - ); + ResolvedComponentInfo r1 = createResolvedComponentInfo( + new ComponentName("package", "class")); r1.setPinned(true); - ResolvedComponentInfo r2 = new ResolvedComponentInfo( - new ComponentName("zackage", "zlass"), new Intent(), new ResolveInfo() - ); + ResolvedComponentInfo r2 = createResolvedComponentInfo( + new ComponentName("zackage", "zlass")); Context context = InstrumentationRegistry.getTargetContext(); - AbstractResolverComparator comparator = getTestComparator(context); + AbstractResolverComparator comparator = getTestComparator(context, null); assertEquals("Pinned ranks over unpinned", -1, comparator.compare(r1, r2)); assertEquals("Unpinned ranks under pinned", 1, comparator.compare(r2, r1)); } - @Test public void testBothPinned() { - ResolveInfo pmInfo1 = new ResolveInfo(); - pmInfo1.activityInfo = new ActivityInfo(); - pmInfo1.activityInfo.packageName = "aaa"; - - ResolvedComponentInfo r1 = new ResolvedComponentInfo( - new ComponentName("package", "class"), new Intent(), pmInfo1); + ResolvedComponentInfo r1 = createResolvedComponentInfo( + new ComponentName("package", "class")); r1.setPinned(true); - ResolveInfo pmInfo2 = new ResolveInfo(); - pmInfo2.activityInfo = new ActivityInfo(); - pmInfo2.activityInfo.packageName = "zzz"; - ResolvedComponentInfo r2 = new ResolvedComponentInfo( - new ComponentName("zackage", "zlass"), new Intent(), pmInfo2); + ResolvedComponentInfo r2 = createResolvedComponentInfo( + new ComponentName("zackage", "zlass")); r2.setPinned(true); Context context = InstrumentationRegistry.getTargetContext(); - AbstractResolverComparator comparator = getTestComparator(context); + AbstractResolverComparator comparator = getTestComparator(context, null); assertEquals("Both pinned should rank alphabetically", -1, comparator.compare(r1, r2)); } - private AbstractResolverComparator getTestComparator(Context context) { + @Test + public void testPromoteToFirst() { + ComponentName promoteToFirst = new ComponentName("promoted-package", "class"); + ResolvedComponentInfo r1 = createResolvedComponentInfo(promoteToFirst); + + ResolvedComponentInfo r2 = createResolvedComponentInfo( + new ComponentName("package", "class")); + + Context context = InstrumentationRegistry.getTargetContext(); + AbstractResolverComparator comparator = getTestComparator(context, promoteToFirst); + + assertEquals("PromoteToFirst ranks over non-cemented", -1, comparator.compare(r1, r2)); + assertEquals("Non-cemented ranks under PromoteToFirst", 1, comparator.compare(r2, r1)); + } + + @Test + public void testPromoteToFirstOverPinned() { + ComponentName cementedComponent = new ComponentName("promoted-package", "class"); + ResolvedComponentInfo r1 = createResolvedComponentInfo(cementedComponent); + + ResolvedComponentInfo r2 = createResolvedComponentInfo( + new ComponentName("package", "class")); + r2.setPinned(true); + + Context context = InstrumentationRegistry.getTargetContext(); + AbstractResolverComparator comparator = getTestComparator(context, cementedComponent); + + assertEquals("PromoteToFirst ranks over pinned", -1, comparator.compare(r1, r2)); + assertEquals("Pinned ranks under PromoteToFirst", 1, comparator.compare(r2, r1)); + } + + private ResolvedComponentInfo createResolvedComponentInfo(ComponentName component) { + ResolveInfo info = new ResolveInfo(); + info.activityInfo = new ActivityInfo(); + info.activityInfo.packageName = component.getPackageName(); + info.activityInfo.name = component.getClassName(); + return new ResolvedComponentInfo(component, new Intent(), info); + } + + private AbstractResolverComparator getTestComparator( + Context context, ComponentName promoteToFirst) { Intent intent = new Intent(); AbstractResolverComparator testComparator = new AbstractResolverComparator(context, intent, - Lists.newArrayList(context.getUser())) { + Lists.newArrayList(context.getUser()), promoteToFirst) { @Override int compare(ResolveInfo lhs, ResolveInfo rhs) { |