diff options
author | Joe Onorato <joeo@android.com> | 2009-09-08 12:34:22 -0700 |
---|---|---|
committer | Joe Onorato <joeo@android.com> | 2009-09-11 12:14:19 -0400 |
commit | 85a02a8d13eced310aee4c2a795e9c9c5435038f (patch) | |
tree | c7fda8f70dadc9d1b4f85ba85d56e26b63408061 /src/com/android/launcher2/DragLayer.java | |
parent | 8355ae39ad77b8e2e9ff3b4cbff8077a002ce151 (diff) | |
download | android_packages_apps_Trebuchet-85a02a8d13eced310aee4c2a795e9c9c5435038f.tar.gz android_packages_apps_Trebuchet-85a02a8d13eced310aee4c2a795e9c9c5435038f.tar.bz2 android_packages_apps_Trebuchet-85a02a8d13eced310aee4c2a795e9c9c5435038f.zip |
Add the animation for when you enter the all apps view.
Diffstat (limited to 'src/com/android/launcher2/DragLayer.java')
-rw-r--r-- | src/com/android/launcher2/DragLayer.java | 53 |
1 files changed, 51 insertions, 2 deletions
diff --git a/src/com/android/launcher2/DragLayer.java b/src/com/android/launcher2/DragLayer.java index 28397119a..f038c2a5c 100644 --- a/src/com/android/launcher2/DragLayer.java +++ b/src/com/android/launcher2/DragLayer.java @@ -40,8 +40,17 @@ import android.widget.FrameLayout; * A ViewGroup that coordinated dragging across its dscendants */ public class DragLayer extends FrameLayout { + private static final String TAG = "Launcher.DragLayer"; + + private static final int DRAG = 1; + private static final int SWIPE = 2; + private static final int BOTH = DRAG | SWIPE; DragController mDragController; + SwipeController mSwipeController; + + private int mAllowed = BOTH; + /** * Used to create a new DragLayer from XML. @@ -57,6 +66,10 @@ public class DragLayer extends FrameLayout { mDragController = controller; } + public void setSwipeController(SwipeController controller) { + mSwipeController = controller; + } + @Override public boolean dispatchKeyEvent(KeyEvent event) { return mDragController.dispatchKeyEvent(event) || super.dispatchKeyEvent(event); @@ -64,11 +77,47 @@ public class DragLayer extends FrameLayout { @Override public boolean onInterceptTouchEvent(MotionEvent ev) { - return mDragController.onInterceptTouchEvent(ev); + boolean result = false; + + if (ev.getAction() == MotionEvent.ACTION_DOWN) { + mAllowed = BOTH; + } + + if ((mAllowed & DRAG) != 0) { + result = mDragController.onInterceptTouchEvent(ev); + if (result) { + mAllowed = DRAG; + } + } + + if ((mAllowed & SWIPE) != 0) { + result = mSwipeController.onInterceptTouchEvent(ev); + if (result) { + mAllowed = SWIPE; + } + } + + return result; } @Override public boolean onTouchEvent(MotionEvent ev) { - return mDragController.onTouchEvent(ev); + boolean result = false; + + if ((mAllowed & DRAG) != 0) { + result = mDragController.onTouchEvent(ev); + if (result) { + mAllowed = DRAG; + } + } + + if ((mAllowed & SWIPE) != 0) { + result = mSwipeController.onTouchEvent(ev); + if (result) { + mAllowed = SWIPE; + } + } + + return result; } } |