diff options
| author | Rhed Jao <rhedjao@google.com> | 2018-07-31 02:03:54 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-07-31 02:03:54 +0000 |
| commit | 54e83cd0255c21bfccc8a7c16f3adaa400008d99 (patch) | |
| tree | d654a236c0585c61343c19b387cd0dfce4434492 /core/java/android | |
| parent | e2f5ce74d54f9ab06876d0dbc28a6ca4029cc3b0 (diff) | |
| parent | ca9b526022aca3e1de344709c69f534542dacf1f (diff) | |
Merge "Fix duplicate a11y focus node in AccessibilityCache."
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/accessibility/AccessibilityCache.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/java/android/view/accessibility/AccessibilityCache.java b/core/java/android/view/accessibility/AccessibilityCache.java index 0e1e379d610a..b4d9c53aedb8 100644 --- a/core/java/android/view/accessibility/AccessibilityCache.java +++ b/core/java/android/view/accessibility/AccessibilityCache.java @@ -336,7 +336,13 @@ public class AccessibilityCache { AccessibilityNodeInfo clone = AccessibilityNodeInfo.obtain(info); nodes.put(sourceId, clone); if (clone.isAccessibilityFocused()) { + if (mAccessibilityFocus != AccessibilityNodeInfo.UNDEFINED_ITEM_ID + && mAccessibilityFocus != sourceId) { + refreshCachedNodeLocked(windowId, mAccessibilityFocus); + } mAccessibilityFocus = sourceId; + } else if (mAccessibilityFocus == sourceId) { + mAccessibilityFocus = AccessibilityNodeInfo.UNDEFINED_ITEM_ID; } if (clone.isFocused()) { mInputFocus = sourceId; |
