summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2021-05-10 16:48:58 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-05-10 16:48:58 +0000
commita2547e3057d40485652cef2e73a560ca22691bf8 (patch)
treea89c767b70c943a0645cf466aa764dd20cc477b7
parentf572f77a6f4f71048c7452650d76f48f05d84941 (diff)
parent9c9b661253be41e0dd736c350aa3bb15c3606bed (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.java11
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,