Fixing issue where overview->normal workspace mode cannot be done by tapping
b/31458165 Because workspaceInModalState makes the VerticalFlingDetector to consume the touch input, click is not detected in Overview mode. Placed pulldown to search behind a feature flag. Change-Id: I31ab69f57944a18e6b264c4f2ed2d0c1175cd940
This commit is contained in:
parent
46133612b4
commit
f99370c2a9
|
@ -594,18 +594,31 @@ public class Workspace extends PagedView
|
|||
}
|
||||
// Add the first page
|
||||
CellLayout firstPage = insertNewWorkspaceScreen(Workspace.FIRST_SCREEN_ID, 0);
|
||||
final VerticalFlingDetector detector = new VerticalFlingDetector(mLauncher){
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent ev) {
|
||||
if (shouldConsumeTouch(v)) return true;
|
||||
if (super.onTouch(v, ev)) {
|
||||
mLauncher.startSearch("", false, null, false);
|
||||
if (FeatureFlags.PULLDOWN_SEARCH) {
|
||||
firstPage.setOnTouchListener(new VerticalFlingDetector(mLauncher) {
|
||||
// detect fling when touch started from empty space
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent ev) {
|
||||
if (workspaceInModalState()) return false;
|
||||
if (shouldConsumeTouch(v)) return true;
|
||||
if (super.onTouch(v, ev)) {
|
||||
mLauncher.startSearch("", false, null, false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
firstPage.setOnTouchListener(detector);
|
||||
firstPage.setOnInterceptTouchListener(detector);
|
||||
});
|
||||
firstPage.setOnInterceptTouchListener(new VerticalFlingDetector(mLauncher) {
|
||||
// detect fling when touch started from on top of the icons
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent ev) {
|
||||
if (shouldConsumeTouch(v)) return true;
|
||||
if (super.onTouch(v, ev)) {
|
||||
mLauncher.startSearch("", false, null, false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
// Always add a QSB on the first screen.
|
||||
if (qsb == null) {
|
||||
// In transposed layout, we add the QSB in the Grid. As workspace does not touch the
|
||||
|
|
|
@ -79,6 +79,9 @@ public class VerticalFlingDetector implements View.OnTouchListener {
|
|||
}
|
||||
|
||||
private void cleanUp() {
|
||||
if (mVelocityTracker == null) {
|
||||
return;
|
||||
}
|
||||
mVelocityTracker.recycle();
|
||||
mVelocityTracker = null;
|
||||
}
|
||||
|
|
|
@ -31,8 +31,10 @@ public final class FeatureFlags {
|
|||
public static boolean LAUNCHER3_DISABLE_PINCH_TO_OVERVIEW = false;
|
||||
public static boolean LAUNCHER3_ALL_APPS_PULL_UP = true;
|
||||
|
||||
// Feature flag to enable moving the QSB on the 0th screen of the workspace
|
||||
// Feature flag to enable moving the QSB on the 0th screen of the workspace.
|
||||
public static final boolean QSB_ON_FIRST_SCREEN = true;
|
||||
// When enabled the all-apps icon is not added to the hotseat.
|
||||
public static final boolean NO_ALL_APPS_ICON = true;
|
||||
// When enabled fling down gesture on the first workspace triggers search.
|
||||
public static final boolean PULLDOWN_SEARCH = true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue