Add a11y focus on battery chart a11y node.
- Let Talkback annouce the a11y action `Double-tap to ativate`. Bug: 317001884 Test: Talkback Change-Id: Ic383c9639950eb6a69ed7b3e1537a5d95d18ea08
This commit is contained in:
@@ -767,6 +767,10 @@ public class BatteryChartView extends AppCompatImageView implements View.OnClick
|
||||
}
|
||||
|
||||
private class BatteryChartAccessibilityNodeProvider extends AccessibilityNodeProvider {
|
||||
private static final int UNDEFINED = Integer.MIN_VALUE;
|
||||
|
||||
private int mAccessibilityFocusNodeViewId = UNDEFINED;
|
||||
|
||||
@Override
|
||||
public AccessibilityNodeInfo createAccessibilityNodeInfo(int virtualViewId) {
|
||||
if (virtualViewId == AccessibilityNodeProvider.HOST_VIEW_ID) {
|
||||
@@ -794,6 +798,7 @@ public class BatteryChartView extends AppCompatImageView implements View.OnClick
|
||||
R.string.battery_usage_time_info_and_battery_level,
|
||||
slotTimeInfo,
|
||||
batteryLevelInfo));
|
||||
childInfo.setAccessibilityFocused(virtualViewId == mAccessibilityFocusNodeViewId);
|
||||
|
||||
final Rect bounds = new Rect();
|
||||
getBoundsOnScreen(bounds, true);
|
||||
@@ -815,10 +820,14 @@ public class BatteryChartView extends AppCompatImageView implements View.OnClick
|
||||
return true;
|
||||
|
||||
case AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS:
|
||||
mAccessibilityFocusNodeViewId = virtualViewId;
|
||||
return sendAccessibilityEvent(
|
||||
virtualViewId, AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
|
||||
|
||||
case AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS:
|
||||
if (mAccessibilityFocusNodeViewId == virtualViewId) {
|
||||
mAccessibilityFocusNodeViewId = UNDEFINED;
|
||||
}
|
||||
return sendAccessibilityEvent(
|
||||
virtualViewId,
|
||||
AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED);
|
||||
|
Reference in New Issue
Block a user