Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aff9c765 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android Git Automerger
Browse files

am 8a28c2c2: am d1f765c0: Merge "Fix restoration of virtual accessibility...

am 8a28c2c2: am d1f765c0: Merge "Fix restoration of virtual accessibility focus in ListView." into jb-mr2-dev

* commit '8a28c2c2':
  Fix restoration of virtual accessibility focus in ListView.
parents 8844892a 8a28c2c2
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.view.ViewParent;
import android.view.ViewRootImpl;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeProvider;
import android.widget.RemoteViews.RemoteView;

import java.util.ArrayList;
@@ -1715,11 +1716,17 @@ public class ListView extends AbsListView {
            }

            // Attempt to restore accessibility focus.
            if (accessibilityFocusLayoutRestoreNode != null) {
                accessibilityFocusLayoutRestoreNode.performAction(
                        AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS);
            } else if (accessibilityFocusLayoutRestoreView != null) {
            if (accessibilityFocusLayoutRestoreView != null) {
                final AccessibilityNodeProvider provider =
                        accessibilityFocusLayoutRestoreView.getAccessibilityNodeProvider();
                if ((accessibilityFocusLayoutRestoreNode != null) && (provider != null)) {
                    final int virtualViewId = AccessibilityNodeInfo.getVirtualDescendantId(
                            accessibilityFocusLayoutRestoreNode.getSourceNodeId());
                    provider.performAction(virtualViewId,
                            AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null);
                } else {
                    accessibilityFocusLayoutRestoreView.requestAccessibilityFocus();
                }
            } else if (accessibilityFocusPosition != INVALID_POSITION) {
                // Bound the position within the visible children.
                final int position = MathUtils.constrain(