diff options
| author | 2021-02-02 20:46:41 +0000 | |
|---|---|---|
| committer | 2021-02-02 20:46:41 +0000 | |
| commit | 08b0b82df910955935d9fb7cfd8938bc8f7f9edb (patch) | |
| tree | 434459ecb424c5b6e41ab84e871fa2361b827761 | |
| parent | 8cd0c59330c832b01545c10939159f5297a64c4f (diff) | |
| parent | 9e963584b58e4e38052b2ac791937a696fb81238 (diff) | |
Merge "Reset windows bounds when stop one handed mode" into sc-dev
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java index 1da72f8efbb8..04d1264bdd9d 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedDisplayAreaOrganizer.java @@ -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(); |