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