diff --git a/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java b/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java
index d6a0253a2..770174297 100644
--- a/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java
+++ b/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java
@@ -172,6 +172,9 @@ public class NotificationTray
private final long reminderTime;
+ private final String GROUP_KEY_HABITS = "group_key_habits";
+ private static final int SUMMARY_ID = 0;
+
public ShowNotificationTask(Habit habit, NotificationData data)
{
this.habit = habit;
@@ -221,17 +224,29 @@ public class NotificationTray
.addAction(snoozeAction)
.setSound(getRingtoneUri(context))
.extend(wearableExtender)
+ .setGroup(GROUP_KEY_HABITS)
.setWhen(reminderTime)
.setShowWhen(true)
.setOngoing(preferences.shouldMakeNotificationsSticky())
.build();
+ //you need to create a summary notification to group notifications together.
+ Notification summaryNotification = new Builder(context)
+ .setSmallIcon(R.drawable.ic_notification)
+ .setContentTitle(context.getString(R.string.summary_notification_title))
+ .setWhen(reminderTime)
+ .setGroupSummary(true)
+ .setGroup(GROUP_KEY_HABITS)
+ .setShowWhen(true)
+ .build();
+
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(
Activity.NOTIFICATION_SERVICE);
int notificationId = getNotificationId(habit);
notificationManager.notify(notificationId, notification);
+ notificationManager.notify(SUMMARY_ID, summaryNotification);
}
private boolean shouldShowReminderToday()
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 04b2c20bc..e985ba481 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -203,4 +203,5 @@
By color
By score
Download
+ Habit Reminders
\ No newline at end of file