mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 03:08:19 +00:00
Fill the log container as hotseat or workspace based on position.
Test: manual Bug: 137953006 Swipe from workspace: 07-30 15:15:44.031 9779 9779 D UserEvent: action:FLING direction=UP direction=UP 07-30 15:15:44.031 9779 9779 D UserEvent: Source child:WORKSPACE id=0 span(951,1313) parent:WORKSPACE id=0 07-30 15:15:44.031 9779 9779 D UserEvent: Destination child:ALLAPPS 07-30 15:15:44.031 9779 9779 D UserEvent: Elapsed container 826 ms, session 9361 ms, action 0 ms Swipe from hotseat: 07-30 15:15:46.010 9779 9779 D UserEvent: action:FLING direction=UP direction=UP 07-30 15:15:46.010 9779 9779 D UserEvent: Source child:HOTSEAT id=0 span(786,1908) parent:WORKSPACE id=0 07-30 15:15:46.010 9779 9779 D UserEvent: Destination child:ALLAPPS 07-30 15:15:46.010 9779 9779 D UserEvent: Elapsed container 1139 ms, session 11339 ms, action 0 ms Change-Id: I959528889fda778efc569bb59e7f44d3bd5b81bc
This commit is contained in:
@@ -69,6 +69,7 @@ public abstract class AbstractStateChangeTouchController
|
||||
protected final SwipeDetector.Direction mSwipeDirection;
|
||||
|
||||
private boolean mNoIntercept;
|
||||
private boolean mIsLogContainerSet;
|
||||
protected int mStartContainerType;
|
||||
|
||||
protected LauncherState mStartState;
|
||||
@@ -180,7 +181,7 @@ public abstract class AbstractStateChangeTouchController
|
||||
/**
|
||||
* Returns the container that the touch started from when leaving NORMAL state.
|
||||
*/
|
||||
protected abstract int getLogContainerTypeForNormalState();
|
||||
protected abstract int getLogContainerTypeForNormalState(MotionEvent ev);
|
||||
|
||||
private boolean reinitCurrentAnimation(boolean reachedToState, boolean isDragTowardPositive) {
|
||||
LauncherState newFromState = mFromState == null ? mLauncher.getStateManager().getState()
|
||||
@@ -231,13 +232,7 @@ public abstract class AbstractStateChangeTouchController
|
||||
@Override
|
||||
public void onDragStart(boolean start) {
|
||||
mStartState = mLauncher.getStateManager().getState();
|
||||
if (mStartState == ALL_APPS) {
|
||||
mStartContainerType = LauncherLogProto.ContainerType.ALLAPPS;
|
||||
} else if (mStartState == NORMAL) {
|
||||
mStartContainerType = getLogContainerTypeForNormalState();
|
||||
} else if (mStartState == OVERVIEW){
|
||||
mStartContainerType = LauncherLogProto.ContainerType.TASKSWITCHER;
|
||||
}
|
||||
mIsLogContainerSet = false;
|
||||
if (mCurrentAnimation == null) {
|
||||
mFromState = mStartState;
|
||||
mToState = null;
|
||||
@@ -285,6 +280,21 @@ public abstract class AbstractStateChangeTouchController
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onDrag(float displacement, MotionEvent ev) {
|
||||
if (!mIsLogContainerSet) {
|
||||
if (mStartState == ALL_APPS) {
|
||||
mStartContainerType = LauncherLogProto.ContainerType.ALLAPPS;
|
||||
} else if (mStartState == NORMAL) {
|
||||
mStartContainerType = getLogContainerTypeForNormalState(ev);
|
||||
} else if (mStartState == OVERVIEW) {
|
||||
mStartContainerType = LauncherLogProto.ContainerType.TASKSWITCHER;
|
||||
}
|
||||
mIsLogContainerSet = true;
|
||||
}
|
||||
return onDrag(displacement);
|
||||
}
|
||||
|
||||
protected void updateProgress(float fraction) {
|
||||
mCurrentAnimation.setPlayFraction(fraction);
|
||||
if (mAtomicComponentsController != null) {
|
||||
|
||||
Reference in New Issue
Block a user