Controls a11y - Fix status change update

Content description was being updated before the status
animation. Make sure it's set after. Also, don't specify a range value
if the control is not enabled.

Fixes: 158542017
Test: talkback
Change-Id: I94a07c1fc2b46c6fbdf197d8903e7581122e5d08
This commit is contained in:
Matt Pietal
2020-06-12 13:56:48 -04:00
parent 11e6ef9438
commit 395723d420
2 changed files with 7 additions and 4 deletions

View File

@@ -218,13 +218,11 @@ class ControlViewHolder(
cancelUpdate = uiExecutor.executeDelayed({
animateStatusChange(/* animated */ true, {
setStatusText(previousText, /* immediately */ true)
updateContentDescription()
})
}, UPDATE_DELAY_IN_MILLIS)
animateStatusChange(/* animated */ true, {
setStatusText(tempStatus, /* immediately */ true)
updateContentDescription()
})
}
@@ -296,6 +294,7 @@ class ControlViewHolder(
if (immediately) {
status.alpha = STATUS_ALPHA_ENABLED
status.text = text
updateContentDescription()
}
nextStatusText = text
}
@@ -412,6 +411,8 @@ class ControlViewHolder(
setEnabled(enabled)
status.text = text
updateContentDescription()
status.setTextColor(color)
control?.getCustomIcon()?.let {

View File

@@ -163,8 +163,10 @@ class ToggleRangeBehavior : Behavior {
AccessibilityNodeInfo.RangeInfo.RANGE_TYPE_FLOAT
}
val rangeInfo = AccessibilityNodeInfo.RangeInfo.obtain(type, min, max, current)
info.setRangeInfo(rangeInfo)
if (isChecked) {
val rangeInfo = AccessibilityNodeInfo.RangeInfo.obtain(type, min, max, current)
info.setRangeInfo(rangeInfo)
}
info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_PROGRESS)
}