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

Commit c511c0ce authored by Adrian Roos's avatar Adrian Roos Committed by Automerger Merge Worker
Browse files

Merge "WindowInsetsAnimation: Synchronously dispatch window insets animation...

Merge "WindowInsetsAnimation: Synchronously dispatch window insets animation callbacks" into rvc-dev am: f5a0f80f am: bbec0bba am: eaeb0fd7

Change-Id: Ib20c13499924c94ffb0c5cd9e77109064b4a003a
parents 81a31da6 eaeb0fd7
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -40,8 +40,10 @@ public interface InsetsAnimationControlCallbacks {


    /**
    /**
     * Schedule the apply by posting the animation callback.
     * Schedule the apply by posting the animation callback.
     *
     * @param runner The runner that requested applying insets
     */
     */
    void scheduleApplyChangeInsets();
    void scheduleApplyChangeInsets(InsetsAnimationControlRunner runner);


    /**
    /**
     * Finish the final steps after the animation.
     * Finish the final steps after the animation.
+1 −1
Original line number Original line Diff line number Diff line
@@ -156,7 +156,7 @@ public class InsetsAnimationControlImpl implements WindowInsetsAnimationControll
        mPendingFraction = sanitize(fraction);
        mPendingFraction = sanitize(fraction);
        mPendingInsets = sanitize(insets);
        mPendingInsets = sanitize(insets);
        mPendingAlpha = sanitize(alpha);
        mPendingAlpha = sanitize(alpha);
        mController.scheduleApplyChangeInsets();
        mController.scheduleApplyChangeInsets(this);
    }
    }


    @VisibleForTesting
    @VisibleForTesting
+1 −1
Original line number Original line Diff line number Diff line
@@ -54,7 +54,7 @@ public class InsetsAnimationThreadControlRunner implements InsetsAnimationContro
        }
        }


        @Override
        @Override
        public void scheduleApplyChangeInsets() {
        public void scheduleApplyChangeInsets(InsetsAnimationControlRunner runner) {
            mControl.applyChangeInsets(mState);
            mControl.applyChangeInsets(mState);
        }
        }


+2 −2
Original line number Original line Diff line number Diff line
@@ -1076,8 +1076,8 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation


    @VisibleForTesting
    @VisibleForTesting
    @Override
    @Override
    public void scheduleApplyChangeInsets() {
    public void scheduleApplyChangeInsets(InsetsAnimationControlRunner runner) {
        if (mStartingAnimation) {
        if (mStartingAnimation || runner.getAnimationType() == ANIMATION_TYPE_USER) {
            mAnimCallback.run();
            mAnimCallback.run();
            mAnimCallbackScheduled = false;
            mAnimCallbackScheduled = false;
            return;
            return;
+1 −1
Original line number Original line Diff line number Diff line
@@ -229,7 +229,7 @@ public class InsetsAnimationControlImplTest {
        doAnswer(invocation -> {
        doAnswer(invocation -> {
            mController.applyChangeInsets(mInsetsState);
            mController.applyChangeInsets(mInsetsState);
            return null;
            return null;
        }).when(mMockController).scheduleApplyChangeInsets();
        }).when(mMockController).scheduleApplyChangeInsets(any());
        mController.finish(true /* shown */);
        mController.finish(true /* shown */);
        assertEquals(Insets.of(0, 100, 100, 0), mController.getCurrentInsets());
        assertEquals(Insets.of(0, 100, 100, 0), mController.getCurrentInsets());
        verify(mMockController).notifyFinished(eq(mController), eq(true /* shown */));
        verify(mMockController).notifyFinished(eq(mController), eq(true /* shown */));
Loading