Fixing two critical bugs in all apps transition controller
am: 0a9c092c89
Change-Id: I115b7bc6d165dc9d5e73e1878b96d194bfc62da7
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 123c7d8..b6474e6 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3101,7 +3101,6 @@
mWorkspace.startReordering(v);
} else {
showOverviewMode(true);
- mHotseat.requestDisallowInterceptTouchEvent(true);
}
} else {
final boolean isAllAppsButton =
@@ -3229,6 +3228,9 @@
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);
}
/**
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index 9fcc6a4..1719b05 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -109,7 +109,7 @@
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)) {
@@ -160,9 +160,8 @@
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;
}
}