Merge "Add unaudited exported flag to exposed runtime receivers"
diff --git a/src/com/android/settings/accounts/WorkModePreferenceController.java b/src/com/android/settings/accounts/WorkModePreferenceController.java
index f3a6ed2..11a620b 100644
--- a/src/com/android/settings/accounts/WorkModePreferenceController.java
+++ b/src/com/android/settings/accounts/WorkModePreferenceController.java
@@ -58,7 +58,8 @@
 
     @Override
     public void onStart() {
-        mContext.registerReceiver(mReceiver, mIntentFilter);
+        mContext.registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/AlwaysDiscoverable.java b/src/com/android/settings/bluetooth/AlwaysDiscoverable.java
index 7b94871..2ac4a18 100644
--- a/src/com/android/settings/bluetooth/AlwaysDiscoverable.java
+++ b/src/com/android/settings/bluetooth/AlwaysDiscoverable.java
@@ -52,7 +52,8 @@
         if (mStarted) {
             return;
         }
-        mContext.registerReceiver(this, mIntentFilter);
+        mContext.registerReceiver(this, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
         mStarted = true;
         if (mBluetoothAdapter.getScanMode()
                 != BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
index d489198..483e46a 100644
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java
@@ -115,7 +115,8 @@
         }
 
         mSwitchController.startListening();
-        mContext.registerReceiver(mReceiver, mIntentFilter);
+        mContext.registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
         mValidListener = true;
     }
 
diff --git a/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java b/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java
index a2d477d..d2bc319 100644
--- a/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java
@@ -57,7 +57,8 @@
 
     @Override
     public void onStart() {
-        mContext.registerReceiver(mReceiver, mIntentFilter);
+        mContext.registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
index 4469d26..afeca51 100644
--- a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
@@ -111,7 +111,8 @@
     public void onStart() {
         mBluetoothDeviceUpdater.registerCallback();
         mSavedDockUpdater.registerCallback();
-        mContext.registerReceiver(mReceiver, mIntentFilter);
+        mContext.registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
         mBluetoothDeviceUpdater.refreshPreference();
     }
 
diff --git a/src/com/android/settings/development/AdbQrcodeScannerFragment.java b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
index 1035fbe..d53f649 100644
--- a/src/com/android/settings/development/AdbQrcodeScannerFragment.java
+++ b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
@@ -189,7 +189,8 @@
         restartCamera();
 
         mAdbManager = IAdbManager.Stub.asInterface(ServiceManager.getService(Context.ADB_SERVICE));
-        getActivity().registerReceiver(mReceiver, mIntentFilter);
+        getActivity().registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     @Override
diff --git a/src/com/android/settings/development/WirelessDebuggingFragment.java b/src/com/android/settings/development/WirelessDebuggingFragment.java
index fecdbfa..7c60069 100644
--- a/src/com/android/settings/development/WirelessDebuggingFragment.java
+++ b/src/com/android/settings/development/WirelessDebuggingFragment.java
@@ -227,7 +227,8 @@
     public void onResume() {
         super.onResume();
 
-        getActivity().registerReceiver(mReceiver, mIntentFilter);
+        getActivity().registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     @Override
diff --git a/src/com/android/settings/location/LocationInjectedServiceBasePreferenceController.java b/src/com/android/settings/location/LocationInjectedServiceBasePreferenceController.java
index 3b593b9..5ee83dd 100644
--- a/src/com/android/settings/location/LocationInjectedServiceBasePreferenceController.java
+++ b/src/com/android/settings/location/LocationInjectedServiceBasePreferenceController.java
@@ -99,7 +99,8 @@
             };
         }
         mContext.registerReceiver(
-                mInjectedSettingsReceiver, INTENT_FILTER_INJECTED_SETTING_CHANGED);
+                mInjectedSettingsReceiver, INTENT_FILTER_INJECTED_SETTING_CHANGED,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     /** @OnLifecycleEvent(ON_PAUSE) */
diff --git a/src/com/android/settings/network/ActiveSubscriptionsListener.java b/src/com/android/settings/network/ActiveSubscriptionsListener.java
index 91a4c0a..b23b723 100644
--- a/src/com/android/settings/network/ActiveSubscriptionsListener.java
+++ b/src/com/android/settings/network/ActiveSubscriptionsListener.java
@@ -302,7 +302,8 @@
                 mSubscriptionChangeReceiver = getSubscriptionChangeReceiver();
             }
             mContext.registerReceiver(mSubscriptionChangeReceiver,
-                    mSubscriptionChangeIntentFilter, null, new Handler(mLooper));
+                    mSubscriptionChangeIntentFilter, null, new Handler(mLooper),
+                    Context.RECEIVER_EXPORTED_UNAUDITED);
             registerForSubscriptionsChange();
             mCacheState.compareAndSet(STATE_PREPARING, STATE_LISTENING);
             return;
