summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/magicsmoke/MagicSmokeRS.java23
-rw-r--r--src/com/android/magicsmoke/MagicSmokeSelector.java6
-rw-r--r--src/com/android/magicsmoke/RenderScriptScene.java5
-rw-r--r--src/com/android/magicsmoke/RenderScriptWallpaper.java4
4 files changed, 21 insertions, 17 deletions
diff --git a/src/com/android/magicsmoke/MagicSmokeRS.java b/src/com/android/magicsmoke/MagicSmokeRS.java
index 201aacd..50c3b2e 100644
--- a/src/com/android/magicsmoke/MagicSmokeRS.java
+++ b/src/com/android/magicsmoke/MagicSmokeRS.java
@@ -29,7 +29,6 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.MediaPlayer;
import android.os.Handler;
-import android.renderscript.Mesh.Primitive;
import android.renderscript.*;
import android.renderscript.Element.Builder;
import android.renderscript.ProgramStore.BlendDstFunc;
@@ -116,7 +115,7 @@ class MagicSmokeRS extends RenderScriptScene implements OnSharedPreferenceChange
public boolean mPreMul;
}
- public static final int DEFAULT_PRESET = 4;
+ public static final int DEFAULT_PRESET = 16;
public static final Preset [] mPreset = new Preset[] {
// proc back low high alph mask rot swap premul
new Preset(1, 0x000000, 0x000000, 0xffffff, 2.0f, 0x0f, true, false, false),
@@ -149,12 +148,19 @@ class MagicSmokeRS extends RenderScriptScene implements OnSharedPreferenceChange
mHeight = height;
mContext = context;
mSharedPref = mContext.getSharedPreferences("magicsmoke", Context.MODE_PRIVATE);
+ mSharedPref.registerOnSharedPreferenceChangeListener(this);
makeNewState();
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
- makeNewState();
+ if (!mIsStarted) {
+ start();
+ mRS.finish();
+ stop(false);
+ } else {
+ makeNewState();
+ }
}
void makeNewState() {
@@ -236,16 +242,17 @@ class MagicSmokeRS extends RenderScriptScene implements OnSharedPreferenceChange
}
@Override
- public void stop() {
- mSharedPref.unregisterOnSharedPreferenceChangeListener(this);
- super.stop();
+ public void stop(boolean forReal) {
+ if (forReal) {
+ mSharedPref.unregisterOnSharedPreferenceChangeListener(this);
+ }
+ super.stop(forReal);
}
@Override
public void start() {
- super.start();
- mSharedPref.registerOnSharedPreferenceChangeListener(this);
makeNewState();
+ super.start();
}
float alphafactor;
diff --git a/src/com/android/magicsmoke/MagicSmokeSelector.java b/src/com/android/magicsmoke/MagicSmokeSelector.java
index 55addf6..22c7675 100644
--- a/src/com/android/magicsmoke/MagicSmokeSelector.java
+++ b/src/com/android/magicsmoke/MagicSmokeSelector.java
@@ -73,12 +73,6 @@ public class MagicSmokeSelector extends Activity {
}
}
- // button hook
- public void setLiveWallpaper(View v) {
- finish();
- }
-
-
@Override
public void onResume() {
super.onResume();
diff --git a/src/com/android/magicsmoke/RenderScriptScene.java b/src/com/android/magicsmoke/RenderScriptScene.java
index fdf4935..fbab205 100644
--- a/src/com/android/magicsmoke/RenderScriptScene.java
+++ b/src/com/android/magicsmoke/RenderScriptScene.java
@@ -27,6 +27,7 @@ public abstract class RenderScriptScene {
protected int mWidth;
protected int mHeight;
protected boolean mPreview;
+ protected boolean mIsStarted;
protected Resources mResources;
protected RenderScriptGL mRS;
protected ScriptC mScript;
@@ -69,12 +70,14 @@ public abstract class RenderScriptScene {
protected abstract ScriptC createScript();
- public void stop() {
+ public void stop(boolean forReal) {
mRS.bindRootScript(null);
+ mIsStarted = false;
}
public void start() {
mRS.bindRootScript(mScript);
+ mIsStarted = true;
}
public void resize(int width, int height) {
diff --git a/src/com/android/magicsmoke/RenderScriptWallpaper.java b/src/com/android/magicsmoke/RenderScriptWallpaper.java
index c9bbdd9..c0bf50d 100644
--- a/src/com/android/magicsmoke/RenderScriptWallpaper.java
+++ b/src/com/android/magicsmoke/RenderScriptWallpaper.java
@@ -54,7 +54,7 @@ public abstract class RenderScriptWallpaper<T extends RenderScriptScene> extends
private void destroyRenderer() {
if (mRenderer != null) {
- mRenderer.stop();
+ mRenderer.stop(true);
mRenderer = null;
}
if (mRs != null) {
@@ -70,7 +70,7 @@ public abstract class RenderScriptWallpaper<T extends RenderScriptScene> extends
if (visible) {
mRenderer.start();
} else {
- mRenderer.stop();
+ mRenderer.stop(false);
}
}
}