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: Ie97372efebd8258d9a4c503771d55109a85e6ae9
This commit is contained in:
@@ -101,7 +101,8 @@ public class InternetPreferenceControllerTest {
|
||||
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),
|
||||
|
@@ -121,7 +121,8 @@ public class InternetResetHelperTest {
|
||||
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
|
||||
|
@@ -88,7 +88,8 @@ public class InternetUpdaterTest {
|
||||
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
|
||||
|
Reference in New Issue
Block a user