From d4e57d4cb45c0c7db605420dccd9fd4db854e998 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Tue, 10 Nov 2009 15:28:29 -0800 Subject: Related work on issue #2170897. The wallpaper preview now delivers touch events to the wallpaper. --- .../wallpaper/livepicker/LiveWallpaperPreview.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/com/android/wallpaper/livepicker/LiveWallpaperPreview.java b/src/com/android/wallpaper/livepicker/LiveWallpaperPreview.java index cbc783d..f63d5a0 100644 --- a/src/com/android/wallpaper/livepicker/LiveWallpaperPreview.java +++ b/src/com/android/wallpaper/livepicker/LiveWallpaperPreview.java @@ -32,6 +32,7 @@ import android.os.RemoteException; import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.Bundle; +import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; import android.view.ViewGroup; @@ -182,6 +183,25 @@ public class LiveWallpaperPreview extends Activity { mWallpaperConnection = null; } + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + if (mWallpaperConnection != null && mWallpaperConnection.mEngine != null) { + MotionEvent dup = MotionEvent.obtainNoHistory(ev); + try { + mWallpaperConnection.mEngine.dispatchPointer(dup); + } catch (RemoteException e) { + } + } + + if (ev.getAction() == MotionEvent.ACTION_DOWN) { + onUserInteraction(); + } + if (getWindow().superDispatchTouchEvent(ev)) { + return true; + } + return onTouchEvent(ev); + } + class WallpaperConnection extends IWallpaperConnection.Stub implements ServiceConnection { final Intent mIntent; IWallpaperService mService; -- cgit v1.2.3