Skip to content

Commit 00453e7

Browse files
Jeff BrownAndroid (Google) Code Review
authored andcommitted
Merge "Tweak overlay display adapter scaling." into jb-mr1-dev
2 parents 0cc2e9b + d0dd63d commit 00453e7

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

services/java/com/android/server/display/OverlayDisplayAdapter.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
*/
5454
public final class OverlayDisplayAdapter extends DisplayAdapter {
5555
private static final String TAG = "OverlayDisplayAdapter";
56+
private static final boolean DEBUG = false;
5657

5758
private static final int MIN_WIDTH = 100;
5859
private static final int MIN_HEIGHT = 100;
@@ -259,6 +260,10 @@ public void dump(PrintWriter pw) {
259260
pw.println(" mWindowY=" + mWindowY);
260261
pw.println(" mWindowScale=" + mWindowScale);
261262
pw.println(" mWindowParams=" + mWindowParams);
263+
if (mTextureView != null) {
264+
pw.println(" mTextureView.getScaleX()=" + mTextureView.getScaleX());
265+
pw.println(" mTextureView.getScaleY()=" + mTextureView.getScaleY());
266+
}
262267
pw.println(" mLiveTranslationX=" + mLiveTranslationX);
263268
pw.println(" mLiveTranslationY=" + mLiveTranslationY);
264269
pw.println(" mLiveScale=" + mLiveScale);
@@ -328,12 +333,8 @@ private void createWindow() {
328333

329334
private void updateWindowParams() {
330335
float scale = mWindowScale * mLiveScale;
331-
if (mWidth * scale > mDefaultDisplayInfo.logicalWidth) {
332-
scale = mDefaultDisplayInfo.logicalWidth / mWidth;
333-
}
334-
if (mHeight * scale > mDefaultDisplayInfo.logicalHeight) {
335-
scale = mDefaultDisplayInfo.logicalHeight / mHeight;
336-
}
336+
scale = Math.min(scale, (float)mDefaultDisplayInfo.logicalWidth / mWidth);
337+
scale = Math.min(scale, (float)mDefaultDisplayInfo.logicalHeight / mHeight);
337338
scale = Math.max(MIN_SCALE, Math.min(MAX_SCALE, scale));
338339

339340
float offsetScale = (scale / mWindowScale - 1.0f) * 0.5f;
@@ -344,6 +345,13 @@ private void updateWindowParams() {
344345
x = Math.max(0, Math.min(x, mDefaultDisplayInfo.logicalWidth - width));
345346
y = Math.max(0, Math.min(y, mDefaultDisplayInfo.logicalHeight - height));
346347

348+
if (DEBUG) {
349+
Slog.d(TAG, "updateWindowParams: scale=" + scale
350+
+ ", offsetScale=" + offsetScale
351+
+ ", x=" + x + ", y=" + y
352+
+ ", width=" + width + ", height=" + height);
353+
}
354+
347355
mTextureView.setScaleX(scale);
348356
mTextureView.setScaleY(scale);
349357

0 commit comments

Comments
 (0)