diff options
author | Jeff Brown <jeffbrown@google.com> | 2010-12-02 18:27:39 -0800 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2010-12-02 18:27:39 -0800 |
commit | 1d0867c8de6a889bccde9b7e768daef182a25e5c (patch) | |
tree | 076d79c28909b6da35e01e99435a21025a6a823b | |
parent | 16fddef875a2ce4cac16b8adbe9ea1cb57570757 (diff) | |
download | packages_apps_trebuchet-1d0867c8de6a889bccde9b7e768daef182a25e5c.zip packages_apps_trebuchet-1d0867c8de6a889bccde9b7e768daef182a25e5c.tar.gz packages_apps_trebuchet-1d0867c8de6a889bccde9b7e768daef182a25e5c.tar.bz2 |
Send live wallpaper taps.
Change-Id: I25465e6fa7a69ef5c35e69ddc375e65797f44bc6
-rw-r--r-- | src/com/android/launcher2/CellLayout.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/PagedView.java | 11 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 19 |
3 files changed, 27 insertions, 6 deletions
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java index 023e9f4..8fe489d 100644 --- a/src/com/android/launcher2/CellLayout.java +++ b/src/com/android/launcher2/CellLayout.java @@ -796,7 +796,8 @@ public class CellLayout extends ViewGroup implements Dimmable { final int[] cellXY = mTmpCellXY; getLocationOnScreen(cellXY); - mWallpaperManager.sendWallpaperCommand(getWindowToken(), "android.home.drop", + mWallpaperManager.sendWallpaperCommand(getWindowToken(), + WallpaperManager.COMMAND_DROP, cellXY[0] + childLeft + lp.width / 2, cellXY[1] + childTop + lp.height / 2, 0, null); diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java index 31cfb5b..257531e 100644 --- a/src/com/android/launcher2/PagedView.java +++ b/src/com/android/launcher2/PagedView.java @@ -757,8 +757,9 @@ public abstract class PagedView extends ViewGroup { break; } - case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: + onWallpaperTap(ev); + case MotionEvent.ACTION_CANCEL: mTouchState = TOUCH_STATE_REST; mAllowLongPress = false; mActivePointerId = INVALID_POINTER; @@ -958,6 +959,8 @@ public abstract class PagedView extends ViewGroup { } else { snapToDestination(); } + } else { + onWallpaperTap(ev); } mTouchState = TOUCH_STATE_REST; mActivePointerId = INVALID_POINTER; @@ -1011,6 +1014,12 @@ public abstract class PagedView extends ViewGroup { mVelocityTracker.clear(); } } + if (mTouchState == TOUCH_STATE_REST) { + onWallpaperTap(ev); + } + } + + protected void onWallpaperTap(MotionEvent ev) { } @Override diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index b12d357..7027d83 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -542,10 +542,6 @@ public class Workspace extends SmoothPagedView Launcher.setScreen(mCurrentPage); }; - private void updateWallpaperOffset() { - updateWallpaperOffset(getChildAt(getChildCount() - 1).getRight() - (mRight - mLeft)); - } - private void updateWallpaperOffset(int scrollRange) { final boolean isStaticWallpaper = (mWallpaperManager != null) && (mWallpaperManager.getWallpaperInfo() == null); @@ -892,6 +888,21 @@ public class Workspace extends SmoothPagedView return super.onTouchEvent(ev); } + @Override + protected void onWallpaperTap(MotionEvent ev) { + final int[] position = mTempCell; + getLocationOnScreen(position); + + int pointerIndex = ev.getActionIndex(); + position[0] += (int) ev.getX(pointerIndex); + position[1] += (int) ev.getY(pointerIndex); + + mWallpaperManager.sendWallpaperCommand(getWindowToken(), + ev.getAction() == MotionEvent.ACTION_UP + ? WallpaperManager.COMMAND_TAP : WallpaperManager.COMMAND_SECONDARY_TAP, + position[0], position[1], 0, null); + } + public boolean isSmall() { return mIsSmall; } |