Relax permission requirement for sending broadcasts to other users

Also handle USER_CURRENT for broadcasts

Change-Id: I2df5616ac22b7c670a7d007b8d505d4d4d99a24e
diff --git a/services/java/com/android/server/am/BroadcastQueue.java b/services/java/com/android/server/am/BroadcastQueue.java
index 7873dd8..34dec3a 100644
--- a/services/java/com/android/server/am/BroadcastQueue.java
+++ b/services/java/com/android/server/am/BroadcastQueue.java
@@ -372,17 +372,7 @@
     private final void deliverToRegisteredReceiverLocked(BroadcastRecord r,
             BroadcastFilter filter, boolean ordered) {
         boolean skip = false;
-        if (r.onlySendToCaller) {
-            if (!UserHandle.isSameApp(r.callingUid, filter.owningUid)) {
-                Slog.w(TAG, "Permission Denial: broadcasting "
-                        + r.intent.toString()
-                        + " from " + r.callerPackage + " (pid="
-                        + r.callingPid + ", uid=" + r.callingUid + ")"
-                        + " not allowed to go to different app " + filter.owningUid);
-                skip = true;
-            }
-        }
-        if (!skip && filter.requiredPermission != null) {
+        if (filter.requiredPermission != null) {
             int perm = mService.checkComponentPermission(filter.requiredPermission,
                     r.callingPid, r.callingUid, -1, true);
             if (perm != PackageManager.PERMISSION_GRANTED) {
@@ -667,18 +657,6 @@
                     info.activityInfo.name);
 
             boolean skip = false;
-            if (r.onlySendToCaller) {
-                if (!UserHandle.isSameApp(r.callingUid, info.activityInfo.applicationInfo.uid)) {
-                    Slog.w(TAG, "Permission Denial: broadcasting "
-                            + r.intent.toString()
-                            + " from " + r.callerPackage + " (pid="
-                            + r.callingPid + ", uid=" + r.callingUid + ")"
-                            + " to " + component.flattenToShortString()
-                            + " not allowed to go to different app "
-                            + info.activityInfo.applicationInfo.uid);
-                    skip = true;
-                }
-            }
             int perm = mService.checkComponentPermission(info.activityInfo.permission,
                     r.callingPid, r.callingUid, info.activityInfo.applicationInfo.uid,
                     info.activityInfo.exported);