Loading apex/jobscheduler/service/aconfig/job.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -58,3 +58,10 @@ flag { purpose: PURPOSE_BUGFIX } } flag { name: "remove_user_during_user_switch" namespace: "backstage_power" description: "Remove started user if user will be stopped due to user switch" bug: "321598070" } apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +14 −0 Original line number Diff line number Diff line Loading @@ -1668,6 +1668,20 @@ public class JobSchedulerService extends com.android.server.SystemService } } @Override public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) { if (!Flags.removeUserDuringUserSwitch() || from == null || !mActivityManagerInternal.isEarlyPackageKillEnabledForUserSwitch( from.getUserIdentifier(), to.getUserIdentifier())) { return; } synchronized (mLock) { mStartedUsers = ArrayUtils.removeInt(mStartedUsers, from.getUserIdentifier()); } } @Override public void onUserStopping(@NonNull TargetUser user) { synchronized (mLock) { Loading Loading
apex/jobscheduler/service/aconfig/job.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -58,3 +58,10 @@ flag { purpose: PURPOSE_BUGFIX } } flag { name: "remove_user_during_user_switch" namespace: "backstage_power" description: "Remove started user if user will be stopped due to user switch" bug: "321598070" }
apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +14 −0 Original line number Diff line number Diff line Loading @@ -1668,6 +1668,20 @@ public class JobSchedulerService extends com.android.server.SystemService } } @Override public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) { if (!Flags.removeUserDuringUserSwitch() || from == null || !mActivityManagerInternal.isEarlyPackageKillEnabledForUserSwitch( from.getUserIdentifier(), to.getUserIdentifier())) { return; } synchronized (mLock) { mStartedUsers = ArrayUtils.removeInt(mStartedUsers, from.getUserIdentifier()); } } @Override public void onUserStopping(@NonNull TargetUser user) { synchronized (mLock) { Loading