From a3a455dffc5c94e123a3e8cf8418239dee2750c9 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Fri, 7 Dec 2018 17:22:46 -0800 Subject: [PATCH] Pass the correct user ID when unstopping the broadcast target We were previously using the caller's user. This worked most of the time but of course failed in various multi-user cases. Bug: 117850528 Test: manual (see bug) Change-Id: If86e0799279fa5b5981b3f3403859e89ef3ba758 --- services/core/java/com/android/server/am/BroadcastQueue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 8c39d75ea6a4c..3a0899de75c3c 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -1337,7 +1337,7 @@ public final class BroadcastQueue { // Broadcast is being executed, its package can't be stopped. try { AppGlobals.getPackageManager().setPackageStoppedState( - r.curComponent.getPackageName(), false, UserHandle.getUserId(r.callingUid)); + r.curComponent.getPackageName(), false, r.userId); } catch (RemoteException e) { } catch (IllegalArgumentException e) { Slog.w(TAG, "Failed trying to unstop package "