From 6d63e6b2b2f655e32691c405929e48591594f559 Mon Sep 17 00:00:00 2001 From: Michael Groover Date: Thu, 30 Dec 2021 08:34:07 -0800 Subject: [PATCH] Add unaudited exported flag to exposed runtime receivers Android T allows apps to declare a runtime receiver as not exported by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag; receivers registered with this flag will only receive broadcasts from the platform and the app itself. However to ensure developers can properly protect their receivers, all apps targeting T or later registering a receiver for non-system broadcasts must specify either the exported or not exported flag when invoking #registerReceiver; if one of these flags is not provided, the platform will throw a SecurityException. This commit updates all the exposed receivers with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing behavior of exporting the receiver while also flagging the receiver for audit before the T release. Bug: 161145287 Test: Build Change-Id: I16d67d9e41ed1b4410e07f6614840f1898602e1f --- .../src/android/perftests/utils/TestPackageInstaller.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apct-tests/perftests/utils/src/android/perftests/utils/TestPackageInstaller.java b/apct-tests/perftests/utils/src/android/perftests/utils/TestPackageInstaller.java index 530dc9dce1ef9..15a65ce29bd97 100644 --- a/apct-tests/perftests/utils/src/android/perftests/utils/TestPackageInstaller.java +++ b/apct-tests/perftests/utils/src/android/perftests/utils/TestPackageInstaller.java @@ -130,7 +130,8 @@ public class TestPackageInstaller { IntentSender getIntentSender(int sessionId) { String action = BROADCAST_ACTION + "." + sessionId; IntentFilter filter = new IntentFilter(action); - mContext.registerReceiver(this, filter); + mContext.registerReceiver(this, filter, + Context.RECEIVER_EXPORTED_UNAUDITED); Intent intent = new Intent(action); PendingIntent pending = PendingIntent.getBroadcast(mContext, sessionId, intent,