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

Commit d0dd63dc authored by Jeff Brown's avatar Jeff Brown
Browse files

Tweak overlay display adapter scaling.

Change-Id: I330fc019c5b3f4e03369e6f1c1a839a33f6ce0e3
parent 29d8d267
Loading
Loading
Loading
Loading
+14 −6
Original line number Original line Diff line number Diff line
@@ -53,6 +53,7 @@ import java.util.regex.Pattern;
 */
 */
public final class OverlayDisplayAdapter extends DisplayAdapter {
public final class OverlayDisplayAdapter extends DisplayAdapter {
    private static final String TAG = "OverlayDisplayAdapter";
    private static final String TAG = "OverlayDisplayAdapter";
    private static final boolean DEBUG = false;


    private static final int MIN_WIDTH = 100;
    private static final int MIN_WIDTH = 100;
    private static final int MIN_HEIGHT = 100;
    private static final int MIN_HEIGHT = 100;
@@ -259,6 +260,10 @@ public final class OverlayDisplayAdapter extends DisplayAdapter {
            pw.println("    mWindowY=" + mWindowY);
            pw.println("    mWindowY=" + mWindowY);
            pw.println("    mWindowScale=" + mWindowScale);
            pw.println("    mWindowScale=" + mWindowScale);
            pw.println("    mWindowParams=" + mWindowParams);
            pw.println("    mWindowParams=" + mWindowParams);
            if (mTextureView != null) {
                pw.println("    mTextureView.getScaleX()=" + mTextureView.getScaleX());
                pw.println("    mTextureView.getScaleY()=" + mTextureView.getScaleY());
            }
            pw.println("    mLiveTranslationX=" + mLiveTranslationX);
            pw.println("    mLiveTranslationX=" + mLiveTranslationX);
            pw.println("    mLiveTranslationY=" + mLiveTranslationY);
            pw.println("    mLiveTranslationY=" + mLiveTranslationY);
            pw.println("    mLiveScale=" + mLiveScale);
            pw.println("    mLiveScale=" + mLiveScale);
@@ -328,12 +333,8 @@ public final class OverlayDisplayAdapter extends DisplayAdapter {


        private void updateWindowParams() {
        private void updateWindowParams() {
            float scale = mWindowScale * mLiveScale;
            float scale = mWindowScale * mLiveScale;
            if (mWidth * scale > mDefaultDisplayInfo.logicalWidth) {
            scale = Math.min(scale, (float)mDefaultDisplayInfo.logicalWidth / mWidth);
                scale = mDefaultDisplayInfo.logicalWidth / mWidth;
            scale = Math.min(scale, (float)mDefaultDisplayInfo.logicalHeight / mHeight);
            }
            if (mHeight * scale > mDefaultDisplayInfo.logicalHeight) {
                scale = mDefaultDisplayInfo.logicalHeight / mHeight;
            }
            scale = Math.max(MIN_SCALE, Math.min(MAX_SCALE, scale));
            scale = Math.max(MIN_SCALE, Math.min(MAX_SCALE, scale));


            float offsetScale = (scale / mWindowScale - 1.0f) * 0.5f;
            float offsetScale = (scale / mWindowScale - 1.0f) * 0.5f;
@@ -344,6 +345,13 @@ public final class OverlayDisplayAdapter extends DisplayAdapter {
            x = Math.max(0, Math.min(x, mDefaultDisplayInfo.logicalWidth - width));
            x = Math.max(0, Math.min(x, mDefaultDisplayInfo.logicalWidth - width));
            y = Math.max(0, Math.min(y, mDefaultDisplayInfo.logicalHeight - height));
            y = Math.max(0, Math.min(y, mDefaultDisplayInfo.logicalHeight - height));


            if (DEBUG) {
                Slog.d(TAG, "updateWindowParams: scale=" + scale
                        + ", offsetScale=" + offsetScale
                        + ", x=" + x + ", y=" + y
                        + ", width=" + width + ", height=" + height);
            }

            mTextureView.setScaleX(scale);
            mTextureView.setScaleX(scale);
            mTextureView.setScaleY(scale);
            mTextureView.setScaleY(scale);