mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-01 00:06:47 +00:00
Merge "Translate taskbar to hotseat without jump when swiping up from overview" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3dd1440520
@@ -198,15 +198,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
*/
|
||||
public Animator createAnimToLauncher(@NonNull LauncherState toState,
|
||||
@NonNull RecentsAnimationCallbacks callbacks, long duration) {
|
||||
AnimatorSet set = new AnimatorSet();
|
||||
Animator taskbarState = mTaskbarLauncherStateController
|
||||
.createAnimToLauncher(toState, callbacks, duration);
|
||||
long halfDuration = Math.round(duration * 0.5f);
|
||||
Animator translation =
|
||||
mControllers.taskbarTranslationController.createAnimToLauncher(halfDuration);
|
||||
|
||||
set.playTogether(taskbarState, translation);
|
||||
return set;
|
||||
return mTaskbarLauncherStateController.createAnimToLauncher(toState, callbacks, duration);
|
||||
}
|
||||
|
||||
public boolean isDraggingItem() {
|
||||
|
||||
@@ -433,6 +433,14 @@ import java.util.StringJoiner;
|
||||
});
|
||||
animatorSet.play(stashAnimator);
|
||||
}
|
||||
|
||||
if (isAnimatingToLauncher() || mLauncherState == LauncherState.NORMAL) {
|
||||
// Translate back to 0 at a shorter or same duration as the icon alignment animation.
|
||||
// This ensures there is no jump after switching to hotseat, e.g. when swiping up from
|
||||
// overview to home. Currently we do duration / 2 just to make it feel snappier.
|
||||
animatorSet.play(mControllers.taskbarTranslationController
|
||||
.createAnimToResetTranslation(duration / 2));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isInLauncher() {
|
||||
|
||||
@@ -135,9 +135,9 @@ public class TaskbarTranslationController implements TaskbarControllers.Loggable
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an animation to reset the taskbar translation for animation back to launcher.
|
||||
* Returns an animation to reset the taskbar translation to {@code 0}.
|
||||
*/
|
||||
public ObjectAnimator createAnimToLauncher(long duration) {
|
||||
public ObjectAnimator createAnimToResetTranslation(long duration) {
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(mTranslationYForSwipe, VALUE, 0);
|
||||
animator.setInterpolator(Interpolators.LINEAR);
|
||||
animator.setDuration(duration);
|
||||
|
||||
Reference in New Issue
Block a user