From 4b05b2acf9ba6852628adb1eda2fecdd9a2b580b Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Wed, 5 Feb 2014 16:22:42 +0000
Subject: [PATCH] Some versions of Android require notifications to have
 content intents.

---
 .../src/org/briarproject/android/BriarActivity.java          | 5 ++---
 briar-android/src/org/briarproject/android/BriarService.java | 5 ++++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/briar-android/src/org/briarproject/android/BriarActivity.java b/briar-android/src/org/briarproject/android/BriarActivity.java
index aa4f429c78..3e585c2a1f 100644
--- a/briar-android/src/org/briarproject/android/BriarActivity.java
+++ b/briar-android/src/org/briarproject/android/BriarActivity.java
@@ -34,7 +34,6 @@ public class BriarActivity extends RoboFragmentActivity {
 	@Override
 	public void onCreate(Bundle state) {
 		super.onCreate(state);
-		if(LOG.isLoggable(INFO)) LOG.info("Created");
 		if(System.currentTimeMillis() >= EXPIRY_DATE) {
 			if(LOG.isLoggable(INFO)) LOG.info("Expired");
 			Intent i = new Intent(this, ExpiredActivity.class);
@@ -66,13 +65,13 @@ public class BriarActivity extends RoboFragmentActivity {
 		unbindService();
 	}
 
-	protected void startAndBindService() {
+	private void startAndBindService() {
 		startService(new Intent(BriarService.class.getName()));
 		bound = bindService(new Intent(BriarService.class.getName()),
 				serviceConnection, 0);
 	}
 
-	protected void unbindService() {
+	private void unbindService() {
 		if(bound) unbindService(serviceConnection);
 	}
 
diff --git a/briar-android/src/org/briarproject/android/BriarService.java b/briar-android/src/org/briarproject/android/BriarService.java
index d4829e2c7f..f0a82a053b 100644
--- a/briar-android/src/org/briarproject/android/BriarService.java
+++ b/briar-android/src/org/briarproject/android/BriarService.java
@@ -96,11 +96,14 @@ public class BriarService extends RoboService {
 		b.setSmallIcon(android.R.drawable.stat_notify_error);
 		b.setContentTitle(getText(R.string.startup_failed_notification_title));
 		b.setContentText(getText(R.string.startup_failed_notification_text));
+		Intent i = new Intent(this, HomeScreenActivity.class);
+		i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP);
+		b.setContentIntent(PendingIntent.getActivity(this, 0, i, 0));
 		Object o = getSystemService(Context.NOTIFICATION_SERVICE);
 		NotificationManager nm = (NotificationManager) o;
 		nm.notify(FAILURE_NOTIFICATION_ID, b.build());
 		// Bring HomeScreenActivity to the front to clear all other activities
-		Intent i = new Intent(this, HomeScreenActivity.class);
+		i = new Intent(this, HomeScreenActivity.class);
 		i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP);
 		i.putExtra("briar.STARTUP_FAILED", true);
 		startActivity(i);
-- 
GitLab