From dbff75e3dec3c4c3654a2c8bf4e7cd065ef0bef5 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Fri, 16 Mar 2018 12:10:55 -0700 Subject: [PATCH] Update dock divider during recents animation. - Move all wrapper calls to the bg thread - Account for position now that the task leash is in the app animation layer Bug: 73118672 Change-Id: I5b680a688c0ad4ca34c76e22e1d5cee24133f40f --- quickstep/libs/sysui_shared.jar | Bin 119143 -> 120112 bytes .../quickstep/RecentsAnimationWrapper.java | 42 +++++++++++++++++- .../WindowTransformSwipeHandler.java | 7 +-- 3 files changed, 45 insertions(+), 4 deletions(-) diff --git a/quickstep/libs/sysui_shared.jar b/quickstep/libs/sysui_shared.jar index 2b9db35bc007f5e20e871b34321af7a01b7db2a0..3c5033e554a7484f00b66fccb69a495605b1d607 100644 GIT binary patch delta 10053 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 Z5Ka}E0vK=&5DXBK?;;>TpB~WK{vS~DV@d!3 delta 9195 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 Pa2Wq(7>un1EEM*Crs?ds diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationWrapper.java b/quickstep/src/com/android/quickstep/RecentsAnimationWrapper.java index 4e11220745..12f8d52b82 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationWrapper.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationWrapper.java @@ -28,7 +28,9 @@ public class RecentsAnimationWrapper { public RecentsAnimationControllerCompat controller; public RemoteAnimationTargetCompat[] targets; - private boolean mInputConsumerEnabled; + private boolean mInputConsumerEnabled = false; + private boolean mBehindSystemBars = true; + private boolean mSplitScreenMinimized = false; public synchronized void setController( RecentsAnimationControllerCompat controller, RemoteAnimationTargetCompat[] targets) { @@ -75,4 +77,42 @@ public class RecentsAnimationWrapper { }); } } + + public void setAnimationTargetsBehindSystemBars(boolean behindSystemBars) { + if (mBehindSystemBars == behindSystemBars) { + return; + } + mBehindSystemBars = behindSystemBars; + BackgroundExecutor.get().submit(() -> { + synchronized (this) { + TraceHelper.partitionSection("RecentsController", + "Setting behind system bars on " + controller); + if (controller != null) { + controller.setAnimationTargetsBehindSystemBars(behindSystemBars); + } + } + }); + } + + /** + * NOTE: As a workaround for conflicting animations (Launcher animating the task leash, and + * SystemUI resizing the docked stack, which resizes the task), we currently only set the + * minimized mode, and not the inverse. + * TODO: Synchronize the minimize animation with the launcher animation + */ + public void setSplitScreenMinimizedForTransaction(boolean minimized) { + if (mSplitScreenMinimized || !minimized) { + return; + } + mSplitScreenMinimized = minimized; + BackgroundExecutor.get().submit(() -> { + synchronized (this) { + TraceHelper.partitionSection("RecentsController", + "Setting minimize dock on " + controller); + if (controller != null) { + controller.setSplitScreenMinimized(minimized); + } + } + }); + } } diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java index 611f7e0156..36a9d56496 100644 --- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java @@ -497,6 +497,7 @@ public class WindowTransformSwipeHandler { TransactionCompat transaction = new TransactionCompat(); for (RemoteAnimationTargetCompat app : mRecentsAnimationWrapper.targets) { if (app.mode == MODE_CLOSING) { + mTmpMatrix.postTranslate(app.position.x, app.position.y); transaction.setMatrix(app.leash, mTmpMatrix) .setWindowCrop(app.leash, mClipRect); @@ -534,10 +535,10 @@ public class WindowTransformSwipeHandler { } } if (mRecentsAnimationWrapper.controller != null) { - // TODO: This logic is spartanic! - mRecentsAnimationWrapper.controller.setAnimationTargetsBehindSystemBars( - shift < 0.12f); + boolean passedThreshold = shift > 0.12f; + mRecentsAnimationWrapper.setAnimationTargetsBehindSystemBars(!passedThreshold); + mRecentsAnimationWrapper.setSplitScreenMinimizedForTransaction(passedThreshold); } }; if (Looper.getMainLooper() == Looper.myLooper()) {