mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 09:56:49 +00:00
Do not run unfold taskbar animation when in portrait
Limits taskbar icons translation animation only when the display is in natural orientation. Bug: 219958588 Test: fold/unfold in portrait and landscape Change-Id: I33e26829ae37f1df39e8c7234f98d20eb7993b93
This commit is contained in:
@@ -15,12 +15,14 @@
|
||||
*/
|
||||
package com.android.launcher3.taskbar;
|
||||
|
||||
import android.view.IWindowManager;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.android.quickstep.util.LauncherViewsMoveFromCenterTranslationApplier;
|
||||
import com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimator;
|
||||
import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener;
|
||||
import com.android.systemui.unfold.util.NaturalRotationUnfoldProgressProvider;
|
||||
import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
@@ -31,14 +33,18 @@ import java.io.PrintWriter;
|
||||
public class TaskbarUnfoldAnimationController implements
|
||||
TaskbarControllers.LoggableTaskbarController {
|
||||
|
||||
private final ScopedUnfoldTransitionProgressProvider mUnfoldTransitionProgressProvider;
|
||||
private final ScopedUnfoldTransitionProgressProvider mScopedUnfoldTransitionProgressProvider;
|
||||
private final NaturalRotationUnfoldProgressProvider mNaturalUnfoldTransitionProgressProvider;
|
||||
private final UnfoldMoveFromCenterAnimator mMoveFromCenterAnimator;
|
||||
private final TransitionListener mTransitionListener = new TransitionListener();
|
||||
private TaskbarViewController mTaskbarViewController;
|
||||
|
||||
public TaskbarUnfoldAnimationController(ScopedUnfoldTransitionProgressProvider
|
||||
unfoldTransitionProgressProvider, WindowManager windowManager) {
|
||||
mUnfoldTransitionProgressProvider = unfoldTransitionProgressProvider;
|
||||
public TaskbarUnfoldAnimationController(BaseTaskbarContext context,
|
||||
ScopedUnfoldTransitionProgressProvider source,
|
||||
WindowManager windowManager, IWindowManager iWindowManager) {
|
||||
mScopedUnfoldTransitionProgressProvider = source;
|
||||
mNaturalUnfoldTransitionProgressProvider =
|
||||
new NaturalRotationUnfoldProgressProvider(context, iWindowManager, source);
|
||||
mMoveFromCenterAnimator = new UnfoldMoveFromCenterAnimator(windowManager,
|
||||
new LauncherViewsMoveFromCenterTranslationApplier());
|
||||
}
|
||||
@@ -48,18 +54,21 @@ public class TaskbarUnfoldAnimationController implements
|
||||
* @param taskbarControllers references to all other taskbar controllers
|
||||
*/
|
||||
public void init(TaskbarControllers taskbarControllers) {
|
||||
mNaturalUnfoldTransitionProgressProvider.init();
|
||||
mTaskbarViewController = taskbarControllers.taskbarViewController;
|
||||
mTaskbarViewController.addOneTimePreDrawListener(() ->
|
||||
mUnfoldTransitionProgressProvider.setReadyToHandleTransition(true));
|
||||
mUnfoldTransitionProgressProvider.addCallback(mTransitionListener);
|
||||
mScopedUnfoldTransitionProgressProvider.setReadyToHandleTransition(true));
|
||||
mNaturalUnfoldTransitionProgressProvider.addCallback(mTransitionListener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroys the controller
|
||||
*/
|
||||
public void onDestroy() {
|
||||
mUnfoldTransitionProgressProvider.setReadyToHandleTransition(false);
|
||||
mUnfoldTransitionProgressProvider.removeCallback(mTransitionListener);
|
||||
mScopedUnfoldTransitionProgressProvider.setReadyToHandleTransition(false);
|
||||
mNaturalUnfoldTransitionProgressProvider.removeCallback(mTransitionListener);
|
||||
mNaturalUnfoldTransitionProgressProvider.destroy();
|
||||
mTaskbarViewController = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user