Disable "Reset app preference" during call

Reset app preference will dismiss all the notification, disable
"Reset app preference" during call so in call notification not get
dismissed.

Fix: 342627537
Test: manual - try "Reset app preference" during call
Change-Id: Ida9961ca30dc80c05d4de5bc9faac3203967f3d3
This commit is contained in:
Chaohui Wang
2024-05-28 13:28:10 +08:00
parent 5920567bee
commit 942622575a
2 changed files with 18 additions and 11 deletions

View File

@@ -499,14 +499,13 @@ class SimOnboardingActivity : SpaBaseDialogActivity() {
SettingsAlertDialogWithIcon(
onDismissRequest = cancelAction,
confirmButton = AlertDialogButton(
getString(R.string.sim_onboarding_setup),
nextAction
text = getString(R.string.sim_onboarding_setup),
onClick = nextAction,
),
dismissButton = AlertDialogButton(
text = getString(R.string.sim_onboarding_close),
onClick = cancelAction,
),
dismissButton =
AlertDialogButton(
getString(R.string.sim_onboarding_close),
cancelAction
),
title = stringResource(R.string.sim_onboarding_dialog_starting_title),
icon = {
Icon(

View File

@@ -19,11 +19,14 @@ package com.android.settings.spa.app
import android.os.UserManager
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R
import com.android.settings.applications.manageapplications.ResetAppsHelper
import com.android.settings.network.telephony.CallStateRepository
import com.android.settingslib.spa.widget.dialog.AlertDialogButton
import com.android.settingslib.spa.widget.dialog.AlertDialogPresenter
import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
@@ -35,9 +38,7 @@ import com.android.settingslib.spaprivileged.template.scaffold.RestrictedMenuIte
fun MoreOptionsScope.ResetAppPreferences(onClick: () -> Unit) {
RestrictedMenuItem(
text = stringResource(R.string.reset_app_preferences),
restrictions = remember {
Restrictions(keys = listOf(UserManager.DISALLOW_APPS_CONTROL))
},
restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_APPS_CONTROL)),
onClick = onClick,
)
}
@@ -45,8 +46,15 @@ fun MoreOptionsScope.ResetAppPreferences(onClick: () -> Unit) {
@Composable
fun rememberResetAppDialogPresenter(): AlertDialogPresenter {
val context = LocalContext.current
// Reset app preference will dismiss all the notification, disable "Reset app preference" during
// call so in call notification not get dismissed.
val isInCall by remember { CallStateRepository(context).isInCallFlow() }
.collectAsStateWithLifecycle(initialValue = false)
return rememberAlertDialogPresenter(
confirmButton = AlertDialogButton(stringResource(R.string.reset_app_preferences_button)) {
confirmButton = AlertDialogButton(
text = stringResource(R.string.reset_app_preferences_button),
enabled = !isInCall,
) {
ResetAppsHelper(context).resetApps()
},
dismissButton = AlertDialogButton(stringResource(R.string.cancel)),