diff options
| author | 2021-11-22 16:35:02 +0000 | |
|---|---|---|
| committer | 2021-11-22 19:13:49 +0000 | |
| commit | 4c13e124ec1cdcfd028803dc76b1e3cc6b9b245d (patch) | |
| tree | fd20135b07e9121d868d4853d6143422c825e675 | |
| parent | c273e395e29841cc9259a9367b64cf5c0009270e (diff) | |
Temporarily omit the skip
Remove the skip because it's skipping some broadcasts (system broadcasts) that it shouldn't be. By also changing the UID check to check if it's a core UID this will mitigate most of the changes and won't spam logs, but there is also the weird case of when a receiver registers for a sticky system broadcast that I will fix later.
Change-Id: Ifc22d15e24fb302fa066beda3ee80b99c163a3b5
Test:reversion mostly
Fixes: 166145287
Fixes: 207318980
| -rw-r--r-- | services/core/java/com/android/server/am/BroadcastQueue.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 17daa753100c..592abbbb5747 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -789,7 +789,7 @@ public final class BroadcastQueue { // Ensure that broadcasts are only sent to other apps if they are explicitly marked as // exported, or are System level broadcasts - if (!skip && !filter.exported && Process.SYSTEM_UID != r.callingUid + if (!skip && !filter.exported && !Process.isCoreUid(r.callingUid) && filter.receiverList.uid != r.callingUid) { Slog.w(TAG, "Exported Denial: sending " @@ -800,7 +800,7 @@ public final class BroadcastQueue { + " due to receiver " + filter.receiverList.app + " (uid " + filter.receiverList.uid + ")" + " not specifying RECEIVER_EXPORTED"); - skip = true; + // skip = true; } if (skip) { |