summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan-Willem Maarse <maarse@google.com>2014-07-10 15:58:12 -0700
committerJan-Willem Maarse <maarse@google.com>2014-07-14 18:36:23 -0700
commit2ff91c46fa6f1b84fb08b6f31499934d30d8a91d (patch)
treee72c8cfb0112a56fde219331300761b517356c24 /src
parente639d6b67c4ec16dbce8a8e0099a50c98e34c858 (diff)
downloadandroid_packages_apps_Trebuchet-2ff91c46fa6f1b84fb08b6f31499934d30d8a91d.tar.gz
android_packages_apps_Trebuchet-2ff91c46fa6f1b84fb08b6f31499934d30d8a91d.tar.bz2
android_packages_apps_Trebuchet-2ff91c46fa6f1b84fb08b6f31499934d30d8a91d.zip
Allow custom content to lock the workspace
Change-Id: Ic337df1b2cd54b99d4ef02dcfaca955c90297df0
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Launcher.java3
-rw-r--r--src/com/android/launcher3/Workspace.java12
2 files changed, 13 insertions, 2 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index a85b5b18d..400cd2472 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1089,6 +1089,9 @@ public class Launcher extends Activity
// Custom content scroll progress changed. From 0 (not showing) to 1 (fully showing).
public void onScrollProgressChanged(float progress);
+
+ // Indicates whether the user is allowed to scroll away from the custom content.
+ boolean isScrollingAllowed();
}
protected boolean hasSettings() {
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 48795af13..a8e7580c3 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1159,12 +1159,20 @@ public class Workspace extends SmoothPagedView
(mTouchDownTime - mCustomContentShowTime) > CUSTOM_CONTENT_GESTURE_DELAY;
boolean swipeInIgnoreDirection = isLayoutRtl() ? deltaX < 0 : deltaX > 0;
- if (swipeInIgnoreDirection && getScreenIdForPageIndex(getCurrentPage()) ==
- CUSTOM_CONTENT_SCREEN_ID && passRightSwipesToCustomContent) {
+ boolean onCustomContentScreen =
+ getScreenIdForPageIndex(getCurrentPage()) == CUSTOM_CONTENT_SCREEN_ID;
+ if (swipeInIgnoreDirection && onCustomContentScreen && passRightSwipesToCustomContent) {
// Pass swipes to the right to the custom content page.
return;
}
+ if (onCustomContentScreen && (mCustomContentCallbacks != null)
+ && !mCustomContentCallbacks.isScrollingAllowed()) {
+ // Don't allow workspace scrolling if the current custom content screen doesn't allow
+ // scrolling.
+ return;
+ }
+
if (theta > MAX_SWIPE_ANGLE) {
// Above MAX_SWIPE_ANGLE, we don't want to ever start scrolling the workspace
return;