Scale using workspace width for handheld device on swiping from home to overview.

Continue to use height to compute scale for two panel home.

Fix: 272735870
Test: manual. Swipe from home to overview.
Change-Id: If7da8c504c389eab3ca337a69eb60dfe28467ed2
This commit is contained in:
Pat Manning
2023-03-10 15:35:15 +00:00
parent cbdd6493f1
commit 616b46ef2e

View File

@@ -75,9 +75,17 @@ public class OverviewState extends LauncherState {
@Override
public ScaleAndTranslation getWorkspaceScaleAndTranslation(Launcher launcher) {
RecentsView recentsView = launcher.getOverviewPanel();
float workspacePageHeight = launcher.getDeviceProfile().getCellLayoutHeight();
recentsView.getTaskSize(sTempRect);
float scale = (float) sTempRect.height() / workspacePageHeight;
float scale;
DeviceProfile deviceProfile = launcher.getDeviceProfile();
if (deviceProfile.isTwoPanels) {
// In two panel layout, width does not include both panels or space between them, so
// use height instead. We do not use height for handheld, as cell layout can be
// shorter than a task and we want the workspace to scale down to task size.
scale = (float) sTempRect.height() / deviceProfile.getCellLayoutHeight();
} else {
scale = (float) sTempRect.width() / deviceProfile.getCellLayoutWidth();
}
float parallaxFactor = 0.5f;
return new ScaleAndTranslation(scale, 0, -getDefaultSwipeHeight(launcher) * parallaxFactor);
}