Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7633540c authored by Shimeng (Simon) Wang's avatar Shimeng (Simon) Wang Committed by Android (Google) Code Review
Browse files

Merge "Keep min/max zoom scale in proportion when zoom density changes." into honeycomb

parents c2ff2ec0 66064914
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -232,13 +232,27 @@ class ZoomManager {
    }

    private void setDefaultZoomScale(float defaultScale) {
        final float originalDefault = mDefaultScale;
        mDefaultScale = defaultScale;
        mInvDefaultScale = 1 / defaultScale;
        mDefaultMaxZoomScale = defaultScale * DEFAULT_MAX_ZOOM_SCALE_FACTOR;
        mDefaultMinZoomScale = defaultScale * DEFAULT_MIN_ZOOM_SCALE_FACTOR;
        if (originalDefault > 0.0 && mMaxZoomScale > 0.0) {
            // Keeps max zoom scale when zoom density changes.
            mMaxZoomScale = defaultScale / originalDefault * mMaxZoomScale;
        } else {
            mMaxZoomScale = mDefaultMaxZoomScale;
        }
        if (originalDefault > 0.0 && mMinZoomScale > 0.0) {
            // Keeps min zoom scale when zoom density changes.
            mMinZoomScale = defaultScale / originalDefault * mMinZoomScale;
        } else {
            mMinZoomScale = mDefaultMinZoomScale;
        }
        if (!exceedsMinScaleIncrement(mMinZoomScale, mMaxZoomScale)) {
            mMaxZoomScale = mMinZoomScale;
        }
    }

    public final float getScale() {
        return mActualScale;
@@ -468,7 +482,7 @@ class ZoomManager {
            mTextWrapScale = scale;
        }

        if (scale != mActualScale || force) {
        if (exceedsMinScaleIncrement(scale, mActualScale) || force) {
            float oldScale = mActualScale;
            float oldInvScale = mInvActualScale;