diff options
author | bkchoi <bkchoi@google.com> | 2021-09-15 13:32:30 -0700 |
---|---|---|
committer | bkchoi <bkchoi@google.com> | 2021-09-16 08:51:18 -0700 |
commit | 76f14ca88895d791423c2e132c737b941dd7d658 (patch) | |
tree | 176f276b9f85ece94287443191e414568488c74a | |
parent | 4656979305120575d550cb5d0ae9a18637f0b386 (diff) | |
download | Car-76f14ca88895d791423c2e132c737b941dd7d658.tar.gz |
Specify the flags parameter for registerReceiver() calls.
Bug: 197675710
Test: atest CarServiceTest CarServiceUnitTest \
AndroidCarApiTest CarSecurityPermissionTest
Change-Id: I7dccc2635613b9014921f6779e6e5a4d635766c8
22 files changed, 37 insertions, 26 deletions
diff --git a/car-usb-handler/src/android/car/usb/handler/UsbHostController.java b/car-usb-handler/src/android/car/usb/handler/UsbHostController.java index 0da71ac5f1..bea37979b8 100644 --- a/car-usb-handler/src/android/car/usb/handler/UsbHostController.java +++ b/car-usb-handler/src/android/car/usb/handler/UsbHostController.java @@ -95,7 +95,7 @@ public final class UsbHostController IntentFilter filter = new IntentFilter(); filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED); filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED); - context.registerReceiver(mUsbBroadcastReceiver, filter); + context.registerReceiver(mUsbBroadcastReceiver, filter, Context.RECEIVER_NOT_EXPORTED); } private synchronized void setActiveDeviceIfMatch(UsbDevice device) { diff --git a/car-usb-handler/src/android/car/usb/handler/UsbHostManagementActivity.java b/car-usb-handler/src/android/car/usb/handler/UsbHostManagementActivity.java index 0a91089abf..9be12ec8df 100644 --- a/car-usb-handler/src/android/car/usb/handler/UsbHostManagementActivity.java +++ b/car-usb-handler/src/android/car/usb/handler/UsbHostManagementActivity.java @@ -141,7 +141,8 @@ public class UsbHostManagementActivity extends Activity { processDevice(); } else { mReceiverRegistered = true; - registerReceiver(mResolveBroadcastReceiver, new IntentFilter(ACTION_USER_UNLOCKED)); + registerReceiver(mResolveBroadcastReceiver, new IntentFilter(ACTION_USER_UNLOCKED), + Context.RECEIVER_NOT_EXPORTED); // in case the car was unlocked while the receiver was being registered if (userManager.isUserUnlocked()) { mResolveBroadcastReceiver.onReceive(this, new Intent(ACTION_USER_UNLOCKED)); diff --git a/service/src/com/android/car/CarLocationService.java b/service/src/com/android/car/CarLocationService.java index a2f8267c98..392b060a91 100644 --- a/service/src/com/android/car/CarLocationService.java +++ b/service/src/com/android/car/CarLocationService.java @@ -170,7 +170,7 @@ public class CarLocationService extends BroadcastReceiver implements CarServiceB logd("init"); IntentFilter filter = new IntentFilter(); filter.addAction(LocationManager.MODE_CHANGED_ACTION); - mContext.registerReceiver(this, filter); + mContext.registerReceiver(this, filter, Context.RECEIVER_NOT_EXPORTED); mCarDrivingStateService = CarLocalServices.getService(CarDrivingStateService.class); if (mCarDrivingStateService != null) { CarDrivingStateEvent event = mCarDrivingStateService.getCurrentDrivingState(); diff --git a/service/src/com/android/car/CarProjectionService.java b/service/src/com/android/car/CarProjectionService.java index eb3555adee..4b168b1fce 100644 --- a/service/src/com/android/car/CarProjectionService.java +++ b/service/src/com/android/car/CarProjectionService.java @@ -757,7 +757,8 @@ class CarProjectionService extends ICarProjection.Stub implements CarServiceBase @Override public void init() { mContext.registerReceiver( - mBroadcastReceiver, new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION)); + mBroadcastReceiver, new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION), + Context.RECEIVER_NOT_EXPORTED); } private void handleWifiApStateChange(int currState, int prevState, int errorCode, diff --git a/service/src/com/android/car/OnShutdownReboot.java b/service/src/com/android/car/OnShutdownReboot.java index 7d4040505c..7930f3d7db 100644 --- a/service/src/com/android/car/OnShutdownReboot.java +++ b/service/src/com/android/car/OnShutdownReboot.java @@ -56,7 +56,7 @@ class OnShutdownReboot { IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_SHUTDOWN); filter.addAction(Intent.ACTION_REBOOT); - mContext.registerReceiver(mReceiver, filter); + mContext.registerReceiver(mReceiver, filter, Context.RECEIVER_NOT_EXPORTED); } OnShutdownReboot addAction(BiConsumer<Context, Intent> action) { diff --git a/service/src/com/android/car/audio/CarAudioService.java b/service/src/com/android/car/audio/CarAudioService.java index ee320de7ee..b59ec36ffa 100644 --- a/service/src/com/android/car/audio/CarAudioService.java +++ b/service/src/com/android/car/audio/CarAudioService.java @@ -507,7 +507,8 @@ public class CarAudioService extends ICarAudio.Stub implements CarServiceBase { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(AudioManager.VOLUME_CHANGED_ACTION); intentFilter.addAction(AudioManager.MASTER_MUTE_CHANGED_ACTION); - mContext.registerReceiver(mLegacyVolumeChangedReceiver, intentFilter); + mContext.registerReceiver(mLegacyVolumeChangedReceiver, intentFilter, + Context.RECEIVER_NOT_EXPORTED); } private List<CarAudioDeviceInfo> generateCarAudioDeviceInfos() { diff --git a/service/src/com/android/car/bluetooth/FastPairGattServer.java b/service/src/com/android/car/bluetooth/FastPairGattServer.java index 716c59d476..f6e9f51b2b 100644 --- a/service/src/com/android/car/bluetooth/FastPairGattServer.java +++ b/service/src/com/android/car/bluetooth/FastPairGattServer.java @@ -565,7 +565,7 @@ class FastPairGattServer { void setup() { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothDevice.ACTION_PAIRING_REQUEST); - mContext.registerReceiver(mPairingAttemptsReceiver, filter); + mContext.registerReceiver(mPairingAttemptsReceiver, filter, Context.RECEIVER_NOT_EXPORTED); mModelIdCharacteristic = new BluetoothGattCharacteristic(FAST_PAIR_MODEL_ID_UUID.getUuid(), BluetoothGattCharacteristic.PROPERTY_READ, BluetoothGattCharacteristic.PERMISSION_READ); diff --git a/service/src/com/android/car/bluetooth/FastPairProvider.java b/service/src/com/android/car/bluetooth/FastPairProvider.java index add066a785..1a8ef9e64a 100644 --- a/service/src/com/android/car/bluetooth/FastPairProvider.java +++ b/service/src/com/android/car/bluetooth/FastPairProvider.java @@ -146,7 +146,7 @@ public class FastPairProvider { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED); filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); - mContext.registerReceiver(mDiscoveryModeChanged, filter); + mContext.registerReceiver(mDiscoveryModeChanged, filter, Context.RECEIVER_NOT_EXPORTED); mStarted = true; } diff --git a/service/src/com/android/car/systeminterface/SystemStateInterface.java b/service/src/com/android/car/systeminterface/SystemStateInterface.java index 73fd73426f..655f9a7f2d 100644 --- a/service/src/com/android/car/systeminterface/SystemStateInterface.java +++ b/service/src/com/android/car/systeminterface/SystemStateInterface.java @@ -164,7 +164,8 @@ public interface SystemStateInterface { final int corePoolSize = 1; mExecutorService = Executors.newScheduledThreadPool(corePoolSize); IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BOOT_COMPLETED); - mContext.registerReceiver(mBroadcastReceiver, intentFilter); + mContext.registerReceiver(mBroadcastReceiver, intentFilter, + Context.RECEIVER_NOT_EXPORTED); } mActionsList.add(Pair.create(action, delay)); } diff --git a/service/src/com/android/car/user/CarUserNoticeService.java b/service/src/com/android/car/user/CarUserNoticeService.java index 15e9566d19..74a25d1abd 100644 --- a/service/src/com/android/car/user/CarUserNoticeService.java +++ b/service/src/com/android/car/user/CarUserNoticeService.java @@ -402,7 +402,8 @@ public final class CarUserNoticeService implements CarServiceBase { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(Intent.ACTION_SCREEN_OFF); intentFilter.addAction(Intent.ACTION_SCREEN_ON); - mContext.registerReceiver(mDisplayBroadcastReceiver, intentFilter); + mContext.registerReceiver(mDisplayBroadcastReceiver, intentFilter, + Context.RECEIVER_NOT_EXPORTED); } @Override diff --git a/tests/AdasLocationTestApp/src/com/google/android/car/adaslocation/AdasLocationActivity.java b/tests/AdasLocationTestApp/src/com/google/android/car/adaslocation/AdasLocationActivity.java index bcb29f1650..7673b5556b 100644 --- a/tests/AdasLocationTestApp/src/com/google/android/car/adaslocation/AdasLocationActivity.java +++ b/tests/AdasLocationTestApp/src/com/google/android/car/adaslocation/AdasLocationActivity.java @@ -135,7 +135,7 @@ public final class AdasLocationActivity extends AppCompatActivity { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(LocationManager.MODE_CHANGED_ACTION); intentFilter.addAction(LocationManager.ACTION_ADAS_GNSS_ENABLED_CHANGED); - registerReceiver(mReceiver, intentFilter); + registerReceiver(mReceiver, intentFilter, Context.RECEIVER_NOT_EXPORTED); } @Override diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceFragment.java index c1de7001a5..6eb0e2a35a 100644 --- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceFragment.java +++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceFragment.java @@ -82,7 +82,7 @@ public class BluetoothDeviceFragment extends Fragment { void launchDevicePicker() { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothDevicePicker.ACTION_DEVICE_SELECTED); - getContext().registerReceiver(mPickerReceiver, filter); + getContext().registerReceiver(mPickerReceiver, filter, Context.RECEIVER_NOT_EXPORTED); Intent intent = new Intent(BluetoothDevicePicker.ACTION_LAUNCH); intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceTypeChecker.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceTypeChecker.java index 1523634574..e34ea308c6 100644 --- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceTypeChecker.java +++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothDeviceTypeChecker.java @@ -104,7 +104,7 @@ public class BluetoothDeviceTypeChecker { private ParcelUuid[] blockingFetchUuids(BluetoothDevice device) { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothDevice.ACTION_UUID); - mContext.registerReceiver(mUuidReceiver, filter); + mContext.registerReceiver(mUuidReceiver, filter, Context.RECEIVER_NOT_EXPORTED); mDeviceUUidsFuture = new CompletableFuture<>(); if (!device.fetchUuidsWithSdp()) { Log.w(TAG, "fetching UUIDs failed."); diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java index 45da3a23c3..7b6f2c3b9e 100644 --- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java +++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java @@ -203,7 +203,7 @@ public class BluetoothHeadsetFragment extends Fragment { void launchDevicePicker() { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothDevicePicker.ACTION_DEVICE_SELECTED); - getContext().registerReceiver(mPickerReceiver, filter); + getContext().registerReceiver(mPickerReceiver, filter, Context.RECEIVER_NOT_EXPORTED); Intent intent = new Intent(DEVICE_PICKER_ACTION); intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java index 7bf8e7f9e5..959f7a06f2 100644 --- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java +++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java @@ -226,7 +226,7 @@ public class MapMceTestFragment extends Fragment { void launchDevicePicker() { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothDevicePicker.ACTION_DEVICE_SELECTED); - getContext().registerReceiver(mPickerReceiver, filter); + getContext().registerReceiver(mPickerReceiver, filter, Context.RECEIVER_NOT_EXPORTED); Intent intent = new Intent(BluetoothDevicePicker.ACTION_LAUNCH); intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); @@ -289,7 +289,8 @@ public class MapMceTestFragment extends Fragment { intentFilter.addAction(ACTION_MESSAGE_DELIVERED_SUCCESSFULLY); intentFilter.addAction(BluetoothMapClient.ACTION_MESSAGE_RECEIVED); intentFilter.addAction(BluetoothMapClient.ACTION_CONNECTION_STATE_CHANGED); - getContext().registerReceiver(mTransmissionStatusReceiver, intentFilter); + getContext().registerReceiver(mTransmissionStatusReceiver, intentFilter, + Context.RECEIVER_NOT_EXPORTED); } private void sendNewMsgOnClick(int msgType) { diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/rotary/RotaryFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/rotary/RotaryFragment.java index bf13017d31..da0bf8b29b 100644 --- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/rotary/RotaryFragment.java +++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/rotary/RotaryFragment.java @@ -148,7 +148,8 @@ public final class RotaryFragment extends Fragment { public void onStart() { super.onStart(); - getContext().registerReceiver(mPackagesUpdatedReceiver, mFilter); + getContext().registerReceiver(mPackagesUpdatedReceiver, mFilter, + Context.RECEIVER_NOT_EXPORTED); } @Override diff --git a/tests/MultiDisplaySecondaryHomeTestLauncher/src/com/android/car/multidisplay/launcher/PackageIntentReceiver.java b/tests/MultiDisplaySecondaryHomeTestLauncher/src/com/android/car/multidisplay/launcher/PackageIntentReceiver.java index 80287dd2ca..915d957c2b 100644 --- a/tests/MultiDisplaySecondaryHomeTestLauncher/src/com/android/car/multidisplay/launcher/PackageIntentReceiver.java +++ b/tests/MultiDisplaySecondaryHomeTestLauncher/src/com/android/car/multidisplay/launcher/PackageIntentReceiver.java @@ -16,6 +16,8 @@ package com.android.car.multidisplay.launcher; +import static android.content.Context.RECEIVER_NOT_EXPORTED; + import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -34,13 +36,13 @@ class PackageIntentReceiver extends BroadcastReceiver { filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addDataScheme("package"); - context.registerReceiver(this, filter); + context.registerReceiver(this, filter, RECEIVER_NOT_EXPORTED); // Register for events related to sdcard installation. IntentFilter sdFilter = new IntentFilter(); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); - context.registerReceiver(this, sdFilter); + context.registerReceiver(this, sdFilter, RECEIVER_NOT_EXPORTED); } @Override diff --git a/tests/android_car_api_test/src/android/car/apitest/CarMultiUserTestBase.java b/tests/android_car_api_test/src/android/car/apitest/CarMultiUserTestBase.java index 3bb59bdc36..eecda46608 100644 --- a/tests/android_car_api_test/src/android/car/apitest/CarMultiUserTestBase.java +++ b/tests/android_car_api_test/src/android/car/apitest/CarMultiUserTestBase.java @@ -98,7 +98,7 @@ abstract class CarMultiUserTestBase extends CarApiTestBase { public void onReceive(Context context, Intent intent) { mUserRemoveLatch.countDown(); } - }, filter); + }, filter, Context.RECEIVER_NOT_EXPORTED); List<UserInfo> users = mUserManager.getAliveUsers(); diff --git a/tests/carservice_test/src/androidx/car/app/activity/CarAppActivity.java b/tests/carservice_test/src/androidx/car/app/activity/CarAppActivity.java index 12f4fc7cd7..1a63d17259 100644 --- a/tests/carservice_test/src/androidx/car/app/activity/CarAppActivity.java +++ b/tests/carservice_test/src/androidx/car/app/activity/CarAppActivity.java @@ -62,9 +62,10 @@ public class CarAppActivity extends Activity { if (getIntent().getBooleanExtra(BUNDLE_KEY_IS_SECOND_INSTANCE, false)) { getActionBar().setTitle(SECOND_INSTANCE_TITLE); } - this.registerReceiver(mShowDialogReceiver, new IntentFilter(ACTION_SHOW_DIALOG)); + this.registerReceiver(mShowDialogReceiver, new IntentFilter(ACTION_SHOW_DIALOG), + Context.RECEIVER_NOT_EXPORTED); this.registerReceiver(mStartSecondInstanceReceiver, - new IntentFilter(ACTION_START_SECOND_INSTANCE)); + new IntentFilter(ACTION_START_SECOND_INSTANCE), Context.RECEIVER_NOT_EXPORTED); } @Override diff --git a/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java b/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java index 0a5614d240..149ad3ff8e 100644 --- a/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java +++ b/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java @@ -24,6 +24,7 @@ import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.fail; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.never; @@ -179,7 +180,7 @@ public class CarLocationServiceTest { ArgumentCaptor<IntentFilter> intentFilterArgument = ArgumentCaptor.forClass( IntentFilter.class); verify(mMockContext).registerReceiver(eq(mCarLocationService), - intentFilterArgument.capture()); + intentFilterArgument.capture(), anyInt()); verify(mMockCarDrivingStateService).registerDrivingStateChangeListener(any()); verify(mMockPerUserCarServiceHelper).registerServiceCallback(any()); IntentFilter intentFilter = intentFilterArgument.getValue(); diff --git a/tests/carservice_unit_test/src/com/android/car/user/CarUserNoticeServiceTest.java b/tests/carservice_unit_test/src/com/android/car/user/CarUserNoticeServiceTest.java index 412e2b187f..710b64d05d 100644 --- a/tests/carservice_unit_test/src/com/android/car/user/CarUserNoticeServiceTest.java +++ b/tests/carservice_unit_test/src/com/android/car/user/CarUserNoticeServiceTest.java @@ -138,7 +138,7 @@ public class CarUserNoticeServiceTest extends AbstractExtendedMockitoCarServiceT verify(mMockCarUserService).addUserLifecycleListener( mUserLifecycleListenerArgumentCaptor.capture()); verify(mMockContext).registerReceiver(mDisplayBroadcastReceiver.capture(), - any(IntentFilter.class)); + any(IntentFilter.class), anyInt()); verify(mCarPowerManager).setListener(mPowerStateListener.capture()); when(mMockContext.bindServiceAsUser(any(), any(), anyInt(), any())).thenReturn(true); doAnswer(invocation -> mIsKeyguardLocked) @@ -154,7 +154,7 @@ public class CarUserNoticeServiceTest extends AbstractExtendedMockitoCarServiceT CarUserNoticeService otherService = new CarUserNoticeService(mOtherMockContext); otherService.init(); - verify(mOtherMockContext, never()).registerReceiver(any(), any()); + verify(mOtherMockContext, never()).registerReceiver(any(), any(), anyInt()); } @Test diff --git a/tests/usb/AoapHostApp/src/com/google/android/car/usb/aoap/host/UsbAoapHostActivity.java b/tests/usb/AoapHostApp/src/com/google/android/car/usb/aoap/host/UsbAoapHostActivity.java index c169e949be..3dd136e746 100644 --- a/tests/usb/AoapHostApp/src/com/google/android/car/usb/aoap/host/UsbAoapHostActivity.java +++ b/tests/usb/AoapHostApp/src/com/google/android/car/usb/aoap/host/UsbAoapHostActivity.java @@ -61,7 +61,7 @@ public class UsbAoapHostActivity extends Activity IntentFilter filter = new IntentFilter(); filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED); mReceiver = new UsbStateReceiver(); - registerReceiver(mReceiver, filter); + registerReceiver(mReceiver, filter, Context.RECEIVER_NOT_EXPORTED); Intent intent = getIntent(); if (intent.getAction().equals(UsbManager.ACTION_USB_DEVICE_ATTACHED)) { |