diff options
author | Jan-Willem Maarse <maarse@google.com> | 2014-07-10 15:58:12 -0700 |
---|---|---|
committer | Jan-Willem Maarse <maarse@google.com> | 2014-07-14 18:36:23 -0700 |
commit | 2ff91c46fa6f1b84fb08b6f31499934d30d8a91d (patch) | |
tree | e72c8cfb0112a56fde219331300761b517356c24 /src | |
parent | e639d6b67c4ec16dbce8a8e0099a50c98e34c858 (diff) | |
download | android_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.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 12 |
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; |