Makes sure the magnifier source bounds doesn't beyond the surface.

Test: locally verified.
Bug: 150122887
Change-Id: I3df94f0f073197f4a321faac24fa222f9dbb1674
This commit is contained in:
Shu Chen
2020-02-24 22:53:59 +08:00
parent 3f9ddc30d9
commit d06b330767

View File

@@ -353,8 +353,9 @@ public final class Magnifier {
// Gets the startX for new style, which should be bounded by the horizontal bounds.
// Also calculates the left/right cut width for pixel copy.
leftBound += mViewCoordinatesInSurface[0];
rightBound += mViewCoordinatesInSurface[0];
leftBound = Math.max(leftBound + mViewCoordinatesInSurface[0], 0);
rightBound = Math.min(
rightBound + mViewCoordinatesInSurface[0], mContentCopySurface.mWidth);
mLeftCutWidth = Math.max(0, leftBound - startX);
mRightCutWidth = Math.max(0, startX + mSourceWidth - rightBound);
startX = Math.max(startX, leftBound);