summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mark Renouf <mrenouf@google.com> 2024-01-23 22:33:14 -0500
committer Mark Renouf <mrenouf@google.com> 2024-02-05 11:17:14 -0500
commit7cba2e404f593df8eecfde11c765ecdaa2726a00 (patch)
tree7188d40cc6232698fc782598c0ab3b847b53db41
parent8e1def731fdaab07953f8d11531dbc518860d94e (diff)
Move ChooserListController out of ChooserActivity
Test: n/a - purely mechanical refactor Change-Id: I00995885e0845b8bfff92b113feb80f29867b9a4
-rw-r--r--java/src/com/android/intentresolver/v2/ChooserActivity.java35
-rw-r--r--java/src/com/android/intentresolver/v2/ChooserListController.java66
-rw-r--r--tests/activity/src/com/android/intentresolver/v2/ChooserActivityOverrideData.java8
3 files changed, 74 insertions, 35 deletions
diff --git a/java/src/com/android/intentresolver/v2/ChooserActivity.java b/java/src/com/android/intentresolver/v2/ChooserActivity.java
index 29a792f6..64c5881c 100644
--- a/java/src/com/android/intentresolver/v2/ChooserActivity.java
+++ b/java/src/com/android/intentresolver/v2/ChooserActivity.java
@@ -1924,36 +1924,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements
return mEventLog;
}
- public class ChooserListController extends ResolverListController {
- public ChooserListController(
- Context context,
- PackageManager pm,
- Intent targetIntent,
- String referrerPackageName,
- int launchedFromUid,
- AbstractResolverComparator resolverComparator,
- UserHandle queryIntentsAsUser) {
- super(
- context,
- pm,
- targetIntent,
- referrerPackageName,
- launchedFromUid,
- resolverComparator,
- queryIntentsAsUser);
- }
-
- @Override
- public boolean isComponentFiltered(ComponentName name) {
- return mViewModel.getChooserRequest().getFilteredComponentNames().contains(name);
- }
-
- @Override
- public boolean isComponentPinned(ComponentName name) {
- return mPinnedSharedPrefs.getBoolean(name.flattenToString(), false);
- }
- }
-
+ @VisibleForTesting
public ChooserGridAdapter createChooserGridAdapter(
Context context,
List<Intent> payloadIntents,
@@ -2101,7 +2072,9 @@ public class ChooserActivity extends Hilt_ChooserActivity implements
mViewModel.getChooserRequest().getReferrerPackage(),
requireAnnotatedUserHandles().userIdOfCallingApp,
resolverComparator,
- getQueryIntentsUser(userHandle));
+ getQueryIntentsUser(userHandle),
+ mViewModel.getChooserRequest().getFilteredComponentNames(),
+ mPinnedSharedPrefs);
}
@VisibleForTesting
diff --git a/java/src/com/android/intentresolver/v2/ChooserListController.java b/java/src/com/android/intentresolver/v2/ChooserListController.java
new file mode 100644
index 00000000..467f343b
--- /dev/null
+++ b/java/src/com/android/intentresolver/v2/ChooserListController.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.intentresolver.v2;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.os.UserHandle;
+
+import com.android.intentresolver.ResolverListController;
+import com.android.intentresolver.model.AbstractResolverComparator;
+
+import java.util.List;
+
+public class ChooserListController extends ResolverListController {
+ private final List<ComponentName> mFilteredComponents;
+ private final SharedPreferences mPinnedComponents;
+
+ public ChooserListController(
+ Context context,
+ PackageManager pm,
+ Intent targetIntent,
+ String referrerPackageName,
+ int launchedFromUid,
+ AbstractResolverComparator resolverComparator,
+ UserHandle queryIntentsAsUser,
+ List<ComponentName> filteredComponents,
+ SharedPreferences pinnedComponents) {
+ super(
+ context,
+ pm,
+ targetIntent,
+ referrerPackageName,
+ launchedFromUid,
+ resolverComparator,
+ queryIntentsAsUser);
+ mFilteredComponents = filteredComponents;
+ mPinnedComponents = pinnedComponents;
+ }
+
+ @Override
+ public boolean isComponentFiltered(ComponentName name) {
+ return mFilteredComponents.contains(name);
+ }
+
+ @Override
+ public boolean isComponentPinned(ComponentName name) {
+ return mPinnedComponents.getBoolean(name.flattenToString(), false);
+ }
+}
diff --git a/tests/activity/src/com/android/intentresolver/v2/ChooserActivityOverrideData.java b/tests/activity/src/com/android/intentresolver/v2/ChooserActivityOverrideData.java
index df1399d8..d6ee706a 100644
--- a/tests/activity/src/com/android/intentresolver/v2/ChooserActivityOverrideData.java
+++ b/tests/activity/src/com/android/intentresolver/v2/ChooserActivityOverrideData.java
@@ -55,8 +55,8 @@ public class ChooserActivityOverrideData {
public Function<TargetInfo, Boolean> onSafelyStartCallback;
public Function2<UserHandle, Consumer<ShortcutLoader.Result>, ShortcutLoader>
shortcutLoaderFactory = (userHandle, callback) -> null;
- public ChooserActivity.ChooserListController resolverListController;
- public ChooserActivity.ChooserListController workResolverListController;
+ public ChooserListController resolverListController;
+ public ChooserListController workResolverListController;
public Boolean isVoiceInteraction;
public Cursor resolverCursor;
public boolean resolverForceException;
@@ -76,8 +76,8 @@ public class ChooserActivityOverrideData {
imageLoader = null;
resolverCursor = null;
resolverForceException = false;
- resolverListController = mock(ChooserActivity.ChooserListController.class);
- workResolverListController = mock(ChooserActivity.ChooserListController.class);
+ resolverListController = mock(ChooserListController.class);
+ workResolverListController = mock(ChooserListController.class);
alternateProfileSetting = 0;
resources = null;
annotatedUserHandles = AnnotatedUserHandles.newBuilder()