Merge "Only update default home when the preferred home activity is modified." into sc-dev am: bfdcaaf25d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14314665

Change-Id: I7e45d1d0ea6291d48013a23ebd5b8c5b3004fcc9
This commit is contained in:
TreeHugger Robot
2021-05-08 07:39:54 +00:00
committed by Automerger Merge Worker

View File

@@ -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 IntentFilter 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,