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:
Hyunyoung Song
2016-09-16 12:03:27 -07:00
parent 46133612b4
commit f99370c2a9
3 changed files with 30 additions and 12 deletions

View File

@@ -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