233 lines
5.1 KiB
Java
233 lines
5.1 KiB
Java
package fishrungames.mountainwallpaper;
|
|
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.SharedPreferences;
|
|
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
|
import android.content.pm.ApplicationInfo;
|
|
import android.content.pm.PackageManager;
|
|
import android.content.pm.PackageManager.NameNotFoundException;
|
|
|
|
import android.net.ConnectivityManager;
|
|
|
|
import android.os.Handler;
|
|
import android.preference.PreferenceManager;
|
|
|
|
import android.view.MotionEvent;
|
|
import android.view.SurfaceHolder;
|
|
|
|
//import com.seb.SLWP.SLWP.GlEngine.DownloadTask;
|
|
|
|
import fishrungames.engine.EngineWrapper;
|
|
|
|
public class MountainWallpaperService extends GLWallpaperService implements
|
|
OnSharedPreferenceChangeListener {
|
|
/*
|
|
* (non-Javadoc)
|
|
*
|
|
* @see android.app.Service#onLowMemory()
|
|
*/
|
|
static
|
|
{
|
|
EngineWrapper.LoadSalmonEngineLibrary();
|
|
JniWrapper.LoadLibrary();
|
|
}
|
|
|
|
|
|
public static final long SLEEPTIME = 1000 * 60 * 30; // 30 minutes
|
|
private GlEngine mGle;
|
|
|
|
public static Context mContext;
|
|
public static boolean ShowClouds;
|
|
public static boolean TouchRot;
|
|
|
|
public static int Bg;
|
|
public static boolean Usebg;
|
|
public static int Tex;
|
|
|
|
static long Synctime;
|
|
|
|
public boolean Slidedir;
|
|
public boolean Slideplanet;
|
|
public boolean Syncrot;
|
|
public static boolean Randomtex = true;
|
|
public static boolean visible = false;
|
|
|
|
public static boolean useCropper = true;
|
|
public static int Cropaspect;
|
|
public static boolean loading = false;
|
|
|
|
public static final Handler mHandler = new Handler();
|
|
public static final int RNDMAP = -1;
|
|
public static boolean destroyed;
|
|
public static String bgfile;
|
|
public ConnectivityManager cm;
|
|
public boolean needresume;
|
|
public boolean fstart;
|
|
public static String[] randlist;
|
|
public int curtexidx = -99;
|
|
|
|
static final String ACTION_FOREGROUND = "fishrungames.mountainwallpaper.FOREGROUND";
|
|
static final String ACTION_BACKGROUND = "fishrungames.mountainwallpaper.BACKGROUND";
|
|
|
|
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
// TODO Auto-generated method stub
|
|
super.onCreate();
|
|
|
|
|
|
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
|
|
|
|
EngineWrapper.SetActivityInstance(this);
|
|
EngineWrapper.SetupEnviroment();
|
|
|
|
String apkFilePath = null;
|
|
ApplicationInfo appInfo = null;
|
|
PackageManager packMgmr = this.getPackageManager();
|
|
try {
|
|
appInfo = packMgmr.getApplicationInfo("fishrungames.mountainwallpaper", 0);
|
|
} catch (NameNotFoundException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
throw new RuntimeException("Unable to locate assets, aborting...");
|
|
}
|
|
apkFilePath = appInfo.sourceDir;
|
|
|
|
EngineWrapper.SetupApkFilePath(apkFilePath);
|
|
|
|
Init();
|
|
}
|
|
|
|
@Override
|
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
|
// handleCommand(intent);
|
|
// We want this service to continue running until it is explicitly
|
|
// stopped, so return sticky.
|
|
return START_STICKY;
|
|
}
|
|
|
|
private void Init() {
|
|
try {
|
|
mContext = this;
|
|
cm = (ConnectivityManager) mContext
|
|
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onDestroy() {
|
|
// TODO Auto-generated method stub
|
|
super.onDestroy();
|
|
}
|
|
|
|
@Override
|
|
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
|
|
String key) {
|
|
|
|
if (key.compareToIgnoreCase("Timeofday") == 0)
|
|
{
|
|
int time = Integer.parseInt(sharedPreferences.getString("Timeofday", "0"));
|
|
JniWrapper.SetTimeOfDayPref(time);
|
|
}
|
|
|
|
if (key.compareToIgnoreCase("Snow") == 0) {
|
|
|
|
JniWrapper.SetSnowPref(sharedPreferences.getBoolean("Snow", false));
|
|
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Engine onCreateEngine() {
|
|
if (mGle != null) {
|
|
mGle = null;
|
|
}
|
|
try {
|
|
|
|
mGle = new GlEngine();
|
|
|
|
} catch (Exception e) {
|
|
return null;
|
|
}
|
|
|
|
return mGle;
|
|
}
|
|
|
|
class GlEngine extends GLEngine {
|
|
|
|
public Handler mHandler = new Handler();
|
|
|
|
long NOW;
|
|
|
|
@Override
|
|
public void onCreate(SurfaceHolder surfaceHolder) {
|
|
super.onCreate(surfaceHolder);
|
|
try {
|
|
this.setTouchEventsEnabled(true);
|
|
fstart = true;
|
|
setRenderer();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onTouchEvent(MotionEvent e) {
|
|
|
|
return;
|
|
}
|
|
|
|
@Override
|
|
public void onOffsetsChanged(float xOffset, float yOffset,
|
|
float xOffsetStep, float yOffsetStep, int xPixelOffset,
|
|
int yPixelOffset) {
|
|
|
|
super.onOffsetsChanged(xOffset, yOffset, xOffsetStep, yOffsetStep,
|
|
xPixelOffset, yPixelOffset);
|
|
|
|
JniWrapper.SetOffset(xPixelOffset*xOffsetStep, yPixelOffset*yOffsetStep);
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onVisibilityChanged(boolean visible) {
|
|
// TODO Auto-generated method stub
|
|
super.onVisibilityChanged(visible);
|
|
MountainWallpaperService.visible = visible;
|
|
if (visible) {
|
|
|
|
} else {
|
|
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onPause() {
|
|
super.onPause();
|
|
}
|
|
|
|
@Override
|
|
public void onResume() {
|
|
|
|
super.onResume();
|
|
}
|
|
|
|
@Override
|
|
public void onSurfaceChanged(SurfaceHolder holder, int format,
|
|
int width, int height) {
|
|
// TODO Auto-generated method stub
|
|
super.onSurfaceChanged(holder, format, width, height);
|
|
fstart = true;
|
|
}
|
|
|
|
}
|
|
|
|
} |