Send live wallpaper taps.

Change-Id: I25465e6fa7a69ef5c35e69ddc375e65797f44bc6
This commit is contained in:
Jeff Brown
2010-12-02 18:27:39 -08:00
parent 16fddef875
commit 1d0867c8de
3 changed files with 27 additions and 6 deletions
+2 -1
View File
@@ -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);
+10 -1
View File
@@ -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
+15 -4
View File
@@ -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;
}