X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=android%2Fproject%2Fxscreensaver%2Fsrc%2Forg%2Fjwz%2Fxscreensaver%2Fgen%2FSproingiesService.java;fp=android%2Fproject%2Fxscreensaver%2Fsrc%2Forg%2Fjwz%2Fxscreensaver%2Fgen%2FSproingiesService.java;h=8cddbebcded2b2b7d97c2efaa041a004aee81183;hp=0000000000000000000000000000000000000000;hb=d5186197bc394e10a4402f7f6d23fbb14103bc50;hpb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesService.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesService.java new file mode 100644 index 00000000..8cddbebc --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesService.java @@ -0,0 +1,49 @@ +package org.jwz.xscreensaver.gen; +import net.rbgrn.android.glwallpaperservice.*; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; + +// Original code provided by Robert Green +// http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers +public class SproingiesService extends GLWallpaperService { + SharedPreferences sp; + public SproingiesService() { + super(); + } + @Override + public void onCreate() { + sp = ((XscreensaverApp)getApplication()).getThePrefs(SproingiesWallpaper.SHARED_PREFS_NAME); + } + public Engine onCreateEngine() { + MyEngine engine = new MyEngine(); + return engine; + } + class MyEngine extends GLEngine { + SproingiesWallpaper renderer; + public MyEngine() { + super(); + // handle prefs, other initialization + renderer = new SproingiesWallpaper(); + setRenderer(renderer); + setRenderMode(RENDERMODE_CONTINUOUSLY); + } + public void onDestroy() { + super.onDestroy(); + if (renderer != null) { + renderer.release(); // assuming yours has this method - it should! + } + renderer = null; + } + @Override + public void onVisibilityChanged(boolean visible) { + super.onVisibilityChanged(visible); + if (visible) { + renderer.doSP(sp); + } + } + } + static + { + System.loadLibrary ("xscreensaver"); + } +}