Loading core/java/android/view/ViewRootImpl.java +18 −13 Original line number Diff line number Diff line Loading @@ -2504,28 +2504,35 @@ public final class ViewRootImpl implements ViewParent, * @param canvas The canvas on which to draw. */ private void drawAccessibilityFocusedDrawableIfNeeded(Canvas canvas) { AccessibilityManager manager = AccessibilityManager.getInstance(mView.mContext); if (!mAttachInfo.mHasWindowFocus) { return; } final AccessibilityManager manager = AccessibilityManager.getInstance(mView.mContext); if (!manager.isEnabled() || !manager.isTouchExplorationEnabled()) { return; } if (mAccessibilityFocusedHost == null || mAccessibilityFocusedHost.mAttachInfo == null) { final View host = mAccessibilityFocusedHost; if (host == null || host.mAttachInfo == null) { return; } Drawable drawable = getAccessibilityFocusedDrawable(); final Drawable drawable = getAccessibilityFocusedDrawable(); if (drawable == null) { return; } AccessibilityNodeProvider provider = mAccessibilityFocusedHost.getAccessibilityNodeProvider(); Rect bounds = mView.mAttachInfo.mTmpInvalRect; final AccessibilityNodeProvider provider = host.getAccessibilityNodeProvider(); final Rect bounds = mView.mAttachInfo.mTmpInvalRect; if (provider == null) { mAccessibilityFocusedHost.getBoundsOnScreen(bounds); host.getBoundsOnScreen(bounds); } else if (mAccessibilityFocusedVirtualView != null) { mAccessibilityFocusedVirtualView.getBoundsInScreen(bounds); } else { if (mAccessibilityFocusedVirtualView == null) { return; } mAccessibilityFocusedVirtualView.getBoundsInScreen(bounds); } bounds.offset(-mAttachInfo.mWindowLeft, -mAttachInfo.mWindowTop); bounds.intersect(0, 0, mAttachInfo.mViewRootImpl.mWidth, mAttachInfo.mViewRootImpl.mHeight); drawable.setBounds(bounds); Loading Loading @@ -3133,8 +3140,6 @@ public final class ViewRootImpl implements ViewParent, mHasHadWindowFocus = true; } setAccessibilityFocus(null, null); if (mView != null && mAccessibilityManager.isEnabled()) { if (hasWindowFocus) { mView.sendAccessibilityEvent( Loading Loading
core/java/android/view/ViewRootImpl.java +18 −13 Original line number Diff line number Diff line Loading @@ -2504,28 +2504,35 @@ public final class ViewRootImpl implements ViewParent, * @param canvas The canvas on which to draw. */ private void drawAccessibilityFocusedDrawableIfNeeded(Canvas canvas) { AccessibilityManager manager = AccessibilityManager.getInstance(mView.mContext); if (!mAttachInfo.mHasWindowFocus) { return; } final AccessibilityManager manager = AccessibilityManager.getInstance(mView.mContext); if (!manager.isEnabled() || !manager.isTouchExplorationEnabled()) { return; } if (mAccessibilityFocusedHost == null || mAccessibilityFocusedHost.mAttachInfo == null) { final View host = mAccessibilityFocusedHost; if (host == null || host.mAttachInfo == null) { return; } Drawable drawable = getAccessibilityFocusedDrawable(); final Drawable drawable = getAccessibilityFocusedDrawable(); if (drawable == null) { return; } AccessibilityNodeProvider provider = mAccessibilityFocusedHost.getAccessibilityNodeProvider(); Rect bounds = mView.mAttachInfo.mTmpInvalRect; final AccessibilityNodeProvider provider = host.getAccessibilityNodeProvider(); final Rect bounds = mView.mAttachInfo.mTmpInvalRect; if (provider == null) { mAccessibilityFocusedHost.getBoundsOnScreen(bounds); host.getBoundsOnScreen(bounds); } else if (mAccessibilityFocusedVirtualView != null) { mAccessibilityFocusedVirtualView.getBoundsInScreen(bounds); } else { if (mAccessibilityFocusedVirtualView == null) { return; } mAccessibilityFocusedVirtualView.getBoundsInScreen(bounds); } bounds.offset(-mAttachInfo.mWindowLeft, -mAttachInfo.mWindowTop); bounds.intersect(0, 0, mAttachInfo.mViewRootImpl.mWidth, mAttachInfo.mViewRootImpl.mHeight); drawable.setBounds(bounds); Loading Loading @@ -3133,8 +3140,6 @@ public final class ViewRootImpl implements ViewParent, mHasHadWindowFocus = true; } setAccessibilityFocus(null, null); if (mView != null && mAccessibilityManager.isEnabled()) { if (hasWindowFocus) { mView.sendAccessibilityEvent( Loading