diff options
| author | Nick Chameyev <nickchameyev@google.com> | 2022-07-05 15:02:58 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-07-05 15:02:58 +0000 |
| commit | 0b670f205eddc1fc616d3186924ee3dccc497c7e (patch) | |
| tree | 0840c69782a7762926aeb4ca8ced8e36cfd5e31e /core/java | |
| parent | c6489d3c5bbf9ddf8337ff0acd76126abfb52054 (diff) | |
| parent | 2bcb37a7ab145dd910cdfcec438d721155201a1a (diff) | |
Merge "[Partial screen sharing] App selector initial version" into tm-qpr-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/app/ResolverListAdapter.java | 8 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/ResolverListController.java | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/core/java/com/android/internal/app/ResolverListAdapter.java b/core/java/com/android/internal/app/ResolverListAdapter.java index 2ed0f981692e..737d5e348249 100644 --- a/core/java/com/android/internal/app/ResolverListAdapter.java +++ b/core/java/com/android/internal/app/ResolverListAdapter.java @@ -265,6 +265,7 @@ public class ResolverListAdapter extends BaseAdapter { return mResolverListController.getResolversForIntent( /* shouldGetResolvedFilter= */ true, mResolverListCommunicator.shouldGetActivityMetadata(), + mResolverListCommunicator.shouldGetOnlyDefaultActivities(), mIntents); } } @@ -727,6 +728,7 @@ public class ResolverListAdapter extends BaseAdapter { protected List<ResolvedComponentInfo> getResolversForUser(UserHandle userHandle) { return mResolverListController.getResolversForIntentAsUser(true, mResolverListCommunicator.shouldGetActivityMetadata(), + mResolverListCommunicator.shouldGetOnlyDefaultActivities(), mIntents, userHandle); } @@ -820,6 +822,12 @@ public class ResolverListAdapter extends BaseAdapter { boolean shouldGetActivityMetadata(); + /** + * @return true to filter only apps that can handle + * {@link android.content.Intent#CATEGORY_DEFAULT} intents + */ + default boolean shouldGetOnlyDefaultActivities() { return true; }; + Intent getTargetIntent(); void onHandlePackagesChanged(ResolverListAdapter listAdapter); diff --git a/core/java/com/android/internal/app/ResolverListController.java b/core/java/com/android/internal/app/ResolverListController.java index 27573631b2ce..100fcd817812 100644 --- a/core/java/com/android/internal/app/ResolverListController.java +++ b/core/java/com/android/internal/app/ResolverListController.java @@ -110,17 +110,19 @@ public class ResolverListController { public List<ResolverActivity.ResolvedComponentInfo> getResolversForIntent( boolean shouldGetResolvedFilter, boolean shouldGetActivityMetadata, + boolean shouldGetOnlyDefaultActivities, List<Intent> intents) { return getResolversForIntentAsUser(shouldGetResolvedFilter, shouldGetActivityMetadata, - intents, mUserHandle); + shouldGetOnlyDefaultActivities, intents, mUserHandle); } public List<ResolverActivity.ResolvedComponentInfo> getResolversForIntentAsUser( boolean shouldGetResolvedFilter, boolean shouldGetActivityMetadata, + boolean shouldGetOnlyDefaultActivities, List<Intent> intents, UserHandle userHandle) { - int baseFlags = PackageManager.MATCH_DEFAULT_ONLY + int baseFlags = (shouldGetOnlyDefaultActivities ? PackageManager.MATCH_DEFAULT_ONLY : 0) | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE | (shouldGetResolvedFilter ? PackageManager.GET_RESOLVED_FILTER : 0) |
