diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-05-10 16:48:58 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-05-10 16:48:58 +0000 |
commit | a2547e3057d40485652cef2e73a560ca22691bf8 (patch) | |
tree | a89c767b70c943a0645cf466aa764dd20cc477b7 | |
parent | f572f77a6f4f71048c7452650d76f48f05d84941 (diff) | |
parent | 9c9b661253be41e0dd736c350aa3bb15c3606bed (diff) |
Merge "Revert "Revert "Only update default home when the preferred home activity is modified.""" into sc-dev
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 219fa3ca5270..a68886842529 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -22005,7 +22005,7 @@ public class PackageManagerService extends IPackageManager.Stub pir.addFilter(new PreferredActivity(filter, match, set, activity, always)); scheduleWritePackageRestrictionsLocked(userId); } - if (!updateDefaultHomeNotLocked(userId)) { + if (!(isHomeFilter(filter) && updateDefaultHomeNotLocked(userId))) { postPreferredActivityChangedBroadcast(userId); } } @@ -22295,7 +22295,9 @@ public class PackageManagerService extends IPackageManager.Stub new PersistentPreferredActivity(filter, activity, true)); scheduleWritePackageRestrictionsLocked(userId); } - updateDefaultHomeNotLocked(userId); + if (isHomeFilter(filter)) { + updateDefaultHomeNotLocked(userId); + } postPreferredActivityChangedBroadcast(userId); } @@ -22664,6 +22666,11 @@ public class PackageManagerService extends IPackageManager.Stub return filter; } + private boolean isHomeFilter(@NonNull WatchedIntentFilter filter) { + return filter.hasAction(Intent.ACTION_MAIN) && filter.hasCategory(Intent.CATEGORY_HOME) + && filter.hasCategory(CATEGORY_DEFAULT); + } + ComponentName getHomeActivitiesAsUser(List<ResolveInfo> allHomeCandidates, int userId) { return liveComputer().getHomeActivitiesAsUser(allHomeCandidates, |