From 4b17ed7f8045452943081b16922caf23d47f157c Mon Sep 17 00:00:00 2001 From: Michael Groover Date: Tue, 4 Oct 2022 17:18:17 -0500 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 U 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 U release. Bug: 234659204 Test: Build Change-Id: I15aba10fe12dfcd2e67330ca844491341ef6d920 --- src/android/support/v7/mms/MmsNetworkManager.java | 3 ++- src/com/android/messaging/BugleApplication.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/android/support/v7/mms/MmsNetworkManager.java b/src/android/support/v7/mms/MmsNetworkManager.java index 059ca8f..1021b5a 100644 --- a/src/android/support/v7/mms/MmsNetworkManager.java +++ b/src/android/support/v7/mms/MmsNetworkManager.java @@ -324,7 +324,8 @@ class MmsNetworkManager { private void registerConnectivityChangeReceiverLocked() { if (!mReceiverRegistered) { - mContext.registerReceiver(mConnectivityChangeReceiver, mConnectivityIntentFilter); + mContext.registerReceiver(mConnectivityChangeReceiver, mConnectivityIntentFilter, + Context.RECEIVER_EXPORTED/*UNAUDITED*/); mReceiverRegistered = true; } } diff --git a/src/com/android/messaging/BugleApplication.java b/src/com/android/messaging/BugleApplication.java index 0ef8d91..36f062b 100644 --- a/src/com/android/messaging/BugleApplication.java +++ b/src/com/android/messaging/BugleApplication.java @@ -132,7 +132,8 @@ public class BugleApplication extends Application implements UncaughtExceptionHa LogUtil.i(TAG, "Carrier config changed. Reloading MMS config."); MmsConfig.loadAsync(); } - }, new IntentFilter(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED)); + }, new IntentFilter(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED), + Context.RECEIVER_EXPORTED/*UNAUDITED*/); } private static void initMmsLib(final Context context, final BugleGservices bugleGservices,