From 0105d034b6a5df8a90ddb6bcab759f532f359914 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 7 Sep 2017 11:53:50 -0500 Subject: [PATCH] Show timestamp on summary notification --- .../main/java/org/tasks/notifications/NotificationDao.java | 3 +++ .../java/org/tasks/notifications/NotificationManager.java | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/tasks/notifications/NotificationDao.java b/app/src/main/java/org/tasks/notifications/NotificationDao.java index c4675f80d..99860eb6f 100644 --- a/app/src/main/java/org/tasks/notifications/NotificationDao.java +++ b/app/src/main/java/org/tasks/notifications/NotificationDao.java @@ -22,4 +22,7 @@ public interface NotificationDao { @Query("DELETE FROM notification WHERE task = :taskId") void delete(long taskId); + + @Query("SELECT MAX(timestamp) FROM notification") + long latestTimestamp(); } diff --git a/app/src/main/java/org/tasks/notifications/NotificationManager.java b/app/src/main/java/org/tasks/notifications/NotificationManager.java index c1575a4f9..33a12f89e 100644 --- a/app/src/main/java/org/tasks/notifications/NotificationManager.java +++ b/app/src/main/java/org/tasks/notifications/NotificationManager.java @@ -139,17 +139,18 @@ public class NotificationManager { Iterable notificationIds = transform(appDatabase.notificationDao().getAll(), n -> n.taskId); Filter notifications = new Filter(context.getString(R.string.notifications), new QueryTemplate().where(Task.ID.in(notificationIds))); + long when = appDatabase.notificationDao().latestTimestamp(); NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NotificationManager.NOTIFICATION_CHANNEL_DEFAULT) .setGroupSummary(true) .setGroup(GROUP_KEY) - .setShowWhen(false) + .setShowWhen(true) + .setWhen(when) .setSmallIcon(R.drawable.ic_done_all_white_24dp) .setContentIntent(PendingIntent.getActivity(context, 0, TaskIntents.getTaskListIntent(context, notifications), PendingIntent.FLAG_UPDATE_CURRENT)); if (notify) { builder.setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_SUMMARY) .setPriority(NotificationCompat.PRIORITY_HIGH) .setSound(preferences.getRingtone()); - } else { builder.setOnlyAlertOnce(true) .setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN);