X-Git-Url: https://git.cweiske.de/louyapi.git/blobdiff_plain/de7477d8bf4428ce9777b19f2b7b8a144f9ab1a2..d6a38bbd92c86a3d2266e90f6eb7d0b0152a5126:/src/main/java/de/cweiske/ouya/louyapi/HttpService.java diff --git a/src/main/java/de/cweiske/ouya/louyapi/HttpService.java b/src/main/java/de/cweiske/ouya/louyapi/HttpService.java new file mode 100644 index 0000000..f5cc534 --- /dev/null +++ b/src/main/java/de/cweiske/ouya/louyapi/HttpService.java @@ -0,0 +1,58 @@ +package de.cweiske.ouya.louyapi; + +import android.app.Service; +import android.content.Intent; +import android.os.IBinder; +import android.util.Log; + +import java.io.IOException; + +import fi.iki.elonen.NanoHTTPD; + +public class HttpService extends Service { + NanoHTTPD server; + + static String TAG = "HttpService"; + + @Override + public void onCreate() { + Log.i("service", "start service"); + super.onCreate(); + + server = new HttpServer(8080); + try { + server.start(NanoHTTPD.SOCKET_READ_TIMEOUT, false); + } catch (IOException ioe) { + //FIXME + Log.e(TAG, "Couldn't start server:\n" + ioe); + System.exit(-1); + } + } + + @Override + public void onDestroy() { + Log.i(TAG, "stop service"); + super.onDestroy(); + server.stop(); + + //restart the service + sendBroadcast(new Intent(this, Autostart.class)); + } + + @Override + public IBinder onBind(Intent intent) { + return null; + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + //android shall start the service again if killed + return START_STICKY; + } + + @Override + public void onTaskRemoved(Intent rootIntent) { + Log.i(TAG, "Task removed"); + super.onTaskRemoved(rootIntent); + } +} \ No newline at end of file