Fix bug in magnification coordinate calculation.

am: 87d96992ea

Change-Id: Ic7cd78477d023927fdc2664eedb881c9a5a7edf3
This commit is contained in:
Phil Weaver
2016-09-17 00:21:46 +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);