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

Commit e661f400 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Fix background pivot point

Bug: 27859759
Change-Id: Id4d77d3bd17ae96441960717a4ffe0bf4831562e
parent 67533eea
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -171,6 +171,13 @@ public class DividerView extends FrameLayout implements OnTouchListener,
        }
    };

    private final Runnable mResetBackgroundRunnable = new Runnable() {
        @Override
        public void run() {
            resetBackground();
        }
    };

    public DividerView(Context context) {
        super(context);
    }
@@ -519,15 +526,17 @@ public class DividerView extends FrameLayout implements OnTouchListener,
    public void setMinimizedDockStack(boolean minimized) {
        updateDockSide();
        mHandle.setAlpha(minimized ? 0f : 1f);
        if (mDockSide == WindowManager.DOCKED_TOP) {
        if (!minimized) {
            resetBackground();
        } else if (mDockSide == WindowManager.DOCKED_TOP) {
            mBackground.setPivotY(0);
            mBackground.setScaleY(minimized ? MINIMIZE_DOCK_SCALE : 1f);
            mBackground.setScaleY(MINIMIZE_DOCK_SCALE);
        } else if (mDockSide == WindowManager.DOCKED_LEFT
                || mDockSide == WindowManager.DOCKED_RIGHT) {
            mBackground.setPivotX(mDockSide == WindowManager.DOCKED_LEFT
                    ? 0
                    : mBackground.getWidth());
            mBackground.setScaleX(minimized ? MINIMIZE_DOCK_SCALE : 1f);
            mBackground.setScaleX(MINIMIZE_DOCK_SCALE);
        }
    }

@@ -550,12 +559,22 @@ public class DividerView extends FrameLayout implements OnTouchListener,
            mBackground.animate()
                    .scaleX(minimized ? MINIMIZE_DOCK_SCALE : 1f);
        }
        if (!minimized) {
            mBackground.animate().withEndAction(mResetBackgroundRunnable);
        }
        mBackground.animate()
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .setDuration(animDuration)
                .start();
    }

    private void resetBackground() {
        mBackground.setPivotX(mBackground.getWidth() / 2);
        mBackground.setPivotY(mBackground.getHeight() / 2);
        mBackground.setScaleX(1f);
        mBackground.setScaleY(1f);
    }

    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);