Remove surface from rs init and handle surfaceChanged correctly.
diff --git a/samples/CubeLiveWallpaper/src/com/android/livecubes/cube3/RenderScriptWallpaper.java b/samples/CubeLiveWallpaper/src/com/android/livecubes/cube3/RenderScriptWallpaper.java
index 3fb5148..257c7ea 100644
--- a/samples/CubeLiveWallpaper/src/com/android/livecubes/cube3/RenderScriptWallpaper.java
+++ b/samples/CubeLiveWallpaper/src/com/android/livecubes/cube3/RenderScriptWallpaper.java
@@ -72,6 +72,9 @@
@Override
public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {
super.onSurfaceChanged(holder, format, width, height);
+ if (mRs != null) {
+ mRs.contextSetSurface(width, height, holder.getSurface());
+ }
if (mRenderer == null) {
mRenderer = createScene(width, height);
mRenderer.init(mRs, getResources(), isPreview());
@@ -95,7 +98,7 @@
while (surface == null) {
surface = holder.getSurface();
}
- mRs = new RenderScript(surface, false, false);
+ mRs = new RenderScript(false, false);
}
@Override