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

Commit 528b7413 authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Rename typo divide -> divider

Change-Id: Ieee7bffed2375265aceec29c63e0415df68af64c
parent 07e07a44
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ public class DividerView extends FrameLayout implements View.OnTouchListener {
                nextTarget = snapAlgorithm.getDismissStartTarget();
            }
            if (nextTarget != null) {
                mSplitLayout.snapToTarget(mSplitLayout.getDividePosition(), nextTarget);
                mSplitLayout.snapToTarget(mSplitLayout.getDividerPosition(), nextTarget);
                return true;
            }
            return super.performAccessibilityAction(host, action, args);
@@ -345,9 +345,9 @@ public class DividerView extends FrameLayout implements View.OnTouchListener {
                    mMoving = true;
                }
                if (mMoving) {
                    final int position = mSplitLayout.getDividePosition() + touchPos - mStartPos;
                    final int position = mSplitLayout.getDividerPosition() + touchPos - mStartPos;
                    mLastDraggingPosition = position;
                    mSplitLayout.updateDivideBounds(position);
                    mSplitLayout.updateDividerBounds(position);
                }
                break;
            case MotionEvent.ACTION_UP:
@@ -363,7 +363,7 @@ public class DividerView extends FrameLayout implements View.OnTouchListener {
                final float velocity = isLeftRightSplit
                        ? mVelocityTracker.getXVelocity()
                        : mVelocityTracker.getYVelocity();
                final int position = mSplitLayout.getDividePosition() + touchPos - mStartPos;
                final int position = mSplitLayout.getDividerPosition() + touchPos - mStartPos;
                final DividerSnapAlgorithm.SnapTarget snapTarget =
                        mSplitLayout.findSnapTarget(position, velocity, false /* hardDismiss */);
                mSplitLayout.snapToTarget(position, snapTarget);
@@ -472,12 +472,12 @@ public class DividerView extends FrameLayout implements View.OnTouchListener {
        mInteractive = interactive;
        mHideHandle = hideHandle;
        if (!mInteractive && mHideHandle && mMoving) {
            final int position = mSplitLayout.getDividePosition();
            mSplitLayout.flingDividePosition(
            final int position = mSplitLayout.getDividerPosition();
            mSplitLayout.flingDividerPosition(
                    mLastDraggingPosition,
                    position,
                    mSplitLayout.FLING_RESIZE_DURATION,
                    () -> mSplitLayout.setDividePosition(position, true /* applyLayoutChange */));
                    () -> mSplitLayout.setDividerPosition(position, true /* applyLayoutChange */));
            mMoving = false;
        }
        releaseTouching();
+17 −17
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ import java.util.function.Consumer;

/**
 * Records and handles layout of splits. Helps to calculate proper bounds when configuration or
 * divide position changes.
 * divider position changes.
 */
public final class SplitLayout implements DisplayInsetsController.OnInsetsChangedListener {
    private static final String TAG = "SplitLayout";
@@ -278,7 +278,7 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
        return mSplitWindowManager == null ? null : mSplitWindowManager.getSurfaceControl();
    }

    int getDividePosition() {
    int getDividerPosition() {
        return mDividerPosition;
    }

@@ -489,20 +489,20 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
    public void setDividerAtBorder(boolean start) {
        final int pos = start ? mDividerSnapAlgorithm.getDismissStartTarget().position
                : mDividerSnapAlgorithm.getDismissEndTarget().position;
        setDividePosition(pos, false /* applyLayoutChange */);
        setDividerPosition(pos, false /* applyLayoutChange */);
    }

    /**
     * Updates bounds with the passing position. Usually used to update recording bounds while
     * performing animation or dragging divider bar to resize the splits.
     */
    void updateDivideBounds(int position) {
    void updateDividerBounds(int position) {
        updateBounds(position);
        mSplitLayoutHandler.onLayoutSizeChanging(this, mSurfaceEffectPolicy.mParallaxOffset.x,
                mSurfaceEffectPolicy.mParallaxOffset.y);
    }

    void setDividePosition(int position, boolean applyLayoutChange) {
    void setDividerPosition(int position, boolean applyLayoutChange) {
        mDividerPosition = position;
        updateBounds(mDividerPosition);
        if (applyLayoutChange) {
@@ -511,14 +511,14 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
    }

    /**
     * Updates divide position and split bounds base on the ratio within root bounds. Falls back
     * Updates divider position and split bounds base on the ratio within root bounds. Falls back
     * to middle position if the provided SnapTarget is not supported.
     */
    public void setDivideRatio(@PersistentSnapPosition int snapPosition) {
        final DividerSnapAlgorithm.SnapTarget snapTarget = mDividerSnapAlgorithm.findSnapTarget(
                snapPosition);

        setDividePosition(snapTarget != null
        setDividerPosition(snapTarget != null
                ? snapTarget.position
                : mDividerSnapAlgorithm.getMiddleTarget().position,
                false /* applyLayoutChange */);
@@ -546,24 +546,24 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
    }

    /**
     * Sets new divide position and updates bounds correspondingly. Notifies listener if the new
     * Sets new divider position and updates bounds correspondingly. Notifies listener if the new
     * target indicates dismissing split.
     */
    public void snapToTarget(int currentPosition, DividerSnapAlgorithm.SnapTarget snapTarget) {
        switch (snapTarget.snapPosition) {
            case SNAP_TO_START_AND_DISMISS:
                flingDividePosition(currentPosition, snapTarget.position, FLING_RESIZE_DURATION,
                flingDividerPosition(currentPosition, snapTarget.position, FLING_RESIZE_DURATION,
                        () -> mSplitLayoutHandler.onSnappedToDismiss(false /* bottomOrRight */,
                                EXIT_REASON_DRAG_DIVIDER));
                break;
            case SNAP_TO_END_AND_DISMISS:
                flingDividePosition(currentPosition, snapTarget.position, FLING_RESIZE_DURATION,
                flingDividerPosition(currentPosition, snapTarget.position, FLING_RESIZE_DURATION,
                        () -> mSplitLayoutHandler.onSnappedToDismiss(true /* bottomOrRight */,
                                EXIT_REASON_DRAG_DIVIDER));
                break;
            default:
                flingDividePosition(currentPosition, snapTarget.position, FLING_RESIZE_DURATION,
                        () -> setDividePosition(snapTarget.position, true /* applyLayoutChange */));
                flingDividerPosition(currentPosition, snapTarget.position, FLING_RESIZE_DURATION,
                        () -> setDividerPosition(snapTarget.position, true /* applyLayoutChange */));
                break;
        }
    }
@@ -615,19 +615,19 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
    public void flingDividerToDismiss(boolean toEnd, int reason) {
        final int target = toEnd ? mDividerSnapAlgorithm.getDismissEndTarget().position
                : mDividerSnapAlgorithm.getDismissStartTarget().position;
        flingDividePosition(getDividePosition(), target, FLING_EXIT_DURATION,
        flingDividerPosition(getDividerPosition(), target, FLING_EXIT_DURATION,
                () -> mSplitLayoutHandler.onSnappedToDismiss(toEnd, reason));
    }

    /** Fling divider from current position to center position. */
    public void flingDividerToCenter() {
        final int pos = mDividerSnapAlgorithm.getMiddleTarget().position;
        flingDividePosition(getDividePosition(), pos, FLING_ENTER_DURATION,
                () -> setDividePosition(pos, true /* applyLayoutChange */));
        flingDividerPosition(getDividerPosition(), pos, FLING_ENTER_DURATION,
                () -> setDividerPosition(pos, true /* applyLayoutChange */));
    }

    @VisibleForTesting
    void flingDividePosition(int from, int to, int duration,
    void flingDividerPosition(int from, int to, int duration,
            @Nullable Runnable flingFinishedCallback) {
        if (from == to) {
            if (flingFinishedCallback != null) {
@@ -647,7 +647,7 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
                .setDuration(duration);
        mDividerFlingAnimator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
        mDividerFlingAnimator.addUpdateListener(
                animation -> updateDivideBounds((int) animation.getAnimatedValue()));
                animation -> updateDividerBounds((int) animation.getAnimatedValue()));
        mDividerFlingAnimator.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
+10 −10
Original line number Diff line number Diff line
@@ -115,27 +115,27 @@ public class SplitLayoutTests extends ShellTestCase {

    @Test
    public void testUpdateDivideBounds() {
        mSplitLayout.updateDivideBounds(anyInt());
        mSplitLayout.updateDividerBounds(anyInt());
        verify(mSplitLayoutHandler).onLayoutSizeChanging(any(SplitLayout.class), anyInt(),
                anyInt());
    }

    @Test
    public void testSetDividePosition() {
        mSplitLayout.setDividePosition(100, false /* applyLayoutChange */);
        assertThat(mSplitLayout.getDividePosition()).isEqualTo(100);
        mSplitLayout.setDividerPosition(100, false /* applyLayoutChange */);
        assertThat(mSplitLayout.getDividerPosition()).isEqualTo(100);
        verify(mSplitLayoutHandler, never()).onLayoutSizeChanged(any(SplitLayout.class));

        mSplitLayout.setDividePosition(200, true /* applyLayoutChange */);
        assertThat(mSplitLayout.getDividePosition()).isEqualTo(200);
        mSplitLayout.setDividerPosition(200, true /* applyLayoutChange */);
        assertThat(mSplitLayout.getDividerPosition()).isEqualTo(200);
        verify(mSplitLayoutHandler).onLayoutSizeChanged(any(SplitLayout.class));
    }

    @Test
    public void testSetDivideRatio() {
        mSplitLayout.setDividePosition(200, false /* applyLayoutChange */);
        mSplitLayout.setDividerPosition(200, false /* applyLayoutChange */);
        mSplitLayout.setDivideRatio(SNAP_TO_50_50);
        assertThat(mSplitLayout.getDividePosition()).isEqualTo(
        assertThat(mSplitLayout.getDividerPosition()).isEqualTo(
                mSplitLayout.mDividerSnapAlgorithm.getMiddleTarget().position);
    }

@@ -152,7 +152,7 @@ public class SplitLayoutTests extends ShellTestCase {
        DividerSnapAlgorithm.SnapTarget snapTarget = getSnapTarget(0 /* position */,
                SNAP_TO_START_AND_DISMISS);

        mSplitLayout.snapToTarget(mSplitLayout.getDividePosition(), snapTarget);
        mSplitLayout.snapToTarget(mSplitLayout.getDividerPosition(), snapTarget);
        waitDividerFlingFinished();
        verify(mSplitLayoutHandler).onSnappedToDismiss(eq(false), anyInt());
    }
@@ -164,7 +164,7 @@ public class SplitLayoutTests extends ShellTestCase {
        DividerSnapAlgorithm.SnapTarget snapTarget = getSnapTarget(0 /* position */,
                SNAP_TO_END_AND_DISMISS);

        mSplitLayout.snapToTarget(mSplitLayout.getDividePosition(), snapTarget);
        mSplitLayout.snapToTarget(mSplitLayout.getDividerPosition(), snapTarget);
        waitDividerFlingFinished();
        verify(mSplitLayoutHandler).onSnappedToDismiss(eq(true), anyInt());
    }
@@ -188,7 +188,7 @@ public class SplitLayoutTests extends ShellTestCase {
    }

    private void waitDividerFlingFinished() {
        verify(mSplitLayout).flingDividePosition(anyInt(), anyInt(), anyInt(),
        verify(mSplitLayout).flingDividerPosition(anyInt(), anyInt(), anyInt(),
                mRunnableCaptor.capture());
        mRunnableCaptor.getValue().run();
    }