Merge "[pm] fix broadcast permission check for instant apps" into tm-dev

This commit is contained in:
Songchun Fan
2022-04-05 01:32:10 +00:00
committed by Android (Google) Code Review

View File

@@ -20,7 +20,6 @@ import static android.os.PowerExemptionManager.REASON_LOCKED_BOOT_COMPLETED;
import static android.os.PowerExemptionManager.TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED; import static android.os.PowerExemptionManager.TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED;
import static com.android.server.pm.PackageManagerService.DEBUG_INSTALL; import static com.android.server.pm.PackageManagerService.DEBUG_INSTALL;
import static com.android.server.pm.PackageManagerService.EMPTY_INT_ARRAY;
import static com.android.server.pm.PackageManagerService.PACKAGE_SCHEME; import static com.android.server.pm.PackageManagerService.PACKAGE_SCHEME;
import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME; import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME;
import static com.android.server.pm.PackageManagerService.TAG; import static com.android.server.pm.PackageManagerService.TAG;
@@ -86,11 +85,14 @@ public final class BroadcastHelper {
} else { } else {
resolvedUserIds = userIds; resolvedUserIds = userIds;
} }
doSendBroadcast(action, pkg, extras, flags, targetPkg, finishedReceiver,
resolvedUserIds, false, broadcastAllowList, bOptions); if (ArrayUtils.isEmpty(instantUserIds)) {
if (instantUserIds != null && instantUserIds != EMPTY_INT_ARRAY) {
doSendBroadcast(action, pkg, extras, flags, targetPkg, finishedReceiver, doSendBroadcast(action, pkg, extras, flags, targetPkg, finishedReceiver,
instantUserIds, true, null, bOptions); resolvedUserIds, false /* isInstantApp */, broadcastAllowList, bOptions);
} else {
// send restricted broadcasts for instant apps
doSendBroadcast(action, pkg, extras, flags, targetPkg, finishedReceiver,
instantUserIds, true /* isInstantApp */, null, bOptions);
} }
} catch (RemoteException ex) { } catch (RemoteException ex) {
} }