From 1d0867c8de6a889bccde9b7e768daef182a25e5c Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Thu, 2 Dec 2010 18:27:39 -0800 Subject: Send live wallpaper taps. Change-Id: I25465e6fa7a69ef5c35e69ddc375e65797f44bc6 --- src/com/android/launcher2/CellLayout.java | 3 ++- src/com/android/launcher2/PagedView.java | 11 ++++++++++- 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; } -- cgit v1.1