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

Commit ea5c1d29 authored by Pat Manning's avatar Pat Manning
Browse files

Prevent edit state workspace scale from hiding next pages.

Fix: 228969651
Test: manual
Change-Id: I0cceb3bfab19e0721b21fb8c55fe1218b1f25af8
parent 4349d212
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -928,6 +928,13 @@ public class DeviceProfile {
        return workspaceSpringLoadShrunkBottom;
    }

    /**
     * Gets the minimum visible amount of the next workspace page when in the spring-loaded state.
     */
    public float getWorkspaceSpringLoadedMinimumNextPageVisible() {
        return getCellSize().x / 2f;
    }

    public int getWorkspaceWidth() {
        return getWorkspaceWidth(getTotalWorkspacePadding());
    }
+9 −1
Original line number Diff line number Diff line
@@ -53,7 +53,15 @@ public class SpringLoadedState extends LauncherState {

        float shrunkTop = grid.getWorkspaceSpringLoadShrunkTop();
        float shrunkBottom = grid.getWorkspaceSpringLoadShrunkBottom();
        float scale = (shrunkBottom - shrunkTop) / ws.getNormalChildHeight();
        float scale = Math.min((shrunkBottom - shrunkTop) / ws.getNormalChildHeight(), 1f);

        // Reduce scale if next pages would not be visible after scaling the workspace
        float scaledWorkspaceWidth = ws.getWidth() * scale;
        float maxAvailableWidth =
                ws.getWidth() - (2 * grid.getWorkspaceSpringLoadedMinimumNextPageVisible());
        if (scaledWorkspaceWidth > maxAvailableWidth) {
            scale *= maxAvailableWidth / scaledWorkspaceWidth;
        }

        float halfHeight = ws.getHeight() / 2;
        float myCenter = ws.getTop() + halfHeight;