diff options
| author | 2024-12-03 00:07:58 +0000 | |
|---|---|---|
| committer | 2024-12-03 18:25:55 +0000 | |
| commit | 8a75c83952d44b0cdb8df34ba4aaedba4ad07431 (patch) | |
| tree | 04744b0d87a9e3f1d65fd8cceead45df76a2a96c | |
| parent | 4ec596d66375938c462563a0580c641a55ecdc38 (diff) | |
Improve content description
This CL adjust content description to match legacy code and makes accessibility behavior similar to the original volume ringer drawer.
Flag: com.android.systemui.volume_redesign
Bug: 369993851
Test: UI checked.
Change-Id: If01c3c28fbf075e116176c82f7bd509f901f564c
| -rw-r--r-- | packages/SystemUI/res/values/strings.xml | 1 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt | 18 |
2 files changed, 16 insertions, 3 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index bc81a4b6bb67..a0c37db847a5 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1812,6 +1812,7 @@ <string name="volume_ringer_change">Tap to change ringer mode</string> <string name="volume_ringer_mode">ringer mode</string> + <string name="volume_ringer_drawer_closed_content_description"><xliff:g id="volume ringer status" example="Ring">%1$s</xliff:g>, tap to change ringer mode </string> <!-- Hint for accessibility. For example: double tap to mute [CHAR_LIMIT=NONE] --> <string name="volume_ringer_hint_mute">mute</string> diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt index f98ad45f30bc..3bd2721dcfe5 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt @@ -196,15 +196,17 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) { uiModel.availableButtons.fastForEachIndexed { index, ringerButton -> ringerButton?.let { val view = getChildAt(count - index - 1) + val isOpen = uiModel.drawerState is RingerDrawerState.Open if (index == uiModel.currentButtonIndex) { view.bindDrawerButton( - uiModel.selectedButton, + if (isOpen) it else uiModel.selectedButton, viewModel, + isOpen, isSelected = true, isAnimated = isAnimated, ) } else { - view.bindDrawerButton(it, viewModel, isAnimated) + view.bindDrawerButton(it, viewModel, isOpen, isAnimated = isAnimated) } } } @@ -214,12 +216,22 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) { private fun View.bindDrawerButton( buttonViewModel: RingerButtonViewModel, viewModel: VolumeDialogRingerDrawerViewModel, + isOpen: Boolean, isSelected: Boolean = false, isAnimated: Boolean = false, ) { + val ringerContentDesc = context.getString(buttonViewModel.contentDescriptionResId) with(requireViewById<ImageButton>(R.id.volume_drawer_button)) { setImageResource(buttonViewModel.imageResId) - contentDescription = context.getString(buttonViewModel.contentDescriptionResId) + contentDescription = + if (isSelected && !isOpen) { + context.getString( + R.string.volume_ringer_drawer_closed_content_description, + ringerContentDesc, + ) + } else { + ringerContentDesc + } if (isSelected && !isAnimated) { setBackgroundResource(R.drawable.volume_drawer_selection_bg) setColorFilter( |