diff options
author | Jimmy Chen <jimmycmchen@google.com> | 2021-04-01 01:42:28 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-04-01 01:42:28 +0000 |
commit | e851fc58d6529af7cd9ae4ed1d61825440815fe4 (patch) | |
tree | 64fe4a927b18ce2f418187324dd15fe419510047 | |
parent | 39c49f8daa74246edae54c32ecea4dbcfab9ae8d (diff) | |
parent | fd8b6dabf9435026c867025eb3c6a85a07818f2f (diff) | |
download | base-e851fc58d6529af7cd9ae4ed1d61825440815fe4.tar.gz |
Merge "wifidisplay: restrict broadcast by the proper permission" into rvc-qpr-dev
-rw-r--r-- | core/java/android/hardware/display/DisplayManager.java | 3 | ||||
-rw-r--r-- | services/core/java/com/android/server/display/WifiDisplayAdapter.java | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java index 0fa4ca8a574b..cfacd5d97bcb 100644 --- a/core/java/android/hardware/display/DisplayManager.java +++ b/core/java/android/hardware/display/DisplayManager.java @@ -61,6 +61,9 @@ public final class DisplayManager { * {@link #EXTRA_WIFI_DISPLAY_STATUS} extra. * </p><p> * This broadcast is only sent to registered receivers and can only be sent by the system. + * </p><p> + * {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permission is required to + * receive this broadcast. * </p> * @hide */ diff --git a/services/core/java/com/android/server/display/WifiDisplayAdapter.java b/services/core/java/com/android/server/display/WifiDisplayAdapter.java index 57323170b327..551df49b550f 100644 --- a/services/core/java/com/android/server/display/WifiDisplayAdapter.java +++ b/services/core/java/com/android/server/display/WifiDisplayAdapter.java @@ -91,6 +91,10 @@ final class WifiDisplayAdapter extends DisplayAdapter { private boolean mPendingStatusChangeBroadcast; + private static final String[] RECEIVER_PERMISSIONS_FOR_BROADCAST = { + android.Manifest.permission.ACCESS_FINE_LOCATION, + }; + // Called with SyncRoot lock held. public WifiDisplayAdapter(DisplayManagerService.SyncRoot syncRoot, Context context, Handler handler, Listener listener, @@ -432,7 +436,8 @@ final class WifiDisplayAdapter extends DisplayAdapter { } // Send protected broadcast about wifi display status to registered receivers. - getContext().sendBroadcastAsUser(intent, UserHandle.ALL); + getContext().createContextAsUser(UserHandle.ALL, 0) + .sendBroadcastWithMultiplePermissions(intent, RECEIVER_PERMISSIONS_FOR_BROADCAST); } private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { |