Merge "Don't send mSizeCompatScale to client if it is from SizeCompatBounds" into tm-qpr-dev

This commit is contained in:
Tiger Huang
2022-11-11 05:04:05 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 4 deletions

View File

@@ -1883,7 +1883,7 @@ public class WindowManagerService extends IWindowManager.Stub
// Make this invalid which indicates a null attached frame. // Make this invalid which indicates a null attached frame.
outAttachedFrame.set(0, 0, -1, -1); outAttachedFrame.set(0, 0, -1, -1);
} }
outSizeCompatScale[0] = win.getSizeCompatScale(); outSizeCompatScale[0] = win.getSizeCompatScaleForClient();
} }
Binder.restoreCallingIdentity(origId); Binder.restoreCallingIdentity(origId);

View File

@@ -1265,8 +1265,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
mGlobalScale = mInvGlobalScale = mSizeCompatScale = 1f; mGlobalScale = mInvGlobalScale = mSizeCompatScale = 1f;
} }
float getSizeCompatScale() { float getSizeCompatScaleForClient() {
return mSizeCompatScale; // If the size compat scale is because of the size compat bounds, we only scale down its
// coordinates at the server side without letting the client know.
return mToken.hasSizeCompatBounds() ? 1f : mSizeCompatScale;
} }
/** /**
@@ -3863,7 +3865,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
outFrames.attachedFrame.scale(mInvGlobalScale); outFrames.attachedFrame.scale(mInvGlobalScale);
} }
} }
outFrames.sizeCompatScale = mSizeCompatScale;
outFrames.sizeCompatScale = getSizeCompatScaleForClient();
// Note: in the cases where the window is tied to an activity, we should not send a // Note: in the cases where the window is tied to an activity, we should not send a
// configuration update when the window has requested to be hidden. Doing so can lead to // configuration update when the window has requested to be hidden. Doing so can lead to