]> git.zerfleddert.de Git - ms2-fixes/blobdiff - MS2Debounce/src/de/rmdir/ms2debounce/DebounceBootService.java
start service while booting to prevent module-loading getting killed
[ms2-fixes] / MS2Debounce / src / de / rmdir / ms2debounce / DebounceBootService.java
diff --git a/MS2Debounce/src/de/rmdir/ms2debounce/DebounceBootService.java b/MS2Debounce/src/de/rmdir/ms2debounce/DebounceBootService.java
new file mode 100644 (file)
index 0000000..78e4274
--- /dev/null
@@ -0,0 +1,56 @@
+package de.rmdir.ms2debounce;
+
+import android.app.Service;
+import android.content.Intent;
+import android.content.Context;
+import android.os.IBinder;
+import android.os.AsyncTask;
+import android.util.Log;
+
+public class DebounceBootService extends Service
+{
+       private static final String TAG = "DebounceBootService";
+
+       public IBinder onBind(Intent intent)
+       {
+               return null;
+       }
+
+       @Override
+       public void onCreate() 
+       {
+               Log.i(TAG, "Starting AsyncTask");
+               new AsyncTask<DebounceBootService, Void, Void>() {
+                       @Override
+                       protected Void doInBackground(DebounceBootService... svc) {
+                               Context context = getApplicationContext();
+                               DebounceModuleHelper module = new DebounceModuleHelper(context);
+
+                               Log.i(TAG, "Loading Module");
+
+                               try {
+                                       module.loadModule();
+                               } catch (Exception e) {
+                                       Log.e(TAG, "Got Exception: " + e.getMessage() + " (" + e.getCause() + ")");
+                               }
+
+                               svc[0].stopSelf();
+
+                               return null;
+                       }
+               }.execute(this);
+       }
+
+       @Override
+       public int onStartCommand(Intent intent, int flags, int startId) 
+       {
+               Log.i(TAG, "Creating STICKY service");
+               return START_STICKY;
+       }
+
+       @Override
+       public void onDestroy() 
+       {
+               Log.i(TAG, "Destroying service");
+       }
+}
Impressum, Datenschutz