summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHyunyoung Song <hyunyoungs@google.com>2016-09-16 19:45:06 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-09-16 19:45:06 +0000
commitcbf371cddcace88d3bd8bc726c9518e6d3ba6d0d (patch)
tree22927c37cd85966ef285584e3a2334a7a5a5c723 /src
parent5e4d87bec28761858980a0907be4e82f971ecfcd (diff)
parentf99370c2a9cbe340f340a15a5f065166de9f809a (diff)
downloadandroid_packages_apps_Trebuchet-cbf371cddcace88d3bd8bc726c9518e6d3ba6d0d.tar.gz
android_packages_apps_Trebuchet-cbf371cddcace88d3bd8bc726c9518e6d3ba6d0d.tar.bz2
android_packages_apps_Trebuchet-cbf371cddcace88d3bd8bc726c9518e6d3ba6d0d.zip
Fixing issue where overview->normal workspace mode cannot be done by tapping b/31458165
am: f99370c2a9 Change-Id: Id5c7b068fae21a2c4941390bf99db413581ede44
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Workspace.java35
-rw-r--r--src/com/android/launcher3/util/VerticalFlingDetector.java3
2 files changed, 27 insertions, 11 deletions
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 99e480e83..3d58fc452 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -593,18 +593,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
diff --git a/src/com/android/launcher3/util/VerticalFlingDetector.java b/src/com/android/launcher3/util/VerticalFlingDetector.java
index 5f2b3f3ac..7236c2d1b 100644
--- a/src/com/android/launcher3/util/VerticalFlingDetector.java
+++ b/src/com/android/launcher3/util/VerticalFlingDetector.java
@@ -79,6 +79,9 @@ public class VerticalFlingDetector implements View.OnTouchListener {
}
private void cleanUp() {
+ if (mVelocityTracker == null) {
+ return;
+ }
mVelocityTracker.recycle();
mVelocityTracker = null;
}