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

Commit fe3442d3 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Fix minimized dock" into nyc-dev

parents 7c8bf0f5 ef92d6fd
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -97,6 +97,9 @@ public class Divider extends SystemUI {
                if (mVisible != visible) {
                    mVisible = visible;
                    mView.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);

                    // Update state because animations won't finish.
                    mView.setMinimizedDockStack(mMinimized);
                }
            }
        });
+4 −1
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ public class DividerView extends FrameLayout implements OnTouchListener,
    private ValueAnimator mCurrentAnimator;
    private boolean mEntranceAnimationRunning;
    private GestureDetector mGestureDetector;
    private boolean mDockedStackMinimized;

    private final AccessibilityDelegate mHandleDelegate = new AccessibilityDelegate() {
        @Override
@@ -538,6 +539,7 @@ public class DividerView extends FrameLayout implements OnTouchListener,
                    : mBackground.getWidth());
            mBackground.setScaleX(MINIMIZE_DOCK_SCALE);
        }
        mDockedStackMinimized = minimized;
    }

    public void setMinimizedDockStack(boolean minimized, long animDuration) {
@@ -566,6 +568,7 @@ public class DividerView extends FrameLayout implements OnTouchListener,
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .setDuration(animDuration)
                .start();
        mDockedStackMinimized = minimized;
    }

    private void resetBackground() {
@@ -883,7 +886,7 @@ public class DividerView extends FrameLayout implements OnTouchListener,

    public final void onBusEvent(UndockingTaskEvent undockingTaskEvent) {
        int dockSide = mWindowManagerProxy.getDockSide();
        if (dockSide != WindowManager.DOCKED_INVALID) {
        if (dockSide != WindowManager.DOCKED_INVALID && !mDockedStackMinimized) {
            startDragging(false /* animate */, false /* touching */);
            SnapTarget target = dockSideTopLeft(dockSide)
                    ? mSnapAlgorithm.getDismissEndTarget()
+8 −3
Original line number Diff line number Diff line
@@ -243,6 +243,9 @@ public class DockedStackDividerController implements DimLayerUser {
            }
        }
        mDockedStackListeners.finishBroadcast();
        if (!exists) {
            setMinimizedDockedStack(false);
        }
    }

    void notifyDockedStackMinimizedChanged(boolean minimizedDock, long animDuration) {
@@ -263,6 +266,7 @@ public class DockedStackDividerController implements DimLayerUser {
        notifyDockedDividerVisibilityChanged(wasVisible());
        notifyDockedStackExistsChanged(
                mDisplayContent.mService.mStackIdToStack.get(DOCKED_STACK_ID) != null);
        notifyDockedStackMinimizedChanged(mMinimizedDock, 0 /* animDuration */);
    }

    void setResizeDimLayer(boolean visible, int targetStackId, float alpha) {
@@ -338,12 +342,13 @@ public class DockedStackDividerController implements DimLayerUser {
     * @param animate Whether to animate the change.
     */
    private void setMinimizedDockedStack(boolean minimizedDock, boolean animate) {
        if (minimizedDock == mMinimizedDock
        final boolean wasMinimized = mMinimizedDock;
        mMinimizedDock = minimizedDock;
        if (minimizedDock == wasMinimized
                || mDisplayContent.getDockedStackVisibleForUserLocked() == null) {
            return;
        }

        mMinimizedDock = minimizedDock;
        mAnimatingForIme = false;
        if (minimizedDock) {
            if (animate) {
@@ -369,13 +374,13 @@ public class DockedStackDividerController implements DimLayerUser {

    private void setMinimizedDockedStack(boolean minimized) {
        final TaskStack stack = mDisplayContent.getDockedStackVisibleForUserLocked();
        notifyDockedStackMinimizedChanged(minimized, 0);
        if (stack == null) {
            return;
        }
        if (stack.setAdjustedForMinimizedDock(minimized ? 1f : 0f)) {
            mService.mWindowPlacerLocked.performSurfacePlacement();
        }
        notifyDockedStackMinimizedChanged(minimized, 0);
    }

    private boolean isAnimationMaximizing() {