Merge "Allow instant apps to send broadcasts to themselves" into pi-dev

am: 93ec4f829d

Change-Id: Icdb0079006db75d16f48d6955e06edc0bb5c05c0
This commit is contained in:
Svet Ganov
2018-06-06 08:04:40 -07:00
committed by android-build-merger

View File

@@ -20904,9 +20904,15 @@ public class ActivityManagerService extends IActivityManager.Stub
}
private List<ResolveInfo> collectReceiverComponents(Intent intent, String resolvedType,
int callingUid, int[] users) {
int callingUid, boolean callerInstantApp, int[] users) {
// TODO: come back and remove this assumption to triage all broadcasts
int pmFlags = STOCK_PM_FLAGS | MATCH_DEBUG_TRIAGED_MISSING;
// Instant apps should be able to send broadcasts to themselves, so we would
// match instant receivers and later the broadcast queue would enforce that
// the broadcast cannot be sent to a receiver outside the instant UID.
if (callerInstantApp) {
pmFlags |= PackageManager.MATCH_INSTANT;
}
List<ResolveInfo> receivers = null;
try {
@@ -21535,7 +21541,8 @@ public class ActivityManagerService extends IActivityManager.Stub
// Need to resolve the intent to interested receivers...
if ((intent.getFlags()&Intent.FLAG_RECEIVER_REGISTERED_ONLY)
== 0) {
receivers = collectReceiverComponents(intent, resolvedType, callingUid, users);
receivers = collectReceiverComponents(intent, resolvedType, callingUid,
callerInstantApp, users);
}
if (intent.getComponent() == null) {
if (userId == UserHandle.USER_ALL && callingUid == SHELL_UID) {