summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/DragLayer.java
diff options
context:
space:
mode:
authorJoe Onorato <joeo@android.com>2009-09-08 12:34:22 -0700
committerJoe Onorato <joeo@android.com>2009-09-11 12:14:19 -0400
commit85a02a8d13eced310aee4c2a795e9c9c5435038f (patch)
treec7fda8f70dadc9d1b4f85ba85d56e26b63408061 /src/com/android/launcher2/DragLayer.java
parent8355ae39ad77b8e2e9ff3b4cbff8077a002ce151 (diff)
downloadandroid_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.java53
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;
}
}