Merge "wifidisplay: restrict broadcast by the proper permission" into rvc-qpr-dev am: e851fc58d6

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13824713

Change-Id: I128bd35ad9dea6d9085f746790af2c1bc2344b47
This commit is contained in:
Jimmy Chen
2021-04-01 02:35:18 +00:00
committed by Automerger Merge Worker
2 changed files with 9 additions and 1 deletions

View File

@@ -62,6 +62,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
*/

View File

@@ -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() {