mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-02 17:06:49 +00:00
Add initial split from GroupedTaskView animation
* Created SplitAnimationController to prevent more RecentsView bloat * Extract SplitSelectSource attributes into separate class * http://recall/-/cMb5xTTxhmZtFt04eYnmQj/eACJq1un8Ef91LgmQblpAw Bug: 267370106 Change-Id: I5d430c091ac84bbbc30319e7b78711b610a21252
This commit is contained in:
@@ -82,6 +82,7 @@ public class SplitSelectStateController {
|
||||
private final Context mContext;
|
||||
private final Handler mHandler;
|
||||
private final RecentsModel mRecentTasksModel;
|
||||
private final SplitAnimationController mSplitAnimationController;
|
||||
private StatsLogManager mStatsLogManager;
|
||||
private final SystemUiProxy mSystemUiProxy;
|
||||
private final StateManager mStateManager;
|
||||
@@ -96,6 +97,11 @@ public class SplitSelectStateController {
|
||||
private boolean mRecentsAnimationRunning;
|
||||
/** If {@code true}, animates the existing task view split placeholder view */
|
||||
private boolean mAnimateCurrentTaskDismissal;
|
||||
/**
|
||||
* Acts as a subset of {@link #mAnimateCurrentTaskDismissal}, we can't be dismissing from a
|
||||
* split pair task view without wanting to animate current task dismissal overall
|
||||
*/
|
||||
private boolean mDismissingFromSplitPair;
|
||||
@Nullable
|
||||
private UserHandle mUser;
|
||||
/** If not null, this is the TaskView we want to launch from */
|
||||
@@ -116,6 +122,7 @@ public class SplitSelectStateController {
|
||||
mStateManager = stateManager;
|
||||
mDepthController = depthController;
|
||||
mRecentTasksModel = recentsModel;
|
||||
mSplitAnimationController = new SplitAnimationController(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -399,6 +406,18 @@ public class SplitSelectStateController {
|
||||
mAnimateCurrentTaskDismissal = animateCurrentTaskDismissal;
|
||||
}
|
||||
|
||||
public boolean isDismissingFromSplitPair() {
|
||||
return mDismissingFromSplitPair;
|
||||
}
|
||||
|
||||
public void setDismissingFromSplitPair(boolean dismissingFromSplitPair) {
|
||||
mDismissingFromSplitPair = dismissingFromSplitPair;
|
||||
}
|
||||
|
||||
public SplitAnimationController getSplitAnimationController() {
|
||||
return mSplitAnimationController;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requires Shell Transitions
|
||||
*/
|
||||
@@ -506,6 +525,7 @@ public class SplitSelectStateController {
|
||||
mItemInfo = null;
|
||||
mSplitEvent = null;
|
||||
mAnimateCurrentTaskDismissal = false;
|
||||
mDismissingFromSplitPair = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -532,6 +552,10 @@ public class SplitSelectStateController {
|
||||
return mInitialTaskId;
|
||||
}
|
||||
|
||||
public int getSecondTaskId() {
|
||||
return mSecondTaskId;
|
||||
}
|
||||
|
||||
private boolean isSecondTaskIntentSet() {
|
||||
return (mSecondTaskId != INVALID_TASK_ID || mSecondTaskIntent != null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user