Allow user shutdown broadcasts to be delivered
Fixes a regression that prevents the user from being fully shutdown
after being stopped. Wasn't killing all user processes.
Bug: 7462778
Change-Id: Iee7231f7c8a167e8a61549b149294b2dbef071c1
This commit is contained in:
@@ -15700,11 +15700,13 @@ public final class ActivityManagerService extends ActivityManagerNative
|
||||
true, ALLOW_NON_FULL, "broadcast", callerPackage);
|
||||
|
||||
// Make sure that the user who is receiving this broadcast is running.
|
||||
// If not, we will just skip it.
|
||||
// If not, we will just skip it. Make an exception for shutdown broadcasts
|
||||
// and upgrade steps.
|
||||
|
||||
if (userId != UserHandle.USER_ALL && !isUserRunningLocked(userId, false)) {
|
||||
if (callingUid != Process.SYSTEM_UID || (intent.getFlags()
|
||||
& Intent.FLAG_RECEIVER_BOOT_UPGRADE) == 0) {
|
||||
if ((callingUid != Process.SYSTEM_UID
|
||||
|| (intent.getFlags() & Intent.FLAG_RECEIVER_BOOT_UPGRADE) == 0)
|
||||
&& !Intent.ACTION_SHUTDOWN.equals(intent.getAction())) {
|
||||
Slog.w(TAG, "Skipping broadcast of " + intent
|
||||
+ ": user " + userId + " is stopped");
|
||||
return ActivityManager.BROADCAST_FAILED_USER_STOPPED;
|
||||
|
||||
Reference in New Issue
Block a user