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

Commit 92145765 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Reset windows bounds when stop one handed mode" into sc-dev am: 08b0b82d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13416445

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7de916227ed596e1e9e675752ece8e1149fb5521
parents 2ee1d3ee 08b0b82d
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
                        OneHandedAnimationController.OneHandedTransitionAnimator animator) {
                    mAnimationController.removeAnimator(animator.getToken());
                    if (mAnimationController.isAnimatorsConsumed()) {
                        resetWindowsOffsetInternal(animator.getTransitionDirection());
                        finishOffset(animator.getDestinationOffset(),
                                animator.getTransitionDirection());
                    }
@@ -99,6 +100,7 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
                        OneHandedAnimationController.OneHandedTransitionAnimator animator) {
                    mAnimationController.removeAnimator(animator.getToken());
                    if (mAnimationController.isAnimatorsConsumed()) {
                        resetWindowsOffsetInternal(animator.getTransitionDirection());
                        finishOffset(animator.getDestinationOffset(),
                                animator.getTransitionDirection());
                    }
@@ -205,6 +207,16 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
        applyTransaction(wct);
    }

    private void resetWindowsOffsetInternal(
            @OneHandedAnimationController.TransitionDirection int td) {
        if (td == TRANSITION_DIRECTION_TRIGGER) {
            return;
        }
        final WindowContainerTransaction wct = new WindowContainerTransaction();
        resetWindowsOffset(wct);
        applyTransaction(wct);
    }

    private void resetWindowsOffset(WindowContainerTransaction wct) {
        final SurfaceControl.Transaction tx =
                mSurfaceControlTransactionFactory.getTransaction();