Add required flags to registerReceiver calls in sysui
Android T adds support to allow a runtime receiver to be registered as not exported, but to ensure apps can take advantage of this, calls to registerReceiver must specify a flag indicating whether the receiver should be exported for apps targeting T+ that are registering for non-system broadcasts. This commit adds the RECEIVER_EXPORTED flag to the receiver in DebugModeFilterProvider since this broadcast is expected from the shell for debuggable builds, and the RECEIVER_NOT_EXPORTED flag to the receiver in ControlsControllerImpl as this broadcast is sent from the local app. Bug: 161145287 Test: Build Change-Id: I346b6ce4e1dd4e4d2f07953c284c5a1809982e35
This commit is contained in:
@@ -244,7 +244,8 @@ class ControlsControllerImpl @Inject constructor (
|
||||
restoreFinishedReceiver,
|
||||
IntentFilter(BackupHelper.ACTION_RESTORE_FINISHED),
|
||||
PERMISSION_SELF,
|
||||
null
|
||||
null,
|
||||
Context.RECEIVER_NOT_EXPORTED
|
||||
)
|
||||
listingController.addCallback(listingCallback)
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ class DebugModeFilterProvider @Inject constructor(
|
||||
if (needsInitialization) {
|
||||
val filter = IntentFilter().apply { addAction(ACTION_SET_NOTIF_DEBUG_MODE) }
|
||||
val permission = NOTIF_DEBUG_MODE_PERMISSION
|
||||
context.registerReceiver(mReceiver, filter, permission, null)
|
||||
context.registerReceiver(mReceiver, filter, permission, null, Context.RECEIVER_EXPORTED)
|
||||
Log.d(TAG, "Registered: $mReceiver")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user