diff --git a/briar-android/AndroidManifest.xml b/briar-android/AndroidManifest.xml index b9c739b2a006e0d023d68608d787e02882d41625..1d3e635789fe07d52a9178519323e23856547b6c 100644 --- a/briar-android/AndroidManifest.xml +++ b/briar-android/AndroidManifest.xml @@ -58,7 +58,12 @@ <activity android:name=".android.contact.ContactListActivity" android:logo="@drawable/logo" - android:label="@string/contact_list_title" > + android:label="@string/contact_list_title" + android:parentActivityName=".android.HomeScreenActivity" > + <meta-data + android:name="android.support.PARENT_ACTIVITY" + android:value=".android.HomeScreenActivity" + /> </activity> <activity android:name=".android.contact.ConversationActivity" @@ -93,7 +98,12 @@ <activity android:name=".android.groups.GroupListActivity" android:logo="@drawable/logo" - android:label="@string/forums_title" > + android:label="@string/forums_title" + android:parentActivityName=".android.HomeScreenActivity" > + <meta-data + android:name="android.support.PARENT_ACTIVITY" + android:value=".android.HomeScreenActivity" + /> </activity> <activity android:name=".android.groups.ManageGroupsActivity" diff --git a/briar-android/src/org/briarproject/android/BriarService.java b/briar-android/src/org/briarproject/android/BriarService.java index 4e0f8ce8b53f932f99ef79ca3999c0eaef5690f9..702282acb2cab644a1afa9125b3f03c270616a1c 100644 --- a/briar-android/src/org/briarproject/android/BriarService.java +++ b/briar-android/src/org/briarproject/android/BriarService.java @@ -38,6 +38,7 @@ import android.content.ServiceConnection; import android.os.Binder; import android.os.IBinder; import android.support.v4.app.NotificationCompat; +import android.support.v4.app.TaskStackBuilder; public class BriarService extends RoboService implements EventListener { @@ -192,7 +193,10 @@ public class BriarService extends RoboService implements EventListener { b.setDefaults(DEFAULT_ALL); Intent i = new Intent(this, ContactListActivity.class); i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_SINGLE_TOP); - b.setContentIntent(PendingIntent.getActivity(this, 0, i, 0)); + TaskStackBuilder tsb = TaskStackBuilder.create(this); + tsb.addParentStack(ContactListActivity.class); + tsb.addNextIntent(i); + b.setContentIntent(tsb.getPendingIntent(0, 0)); Object o = getSystemService(NOTIFICATION_SERVICE); NotificationManager nm = (NotificationManager) o; nm.notify(PRIVATE_MESSAGE_NOTIFICATION_ID, b.build()); @@ -207,7 +211,10 @@ public class BriarService extends RoboService implements EventListener { b.setDefaults(DEFAULT_ALL); Intent i = new Intent(this, GroupListActivity.class); i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_SINGLE_TOP); - b.setContentIntent(PendingIntent.getActivity(this, 0, i, 0)); + TaskStackBuilder tsb = TaskStackBuilder.create(this); + tsb.addParentStack(GroupListActivity.class); + tsb.addNextIntent(i); + b.setContentIntent(tsb.getPendingIntent(0, 0)); Object o = getSystemService(NOTIFICATION_SERVICE); NotificationManager nm = (NotificationManager) o; nm.notify(GROUP_POST_NOTIFICATION_ID, b.build());