From 49e6113e5d248156fff94e380efd2c83679fff0d Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Mon, 18 Feb 2013 18:54:07 +0000
Subject: [PATCH] Allow binding to the local BriarService instance.

---
 .../src/net/sf/briar/android/BriarService.java     | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/briar-android/src/net/sf/briar/android/BriarService.java b/briar-android/src/net/sf/briar/android/BriarService.java
index d2aff0514a..dee2fda340 100644
--- a/briar-android/src/net/sf/briar/android/BriarService.java
+++ b/briar-android/src/net/sf/briar/android/BriarService.java
@@ -13,6 +13,7 @@ import net.sf.briar.api.db.DbException;
 import net.sf.briar.api.plugins.PluginManager;
 import roboguice.service.RoboService;
 import android.content.Intent;
+import android.os.Binder;
 import android.os.IBinder;
 import android.support.v4.app.NotificationCompat;
 
@@ -23,6 +24,8 @@ public class BriarService extends RoboService {
 	private static final Logger LOG =
 			Logger.getLogger(BriarService.class.getName());
 
+	private final Binder binder = new BriarBinder();
+
 	@Inject private DatabaseComponent db;
 	@Inject private KeyManager keyManager;
 	@Inject private PluginManager pluginManager;
@@ -49,12 +52,12 @@ public class BriarService extends RoboService {
 	@Override
 	public int onStartCommand(Intent intent, int flags, int startId) {
 		if(LOG.isLoggable(INFO)) LOG.info("Started");
-		return 0;
+		return START_STICKY;
 	}
 
 	@Override
 	public IBinder onBind(Intent intent) {
-		return null;
+		return binder;
 	}
 
 	@Override
@@ -102,4 +105,11 @@ public class BriarService extends RoboService {
 			if(LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e);
 		}
 	}
+
+	public class BriarBinder extends Binder {
+
+		BriarService getService() {
+			return BriarService.this;
+		}
+	}
 }
-- 
GitLab