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
This commit is contained in:
Jacob Hobbie
2021-11-22 16:35:02 +00:00
parent c273e395e2
commit 4c13e124ec

View File

@@ -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) {