From 2f5b7b63e4075dc44bdd3c8dd0f2d8817479786a Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Wed, 13 Oct 2021 22:58:07 +0200 Subject: [PATCH] Opening from notification: pressing back goes to TrackListActivity. Fixes #928. --- src/main/AndroidManifest.xml | 6 +++++- .../opentracks/services/TrackRecordingService.java | 10 +++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index f8dcd78ca..d5aa126a1 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -308,7 +308,11 @@ limitations under the License. - + + + diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index 89feed916..db026fa71 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -377,16 +377,15 @@ public class TrackRecordingService extends Service implements TrackPointCreator. private void showNotification(boolean isGpsStarted) { if (isRecording()) { - Intent intent = IntentUtils.newIntent(this, TrackRecordingActivity.class) - .putExtra(TrackRecordingActivity.EXTRA_TRACK_ID, recordingStatus.getTrackId()); + Intent intent = IntentUtils.newIntent(this, TrackRecordingActivity.class); int pendingIntentFlags = PendingIntent.FLAG_UPDATE_CURRENT; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { pendingIntentFlags |= PendingIntent.FLAG_IMMUTABLE; } + PendingIntent pendingIntent = TaskStackBuilder.create(this) - .addParentStack(TrackRecordingActivity.class) - .addNextIntent(intent) + .addNextIntentWithParentStack(intent) .getPendingIntent(0, pendingIntentFlags); notificationManager.updatePendingIntent(pendingIntent); @@ -398,9 +397,10 @@ public class TrackRecordingService extends Service implements TrackPointCreator. int pendingIntentFlags = 0; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { - pendingIntentFlags = PendingIntent.FLAG_IMMUTABLE; + pendingIntentFlags = PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT; } PendingIntent pendingIntent = TaskStackBuilder.create(this) + .addParentStack(TrackListActivity.class) .addNextIntent(intent) .getPendingIntent(0, pendingIntentFlags);