Merge "Revert "Fix the op mode dependency for the second toggle:"" into main

This commit is contained in:
Faye Yan
2024-01-26 18:35:41 +00:00
committed by Android (Google) Code Review

View File

@@ -56,12 +56,9 @@ class VoiceActivationAppsListModel(context: Context) : AppOpPermissionListModel(
override val appOp = AppOpsManager.OP_RECEIVE_SANDBOX_TRIGGER_AUDIO override val appOp = AppOpsManager.OP_RECEIVE_SANDBOX_TRIGGER_AUDIO
override val permission = Manifest.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO override val permission = Manifest.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO
override val setModeByUid = true override val setModeByUid = true
private var receiveDetectionTrainingDataOpController:AppOpsController? = null
override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) { override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
super.setAllowed(record, newAllowed) super.setAllowed(record, newAllowed)
if (!newAllowed && receiveDetectionTrainingDataOpController != null) {
receiveDetectionTrainingDataOpController!!.setAllowed(false)
}
logPermissionChange(newAllowed) logPermissionChange(newAllowed)
} }
@@ -82,21 +79,20 @@ class VoiceActivationAppsListModel(context: Context) : AppOpPermissionListModel(
isReceiveSandBoxTriggerAudioOpAllowed: () -> Boolean? isReceiveSandBoxTriggerAudioOpAllowed: () -> Boolean?
): ReceiveDetectionTrainingDataOpSwitchModel { ): ReceiveDetectionTrainingDataOpSwitchModel {
val context = LocalContext.current val context = LocalContext.current
receiveDetectionTrainingDataOpController = remember { val ReceiveDetectionTrainingDataOpController = remember {
AppOpsController( AppOpsController(
context = context, context = context,
app = record.app, app = record.app,
op = AppOpsManager.OP_RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA, op = AppOpsManager.OP_RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA,
) )
} }
val isReceiveDetectionTrainingDataOpAllowed = isReceiveDetectionTrainingDataOpAllowed(record, receiveDetectionTrainingDataOpController!!) val isReceiveDetectionTrainingDataOpAllowed = isReceiveDetectionTrainingDataOpAllowed(record, ReceiveDetectionTrainingDataOpController)
return remember(record) { return remember(record) {
ReceiveDetectionTrainingDataOpSwitchModel( ReceiveDetectionTrainingDataOpSwitchModel(
context, context,
record, record,
isReceiveSandBoxTriggerAudioOpAllowed, isReceiveSandBoxTriggerAudioOpAllowed,
receiveDetectionTrainingDataOpController!!, ReceiveDetectionTrainingDataOpController,
isReceiveDetectionTrainingDataOpAllowed, isReceiveDetectionTrainingDataOpAllowed,
) )
}.also { model -> LaunchedEffect(model, Dispatchers.Default) { model.initState() } } }.also { model -> LaunchedEffect(model, Dispatchers.Default) { model.initState() } }