From c8796858a2cbbaa2e649febd04d531beb87d8f5d Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Wed, 13 May 2020 15:13:30 -0400 Subject: Controls a11y - Various fixes 1. Update content description for transient errors 2. Fix favorite/edit titles 3. Fix EditText long-clickable 4. Set the title of a dialog instead of the message Fixes: 155946185 Fixes: 155940950 Fixes: 155948409 Fixes: 155948473 Test: Talkback Change-Id: Ibd172f29cd3854eb6607b443594a9f21d0f2e735 --- packages/SystemUI/res/layout/controls_dialog_pin.xml | 1 + .../systemui/controls/management/ControlsEditingActivity.kt | 1 + .../systemui/controls/management/ControlsFavoritingActivity.kt | 2 +- .../src/com/android/systemui/controls/ui/ChallengeDialogs.kt | 2 +- .../src/com/android/systemui/controls/ui/ControlViewHolder.kt | 8 ++++++-- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/res/layout/controls_dialog_pin.xml b/packages/SystemUI/res/layout/controls_dialog_pin.xml index 832c48e509f5..170b32b6c669 100644 --- a/packages/SystemUI/res/layout/controls_dialog_pin.xml +++ b/packages/SystemUI/res/layout/controls_dialog_pin.xml @@ -26,6 +26,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="48dp" + android:longClickable="false" android:inputType="numberPassword" /> (R.id.title).text = structure + setTitle(structure) subtitle = requireViewById(R.id.subtitle).apply { setText(SUBTITLE_ID) } diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt index eb15262acf74..496b21b612fe 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt @@ -208,7 +208,7 @@ class ControlsFavoritingActivity @Inject constructor( val name = listOfStructures[position].structureName val title = if (!TextUtils.isEmpty(name)) name else appName titleView.text = title - setTitle(title) + titleView.requestFocus() } override fun onPageScrolled( diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ChallengeDialogs.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ChallengeDialogs.kt index b6c09f124f77..6c28d11df655 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ChallengeDialogs.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ChallengeDialogs.kt @@ -124,7 +124,7 @@ object ChallengeDialogs { } val builder = AlertDialog.Builder(cvh.context, STYLE).apply { val res = cvh.context.resources - setMessage(res.getString( + setTitle(res.getString( R.string.controls_confirmation_message, cvh.title.getText())) setPositiveButton( android.R.string.ok, diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt index 1bcf10c36767..17e423416064 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt @@ -145,8 +145,7 @@ class ControlViewHolder( } behavior = bindBehavior(behavior, findBehaviorClass(controlStatus, template, deviceType)) - - layout.setContentDescription("${title.text} ${subtitle.text} ${status.text}") + updateContentDescription() } fun actionResponse(@ControlAction.ResponseResult response: Int) { @@ -191,11 +190,16 @@ class ControlViewHolder( cancelUpdate = uiExecutor.executeDelayed({ status.setText(previousText) + updateContentDescription() }, UPDATE_DELAY_IN_MILLIS) status.setText(tempStatus) + updateContentDescription() } + private fun updateContentDescription() = + layout.setContentDescription("${title.text} ${subtitle.text} ${status.text}") + fun action(action: ControlAction) { lastAction = action controlsController.action(cws.componentName, cws.ci, action) -- cgit v1.2.3-59-g8ed1b