summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2010-12-02 18:27:39 -0800
committerJeff Brown <jeffbrown@google.com>2010-12-02 18:27:39 -0800
commit1d0867c8de6a889bccde9b7e768daef182a25e5c (patch)
tree076d79c28909b6da35e01e99435a21025a6a823b
parent16fddef875a2ce4cac16b8adbe9ea1cb57570757 (diff)
downloadpackages_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.java3
-rw-r--r--src/com/android/launcher2/PagedView.java11
-rw-r--r--src/com/android/launcher2/Workspace.java19
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;
}