Merge "Skip real action when onStartUser() called for the same user not on the first time" into main

This commit is contained in:
Brandon Liu
2023-07-27 19:16:29 +00:00
committed by Android (Google) Code Review

View File

@@ -261,6 +261,8 @@ public final class OverlayManagerService extends SystemService {
private final OverlayActorEnforcer mActorEnforcer;
private int mPrevStartedUserId = -1;
public OverlayManagerService(@NonNull final Context context) {
super(context);
try {
@@ -338,6 +340,10 @@ public final class OverlayManagerService extends SystemService {
}
private void onStartUser(@UserIdInt int newUserId) {
// Do nothing when start a user that is the same as the one started previously.
if (newUserId == mPrevStartedUserId) {
return;
}
try {
traceBegin(TRACE_TAG_RRO, "OMS#onStartUser " + newUserId);
// ensure overlays in the settings are up-to-date, and propagate
@@ -348,6 +354,7 @@ public final class OverlayManagerService extends SystemService {
} finally {
traceEnd(TRACE_TAG_RRO);
}
mPrevStartedUserId = newUserId;
}
private static String[] getDefaultOverlayPackages() {