Receive commands in the water wallpaper
diff --git a/src/com/android/wallpaper/RenderScriptScene.java b/src/com/android/wallpaper/RenderScriptScene.java
index 0272651..1f68ce1 100644
--- a/src/com/android/wallpaper/RenderScriptScene.java
+++ b/src/com/android/wallpaper/RenderScriptScene.java
@@ -18,6 +18,7 @@
package com.android.wallpaper;
import android.content.res.Resources;
+import android.os.Bundle;
import android.renderscript.RenderScript;
import android.renderscript.ScriptC;
@@ -83,4 +84,10 @@
@SuppressWarnings({"UnusedDeclaration"})
public void setOffset(float xOffset, float yOffset, int xPixels, int yPixels) {
}
+
+ @SuppressWarnings({"UnusedDeclaration"})
+ public Bundle onCommand(String action, int x, int y, int z, Bundle extras,
+ boolean resultRequested) {
+ return null;
+ }
}
diff --git a/src/com/android/wallpaper/RenderScriptWallpaper.java b/src/com/android/wallpaper/RenderScriptWallpaper.java
index afc6e0c..5df2a34 100644
--- a/src/com/android/wallpaper/RenderScriptWallpaper.java
+++ b/src/com/android/wallpaper/RenderScriptWallpaper.java
@@ -17,6 +17,7 @@
package com.android.wallpaper;
import android.service.wallpaper.WallpaperService;
+import android.os.Bundle;
import android.renderscript.RenderScript;
import android.view.SurfaceHolder;
import android.view.Surface;
@@ -101,5 +102,12 @@
super.onSurfaceDestroyed(holder);
destroyRenderer();
}
+
+ @Override
+ public Bundle onCommand(String action, int x, int y, int z,
+ Bundle extras, boolean resultRequested) {
+ return mRenderer.onCommand(action, x, y, z, extras, resultRequested);
+ }
+
}
}
diff --git a/src/com/android/wallpaper/fall/FallRS.java b/src/com/android/wallpaper/fall/FallRS.java
index d50976c..9849526 100644
--- a/src/com/android/wallpaper/fall/FallRS.java
+++ b/src/com/android/wallpaper/fall/FallRS.java
@@ -16,6 +16,7 @@
package com.android.wallpaper.fall;
+import android.os.Bundle;
import android.renderscript.ScriptC;
import android.renderscript.ProgramFragment;
import android.renderscript.ProgramStore;
@@ -111,6 +112,15 @@
mWorldState.xOffset = xOffset;
mState.data(mWorldState);
}
+
+ @Override
+ public Bundle onCommand(String action, int x, int y, int z, Bundle extras,
+ boolean resultRequested) {
+ if ("android.wallpaper.tap".equals(action)) {
+ addDrop(x + (mWorldState.width * mWorldState.xOffset), y);
+ }
+ return null;
+ }
@Override
public void resize(int width, int height) {