From 6aede02a81fecfec631d7997d3326fc165765b69 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 5 Sep 2017 22:22:13 -0500 Subject: [PATCH] Only use notification activity pre-JB --- app/build.gradle | 3 ++- app/src/main/java/org/tasks/Notifier.java | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 444d8d7dd..590b2ea67 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0-beta2' + classpath 'com.android.tools.build:gradle:3.0.0-beta4' } } @@ -120,6 +120,7 @@ dependencies { exclude group: 'com.google.code.findbugs', module: 'jsr305' } debugCompile "com.facebook.stetho:stetho-timber:${STETHO_VERSION}@aar" + //noinspection GradleDependency debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1' debugCompile 'com.android.support:multidex:1.0.2' diff --git a/app/src/main/java/org/tasks/Notifier.java b/app/src/main/java/org/tasks/Notifier.java index 6a9b873af..ecb189c5b 100644 --- a/app/src/main/java/org/tasks/Notifier.java +++ b/app/src/main/java/org/tasks/Notifier.java @@ -19,6 +19,7 @@ import com.todoroo.astrid.voice.VoiceOutputAssistant; import org.tasks.db.AppDatabase; import org.tasks.injection.ForApplication; +import org.tasks.intents.TaskIntents; import org.tasks.jobs.JobQueueEntry; import org.tasks.notifications.AudioManager; import org.tasks.notifications.NotificationManager; @@ -42,6 +43,7 @@ import timber.log.Timber; import static android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static com.google.common.collect.Lists.transform; +import static com.todoroo.andlib.utility.AndroidUtilities.atLeastJellybean; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastNougat; import static org.tasks.notifications.NotificationManager.GROUP_KEY; import static org.tasks.time.DateTimeUtils.currentTimeMillis; @@ -157,12 +159,6 @@ public class Notifier { final String appName = context.getString(R.string.app_name); - final Intent intent = new Intent(context, NotificationActivity.class); - intent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_MULTIPLE_TASK); - intent.setAction("NOTIFY" + id); //$NON-NLS-1$ - intent.putExtra(NotificationActivity.EXTRA_TASK_ID, id); - intent.putExtra(NotificationActivity.EXTRA_TITLE, taskTitle); - NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NotificationManager.NOTIFICATION_CHANNEL_DEFAULT) .setCategory(NotificationCompat.CATEGORY_REMINDER) .setTicker(taskTitle) @@ -172,8 +168,18 @@ public class Notifier { .setSmallIcon(R.drawable.ic_check_white_24dp) .setWhen(when) .setShowWhen(true) - .setPriority(NotificationCompat.PRIORITY_HIGH) - .setContentIntent(PendingIntent.getActivity(context, (int) id, intent, PendingIntent.FLAG_UPDATE_CURRENT)); + .setPriority(NotificationCompat.PRIORITY_HIGH); + + if (atLeastJellybean()) { + builder.setContentIntent(PendingIntent.getActivity(context, (int) id, TaskIntents.getEditTaskIntent(context, null, id), PendingIntent.FLAG_UPDATE_CURRENT)); + } else { + final Intent intent = new Intent(context, NotificationActivity.class); + intent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_MULTIPLE_TASK); + intent.setAction("NOTIFY" + id); //$NON-NLS-1$ + intent.putExtra(NotificationActivity.EXTRA_TASK_ID, id); + intent.putExtra(NotificationActivity.EXTRA_TITLE, taskTitle); + builder.setContentIntent(PendingIntent.getActivity(context, (int) id, intent, PendingIntent.FLAG_UPDATE_CURRENT)); + } if (!Strings.isNullOrEmpty(taskDescription)) { builder.setStyle(new NotificationCompat.BigTextStyle().bigText(taskDescription));