Fix bug in magnification coordinate calculation. am: 87d96992ea

am: 77b279df94

Change-Id: I6de095b359e539a530ea29b1155f050410c93c94
This commit is contained in:
Phil Weaver
2016-09-17 00:43:34 +00:00
committed by android-build-merger

View File

@@ -3683,13 +3683,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
Rect boundsInScreen = mTempRect;
focus.getBoundsInScreen(boundsInScreen);
// Clip to the window bounds.
Rect windowBounds = mTempRect1;
getWindowBounds(focus.getWindowId(), windowBounds);
if (!boundsInScreen.intersect(windowBounds)) {
return false;
}
// Apply magnification if needed.
MagnificationSpec spec = getCompatibleMagnificationSpecLocked(focus.getWindowId());
if (spec != null && !spec.isNop()) {
@@ -3697,6 +3690,13 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
boundsInScreen.scale(1 / spec.scale);
}
// Clip to the window bounds.
Rect windowBounds = mTempRect1;
getWindowBounds(focus.getWindowId(), windowBounds);
if (!boundsInScreen.intersect(windowBounds)) {
return false;
}
// Clip to the screen bounds.
Point screenSize = mTempPoint;
mDefaultDisplay.getRealSize(screenSize);