mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 02:38:20 +00:00
Merge "Revert^2 "Launch split tasks at beginning of animation instead of the end"" into 24D1-dev
This commit is contained in:
@@ -217,11 +217,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
}
|
||||
|
||||
mTaskbarLauncherStateController.updateStateForFlag(FLAG_VISIBLE, isVisible);
|
||||
// TODO(b/308851855): Skip animation for launching split from home, will refine later
|
||||
boolean skipAnimForSplit = enableSplitContextually() &&
|
||||
mLauncher.areBothSplitAppsConfirmed() &&
|
||||
mLauncher.getStateManager().getState() == LauncherState.NORMAL;
|
||||
if (skipAnimForSplit || fromInit) {
|
||||
if (fromInit) {
|
||||
duration = 0;
|
||||
}
|
||||
return mTaskbarLauncherStateController.applyState(duration, startAnimation);
|
||||
|
||||
@@ -928,11 +928,30 @@ class SplitAnimationController(val splitSelectStateController: SplitSelectStateC
|
||||
}
|
||||
}
|
||||
|
||||
if (splitRoot1 != null) {
|
||||
// Set the highest level split root alpha; we could technically use the parent of
|
||||
// either splitRoot1 or splitRoot2
|
||||
val parentToken = splitRoot1.parent
|
||||
var rootLayer: Change? = null
|
||||
if (parentToken != null) {
|
||||
rootLayer = transitionInfo.getChange(parentToken)
|
||||
}
|
||||
if (rootLayer != null && rootLayer.leash != null) {
|
||||
openingTargets.add(rootLayer.leash)
|
||||
}
|
||||
}
|
||||
|
||||
val animTransaction = Transaction()
|
||||
val animator = ValueAnimator.ofFloat(0f, 1f)
|
||||
animator.setDuration(QuickstepTransitionManager.SPLIT_LAUNCH_DURATION.toLong())
|
||||
animator.addUpdateListener { valueAnimator: ValueAnimator ->
|
||||
val progress = valueAnimator.animatedFraction
|
||||
val progress =
|
||||
Interpolators.clampToProgress(
|
||||
Interpolators.LINEAR,
|
||||
valueAnimator.animatedFraction,
|
||||
0.8f,
|
||||
1f
|
||||
)
|
||||
for (leash in openingTargets) {
|
||||
animTransaction.setAlpha(leash, progress)
|
||||
}
|
||||
@@ -954,19 +973,6 @@ class SplitAnimationController(val splitSelectStateController: SplitSelectStateC
|
||||
}
|
||||
)
|
||||
|
||||
if (splitRoot1 != null) {
|
||||
// Set the highest level split root alpha; we could technically use the parent of
|
||||
// either splitRoot1 or splitRoot2
|
||||
val parentToken = splitRoot1.parent
|
||||
var rootLayer: Change? = null
|
||||
if (parentToken != null) {
|
||||
rootLayer = transitionInfo.getChange(parentToken)
|
||||
}
|
||||
if (rootLayer != null && rootLayer.leash != null) {
|
||||
t.setAlpha(rootLayer.leash, 1f)
|
||||
}
|
||||
}
|
||||
|
||||
t.apply()
|
||||
animator.start()
|
||||
}
|
||||
|
||||
@@ -176,6 +176,11 @@ public class SplitToWorkspaceController {
|
||||
pendingAnimation.addListener(new AnimatorListenerAdapter() {
|
||||
private boolean mIsCancelled = false;
|
||||
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
mController.launchSplitTasks(aBoolean -> cleanUp());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationCancel(Animator animation) {
|
||||
mIsCancelled = true;
|
||||
@@ -185,7 +190,6 @@ public class SplitToWorkspaceController {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
if (!mIsCancelled) {
|
||||
mController.launchSplitTasks(aBoolean -> cleanUp());
|
||||
InteractionJankMonitorWrapper.end(Cuj.CUJ_SPLIT_SCREEN_ENTER);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user