summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Groover <mpgroover@google.com>2021-12-07 18:01:36 -0800
committerMichael Groover <mpgroover@google.com>2021-12-07 18:01:36 -0800
commit3dd098319c336abd54d333597bfac22d5086e751 (patch)
tree97f5fa795cb82fa89de19d08e2cd771a832ff981
parent2394993421203bbad7e1d5d1c19cffcd71b22cfa (diff)
downloadLegacyCamera-3dd098319c336abd54d333597bfac22d5086e751.tar.gz
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: Ie460232456b691fbbb273eda8d7c4d6da7d98384
-rw-r--r--src/com/android/camera/Camera.java3
-rwxr-xr-xsrc/com/android/camera/VideoCamera.java3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java
index 322ab0d0..dc96854f 100644
--- a/src/com/android/camera/Camera.java
+++ b/src/com/android/camera/Camera.java
@@ -1537,7 +1537,8 @@ public class Camera extends ActivityBase implements FocusManager.Listener,
intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
intentFilter.addAction(Intent.ACTION_MEDIA_CHECKING);
intentFilter.addDataScheme("file");
- registerReceiver(mReceiver, intentFilter);
+ registerReceiver(mReceiver, intentFilter,
+ Context.RECEIVER_EXPORTED_UNAUDITED);
mDidRegister = true;
}
diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java
index b2626ed2..fe98acd0 100755
--- a/src/com/android/camera/VideoCamera.java
+++ b/src/com/android/camera/VideoCamera.java
@@ -864,7 +864,8 @@ public class VideoCamera extends ActivityBase
intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
intentFilter.addDataScheme("file");
mReceiver = new MyBroadcastReceiver();
- registerReceiver(mReceiver, intentFilter);
+ registerReceiver(mReceiver, intentFilter,
+ Context.RECEIVER_EXPORTED_UNAUDITED);
mStorageSpace = Storage.getAvailableSpace();
mHandler.postDelayed(new Runnable() {