mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 03:08:19 +00:00
Fixing two critical bugs in all apps transition controller
bug#1: if long press from page indicator region, you can pull up all apps even though the workspace is in overview state. bug#2: all apps should not intercept touch not only in overview mode but also in any modal state. Change-Id: I91c0a181f037f6c2465a983825da3a2da7e2920f
This commit is contained in:
@@ -3235,7 +3235,6 @@ public class Launcher extends Activity
|
||||
mWorkspace.startReordering(v);
|
||||
} else {
|
||||
showOverviewMode(true);
|
||||
mHotseat.requestDisallowInterceptTouchEvent(true);
|
||||
}
|
||||
} else {
|
||||
final boolean isAllAppsButton =
|
||||
@@ -3386,6 +3385,9 @@ public class Launcher extends Activity
|
||||
mStateTransitionAnimation.startAnimationToWorkspace(mState, mWorkspace.getState(),
|
||||
Workspace.State.OVERVIEW, animated, postAnimRunnable);
|
||||
mState = State.WORKSPACE;
|
||||
// If animated from long press, then don't allow any of the controller in the drag
|
||||
// layer to intercept any remaining touch.
|
||||
mWorkspace.requestDisallowInterceptTouchEvent(animated);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -108,7 +108,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
|
||||
public boolean onInterceptTouchEvent(MotionEvent ev) {
|
||||
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
|
||||
mNoIntercept = false;
|
||||
if (mLauncher.getWorkspace().isInOverviewMode() || mLauncher.isWidgetsViewVisible()) {
|
||||
if (!mLauncher.isAllAppsVisible() && mLauncher.getWorkspace().workspaceInModalState()) {
|
||||
mNoIntercept = true;
|
||||
} else if (mLauncher.isAllAppsVisible() &&
|
||||
!mAppsView.shouldContainerScroll(ev)) {
|
||||
@@ -159,9 +159,8 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if ((mLauncher.getDragLayer().isEventOverHotseat(ev)
|
||||
|| mLauncher.getDragLayer().isEventOverPageIndicator(ev))
|
||||
&& !grid.isVerticalBarLayout()) {
|
||||
if (mLauncher.getDragLayer().isEventOverHotseat(ev) ||
|
||||
mLauncher.getDragLayer().isEventOverPageIndicator(ev)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user