diff options
2 files changed, 25 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/ShortcutCustomizationDialogStarter.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/ShortcutCustomizationDialogStarter.kt index a16b4a6892b4..f1945e657d52 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/ShortcutCustomizationDialogStarter.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/ShortcutCustomizationDialogStarter.kt @@ -17,6 +17,7 @@ package com.android.systemui.keyboard.shortcut.ui import android.app.Dialog +import android.content.res.Resources import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_ALLOW_ACTION_KEY_EVENTS import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width @@ -26,6 +27,7 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCustomizationRequestInfo import com.android.systemui.keyboard.shortcut.ui.composable.ShortcutCustomizationDialog import com.android.systemui.keyboard.shortcut.ui.model.ShortcutCustomizationUiState @@ -34,6 +36,8 @@ import com.android.systemui.keyboard.shortcut.ui.model.ShortcutCustomizationUiSt import com.android.systemui.keyboard.shortcut.ui.model.ShortcutCustomizationUiState.ResetShortcutDialog import com.android.systemui.keyboard.shortcut.ui.viewmodel.ShortcutCustomizationViewModel import com.android.systemui.lifecycle.ExclusiveActivatable +import com.android.systemui.res.R +import com.android.systemui.statusbar.phone.SystemUIDialog import com.android.systemui.statusbar.phone.SystemUIDialogFactory import com.android.systemui.statusbar.phone.create import dagger.assisted.AssistedFactory @@ -46,6 +50,7 @@ class ShortcutCustomizationDialogStarter constructor( viewModelFactory: ShortcutCustomizationViewModel.Factory, private val dialogFactory: SystemUIDialogFactory, + @Main private val resources: Resources, ) : ExclusiveActivatable() { private var dialog: Dialog? = null @@ -97,14 +102,28 @@ constructor( coroutineScope.launch { viewModel.resetAllCustomShortcuts() } }, ) - dialog.setOnDismissListener { viewModel.onDialogDismissed() } - - // By default, apps cannot intercept action key. The system always handles it. This - // flag is needed to enable customisation dialog window to intercept action key - dialog.window?.addPrivateFlags(PRIVATE_FLAG_ALLOW_ACTION_KEY_EVENTS) + setDialogProperties(dialog, uiState) } } + private fun setDialogProperties(dialog: SystemUIDialog, uiState: ShortcutCustomizationUiState) { + dialog.setOnDismissListener { viewModel.onDialogDismissed() } + dialog.setTitle( + resources.getString( + when (uiState) { + is AddShortcutDialog -> + R.string.shortcut_customize_mode_add_shortcut_description + is DeleteShortcutDialog -> + R.string.shortcut_customize_mode_remove_shortcut_description + else -> R.string.shortcut_customize_mode_reset_shortcut_description + } + ) + ) + // By default, apps cannot intercept action key. The system always handles it. This + // flag is needed to enable customisation dialog window to intercept action key + dialog.window?.addPrivateFlags(PRIVATE_FLAG_ALLOW_ACTION_KEY_EVENTS) + } + @AssistedFactory interface Factory { fun create(): ShortcutCustomizationDialogStarter diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt index 3df3ee983ecf..60a6f3d904d4 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt @@ -211,6 +211,7 @@ val Kosmos.shortcutCustomizationDialogStarterFactory by return ShortcutCustomizationDialogStarter( shortcutCustomizationViewModelFactory, systemUIDialogFactory, + mainResources, ) } } |