Revert "Revert "Only update default home when the preferred home activity is modified.""
To avoid the race condition when other preferred activities are being
configured while home role is being set.
This reverts commit d30570e29a.
Reason for revert: Resubmission after fix
Bug: 178191941
Test: presubmit
Change-Id: Ib9777aba92462eec1d7c595833a86cfeddc02c1b
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user