diff --git a/src/com/android/settings/network/InternetResetHelper.java b/src/com/android/settings/network/InternetResetHelper.java
index b4e67b5..3600a40 100644
--- a/src/com/android/settings/network/InternetResetHelper.java
+++ b/src/com/android/settings/network/InternetResetHelper.java
@@ -105,7 +105,8 @@
     /** @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) */
     @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
     public void onResume() {
-        mContext.registerReceiver(mWifiStateReceiver, mWifiStateFilter);
+        mContext.registerReceiver(mWifiStateReceiver, mWifiStateFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     /** @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE) */
diff --git a/src/com/android/settings/network/InternetUpdater.java b/src/com/android/settings/network/InternetUpdater.java
index 3d97e95..bc24f86 100644
--- a/src/com/android/settings/network/InternetUpdater.java
+++ b/src/com/android/settings/network/InternetUpdater.java
@@ -182,7 +182,8 @@
     public void onResume() {
         mAirplaneModeEnabler.start();
         mConnectivityManager.registerDefaultNetworkCallback(mNetworkCallback);
-        mContext.registerReceiver(mWifiStateReceiver, mWifiStateFilter);
+        mContext.registerReceiver(mWifiStateReceiver, mWifiStateFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     /** @OnLifecycleEvent(ON_PAUSE) */
diff --git a/src/com/android/settings/network/apn/ApnSettings.java b/src/com/android/settings/network/apn/ApnSettings.java
index 1791446..e319f55 100755
--- a/src/com/android/settings/network/apn/ApnSettings.java
+++ b/src/com/android/settings/network/apn/ApnSettings.java
@@ -267,7 +267,8 @@
             return;
         }
 
-        getActivity().registerReceiver(mReceiver, mIntentFilter);
+        getActivity().registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
 
         restartPhoneStateListener(mSubId);
 
diff --git a/src/com/android/settings/nfc/BaseNfcEnabler.java b/src/com/android/settings/nfc/BaseNfcEnabler.java
index 0deaab6..48a87a9 100644
--- a/src/com/android/settings/nfc/BaseNfcEnabler.java
+++ b/src/com/android/settings/nfc/BaseNfcEnabler.java
@@ -59,7 +59,8 @@
             return;
         }
         handleNfcStateChanged(mNfcAdapter.getAdapterState());
-        mContext.registerReceiver(mReceiver, mIntentFilter);
+        mContext.registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     public void pause() {
diff --git a/src/com/android/settings/panel/VolumePanel.java b/src/com/android/settings/panel/VolumePanel.java
index 3e6d1ce..e0d8a7f 100644
--- a/src/com/android/settings/panel/VolumePanel.java
+++ b/src/com/android/settings/panel/VolumePanel.java
@@ -74,7 +74,8 @@
     public void onResume() {
         final IntentFilter filter = new IntentFilter();
         filter.addAction(MediaOutputConstants.ACTION_CLOSE_PANEL);
-        mContext.registerReceiver(mReceiver, filter);
+        mContext.registerReceiver(mReceiver, filter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     /** Invoked when the panel is paused. */
diff --git a/src/com/android/settings/security/CryptKeeperSettings.java b/src/com/android/settings/security/CryptKeeperSettings.java
index 4fc17fb..2b65bf1 100644
--- a/src/com/android/settings/security/CryptKeeperSettings.java
+++ b/src/com/android/settings/security/CryptKeeperSettings.java
@@ -131,7 +131,8 @@
     @Override
     public void onResume() {
         super.onResume();
-        getActivity().registerReceiver(mIntentReceiver, mIntentFilter);
+        getActivity().registerReceiver(mIntentReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     @Override
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index c3f0439..767a328 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -309,7 +309,8 @@
         mAddSupervisedUser.setOnPreferenceClickListener(this);
 
         activity.registerReceiverAsUser(
-                mUserChangeReceiver, UserHandle.ALL, USER_REMOVED_INTENT_FILTER, null, mHandler);
+                mUserChangeReceiver, UserHandle.ALL, USER_REMOVED_INTENT_FILTER, null, mHandler,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
 
         updateUI();
         mShouldUpdateUserList = false;
diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java
index dc5be42..794587d 100644
--- a/src/com/android/settings/wifi/WifiEnabler.java
+++ b/src/com/android/settings/wifi/WifiEnabler.java
@@ -118,7 +118,8 @@
     public void resume(Context context) {
         mContext = context;
         // Wi-Fi state is sticky, so just let the receiver update UI
-        mContext.registerReceiver(mReceiver, mIntentFilter);
+        mContext.registerReceiver(mReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
         if (!mListeningToOnSwitchChange) {
             mSwitchWidget.startListening();
             mListeningToOnSwitchChange = true;
diff --git a/src/com/android/settings/wifi/WifiStatusTest.java b/src/com/android/settings/wifi/WifiStatusTest.java
index 249cd71..b4f3ab6 100644
--- a/src/com/android/settings/wifi/WifiStatusTest.java
+++ b/src/com/android/settings/wifi/WifiStatusTest.java
@@ -125,7 +125,8 @@
         mWifiStateFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);
         mWifiStateFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
 
-        registerReceiver(mWifiStateReceiver, mWifiStateFilter);
+        registerReceiver(mWifiStateReceiver, mWifiStateFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
 
         setContentView(R.layout.wifi_status_test);
 
@@ -157,7 +158,8 @@
     @Override
     protected void onResume() {
         super.onResume();
-        registerReceiver(mWifiStateReceiver, mWifiStateFilter);
+        registerReceiver(mWifiStateReceiver, mWifiStateFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/WifiSummaryUpdater.java b/src/com/android/settings/wifi/WifiSummaryUpdater.java
index 19ef200..93bbe0f 100644
--- a/src/com/android/settings/wifi/WifiSummaryUpdater.java
+++ b/src/com/android/settings/wifi/WifiSummaryUpdater.java
@@ -76,7 +76,8 @@
         if (register) {
             mWifiTracker.fetchInitialState();
             notifyChangeIfNeeded();
-            mContext.registerReceiver(mReceiver, INTENT_FILTER);
+            mContext.registerReceiver(mReceiver, INTENT_FILTER,
+                    Context.RECEIVER_EXPORTED_UNAUDITED);
         } else {
             mContext.unregisterReceiver(mReceiver);
         }
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 19664be..749af3e 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -429,7 +429,8 @@
             mValidListener = true;
         }
 
-        context.registerReceiver(mIntentReceiver, mIntentFilter);
+        context.registerReceiver(mIntentReceiver, mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
 
         final Intent intent = getActivity().getIntent();
         if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index 23601fa..4f2f3c0 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -147,7 +147,8 @@
         }
         final Context context = getContext();
         if (context != null) {
-            context.registerReceiver(mTetherChangeReceiver, TETHER_STATE_CHANGE_FILTER);
+            context.registerReceiver(mTetherChangeReceiver, TETHER_STATE_CHANGE_FILTER,
+                    Context.RECEIVER_EXPORTED_UNAUDITED);
         }
     }
 
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
index 3d8cd3e..cad56e3 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
@@ -83,7 +83,8 @@
     public void onStart() {
         mDataSaverBackend.addListener(this);
         mSwitch.setOnClickListener(this);
-        mContext.registerReceiver(mReceiver, WIFI_INTENT_FILTER);
+        mContext.registerReceiver(mReceiver, WIFI_INTENT_FILTER,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
     }
 
     @Override
diff --git a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
index 6005713..da62837 100644
--- a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
@@ -101,7 +101,8 @@
     public void onResume_shouldRegisterCallback() {
         mController.onResume();
 
-        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class),
+                any(int.class));
         verify(mConnectivityManager).registerNetworkCallback(
                 any(NetworkRequest.class),
                 any(ConnectivityManager.NetworkCallback.class),
diff --git a/tests/unit/src/com/android/settings/network/InternetResetHelperTest.java b/tests/unit/src/com/android/settings/network/InternetResetHelperTest.java
index ec9abc9..4e382eb 100644
--- a/tests/unit/src/com/android/settings/network/InternetResetHelperTest.java
+++ b/tests/unit/src/com/android/settings/network/InternetResetHelperTest.java
@@ -121,7 +121,8 @@
     public void onResume_registerReceiver() {
         mInternetResetHelper.onResume();
 
-        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class),
+                any(int.class));
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java b/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java
index c54c3ee..061ee4c 100644
--- a/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java
+++ b/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java
@@ -88,7 +88,8 @@
         mInternetUpdater.onResume();
 
         verify(mAirplaneModeEnabler).start();
-        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class),
+                any(int.class));
         verify(mConnectivityManager).registerDefaultNetworkCallback(
                 any(ConnectivityManager.NetworkCallback.class));
         // Unregister callbacks