Files
UIUIPad-Launcher3-Q/src_ui_overrides/com/uiuipad/os/uioverrides/AllAppsSwipeController.java
Fanhuitong 8799e85443 version:
fix:
update:更换为酷信
2023-10-11 19:19:52 +08:00

79 lines
2.8 KiB
Java

package com.uiuipad.os.uioverrides;
import static com.uiuipad.os.LauncherState.ALL_APPS;
import static com.uiuipad.os.LauncherState.NORMAL;
import android.view.MotionEvent;
import com.uiuipad.os.Launcher;
import com.uiuipad.os.LauncherState;
import com.uiuipad.os.LauncherStateManager.AnimationComponents;
import com.uiuipad.os.touch.AbstractStateChangeTouchController;
import com.uiuipad.os.touch.SwipeDetector;
import com.uiuipad.os.userevent.nano.LauncherLogProto.ContainerType;
/**
* TouchController to switch between NORMAL and ALL_APPS state.
*/
public class AllAppsSwipeController extends AbstractStateChangeTouchController {
private MotionEvent mTouchDownEvent;
public AllAppsSwipeController(Launcher l) {
super(l, SwipeDetector.VERTICAL);
}
@Override
protected boolean canInterceptTouch(MotionEvent ev) {
return false;
// if (ev.getAction() == MotionEvent.ACTION_DOWN) {
// mTouchDownEvent = ev;
// }
// if (mCurrentAnimation != null) {
// // If we are already animating from a previous state, we can intercept.
// return true;
// }
// if (AbstractFloatingView.getTopOpenView(mLauncher) != null) {
// return false;
// }
// if (!mLauncher.isInState(NORMAL) && !mLauncher.isInState(ALL_APPS)) {
// // Don't listen for the swipe gesture if we are already in some other state.
// return false;
// }
// if (mLauncher.isInState(ALL_APPS) && !mLauncher.getAppsView().shouldContainerScroll(ev)) {
// return false;
// }
// return true;
}
@Override
protected LauncherState getTargetState(LauncherState fromState, boolean isDragTowardPositive) {
if (fromState == NORMAL && isDragTowardPositive) {
return ALL_APPS;
} else if (fromState == ALL_APPS && !isDragTowardPositive) {
return NORMAL;
}
return fromState;
}
@Override
protected int getLogContainerTypeForNormalState() {
return mLauncher.getDragLayer().isEventOverView(mLauncher.getHotseat(), mTouchDownEvent) ?
ContainerType.HOTSEAT : ContainerType.WORKSPACE;
}
@Override
protected float initCurrentAnimation(@AnimationComponents int animComponents) {
float range = getShiftRange();
long maxAccuracy = (long) (2 * range);
mCurrentAnimation = mLauncher.getStateManager()
.createAnimationToNewWorkspace(mToState, maxAccuracy, animComponents);
float startVerticalShift = mFromState.getVerticalProgress(mLauncher) * range;
float endVerticalShift = mToState.getVerticalProgress(mLauncher) * range;
float totalShift = endVerticalShift - startVerticalShift;
return 1 / totalShift;
}
}