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

Commit 5e6fbf26 authored by Alan Viverette's avatar Alan Viverette Committed by Android Git Automerger
Browse files

am fa4c935e: am 239a0c0e: Ensure ViewRootImpl.setAccessibilityFocus() doesn\'t...

am fa4c935e: am 239a0c0e: Ensure ViewRootImpl.setAccessibilityFocus() doesn\'t crash when reentrant.

* commit 'fa4c935e':
  Ensure ViewRootImpl.setAccessibilityFocus() doesn't crash when reentrant.
parents f4b94a7c fa4c935e
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -2671,7 +2671,6 @@ public final class ViewRootImpl implements ViewParent,


            AccessibilityNodeInfo focusNode = mAccessibilityFocusedVirtualView;
            AccessibilityNodeInfo focusNode = mAccessibilityFocusedVirtualView;
            View focusHost = mAccessibilityFocusedHost;
            View focusHost = mAccessibilityFocusedHost;
            focusHost.clearAccessibilityFocusNoCallbacks();


            // Wipe the state of the current accessibility focus since
            // Wipe the state of the current accessibility focus since
            // the call into the provider to clear accessibility focus
            // the call into the provider to clear accessibility focus
@@ -2681,6 +2680,10 @@ public final class ViewRootImpl implements ViewParent,
            mAccessibilityFocusedHost = null;
            mAccessibilityFocusedHost = null;
            mAccessibilityFocusedVirtualView = null;
            mAccessibilityFocusedVirtualView = null;


            // Clear accessibility focus on the host after clearing state since
            // this method may be reentrant.
            focusHost.clearAccessibilityFocusNoCallbacks();

            AccessibilityNodeProvider provider = focusHost.getAccessibilityNodeProvider();
            AccessibilityNodeProvider provider = focusHost.getAccessibilityNodeProvider();
            if (provider != null) {
            if (provider != null) {
                // Invalidate the area of the cleared accessibility focus.
                // Invalidate the area of the cleared accessibility focus.