Added Semantic header support on Android. (flutter/engine#13262)

Added Semantic header support on Android.
This commit is contained in:
Darren Austin 2019-11-05 15:27:25 -08:00 committed by GitHub
parent b9c225a35d
commit bb82d46bdb

View File

@ -4,6 +4,7 @@
package io.flutter.view;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.content.ContentResolver;
import android.database.ContentObserver;
@ -489,6 +490,8 @@ public class AccessibilityBridge extends AccessibilityNodeProvider {
*/
@Override
@SuppressWarnings("deprecation")
// Supressing Lint warning for new API, as we are version guarding all calls to newer APIs
@SuppressLint("NewApi")
public AccessibilityNodeInfo createAccessibilityNodeInfo(int virtualViewId) {
if (virtualViewId >= MIN_ENGINE_GENERATED_NODE_ID) {
// The node is in the engine generated range, and is provided by the accessibility view embedder.
@ -753,6 +756,11 @@ public class AccessibilityBridge extends AccessibilityNodeProvider {
result.setSelected(semanticsNode.hasFlag(Flag.IS_SELECTED));
// Heading support
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
result.setHeading(semanticsNode.hasFlag(Flag.IS_HEADER));
}
// Accessibility Focus
if (accessibilityFocusedSemanticsNode != null && accessibilityFocusedSemanticsNode.id == virtualViewId) {
result.addAction(AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS);