Add required flag to receiver in VideoModule 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 and 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 the receiver with the RECEIVER_EXPORTED flag since the broadcast is sent from the media provider. Bug: 234659204 Test: Build Change-Id: I227e8d9e2ace18119a37ddb0c2c4ddf4c3be6209
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index abbae52..e56e0f7 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java
@@ -858,7 +858,7 @@ intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED); intentFilter.addDataScheme("file"); mReceiver = new MyBroadcastReceiver(); - mActivity.registerReceiver(mReceiver, intentFilter); + mActivity.registerReceiver(mReceiver, intentFilter, Context.RECEIVER_EXPORTED); } private void setDisplayOrientation() {