Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c0552a2b authored by Dan Pasanen's avatar Dan Pasanen Committed by Michael Bestas
Browse files

DeskClock: introduce low priority alarm notification channel

* Low priority alarms such as an upcoming alarm or snooze
  notification shouldn't make noise, vibrate or be intrusive.

* In addition, set them as ongoing notifications (preventing a
  user from swiping them away) since they should have to
  intentionally cancel the alarm.

Change-Id: I84ba2919dce39ecd4b002f501a397e2edf8ebd3c
parent 9885999b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1055,6 +1055,7 @@
    <string name="stopwatch_channel_name">Stopwatch</string>
    <!-- The user visible name of the timers channel. -->
    <string name="timer_channel_name">Timers</string>
    <!-- The user visible name of the alarms channel. -->
    <!-- The user visible names of the alarm channels. -->
    <string name="alarm_channel_name">Alarms</string>
    <string name="alarm_channel_low_priority_name">Alarm information</string>
</resources>
+9 −0
Original line number Diff line number Diff line
@@ -639,6 +639,10 @@ public class Utils {

        NotificationChannel channel = new NotificationChannel(id, name, importance);

        if (ALARM_CHANNEL_LOW_PRIORITY.equals(name)) {
            channel.setVibrationPattern(null);
        }

        manager.createNotificationChannel(channel);
    }

@@ -647,6 +651,8 @@ public class Utils {
    public static final String STOPWATCH_CHANNEL = "stopwatch_notification_channel";
    public static final String TIMER_CHANNEL = "timer_notification_channel";
    public static final String ALARM_CHANNEL = "alarm_notification_channel";
    public static final String ALARM_CHANNEL_LOW_PRIORITY =
                                               "alarm_notification_channel_low_priority";

    public static void createNotificationChannelsIfNeeded(Context context) {
        if (areNotificationChannelsCreated) {
@@ -664,5 +670,8 @@ public class Utils {
        createNotificationChannel(context, ALARM_CHANNEL,
                context.getString(R.string.alarm_channel_name),
                NotificationManager.IMPORTANCE_HIGH);
        createNotificationChannel(context, ALARM_CHANNEL_LOW_PRIORITY,
                context.getString(R.string.alarm_channel_low_priority_name),
                NotificationManager.IMPORTANCE_MIN);
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ final class AlarmNotifications {
        Utils.createNotificationChannelsIfNeeded(context);

        Notification.Builder builder = new Notification.Builder(context,
                    Utils.ALARM_CHANNEL)
                    Utils.ALARM_CHANNEL_LOW_PRIORITY)
                .setShowWhen(false)
                .setContentTitle(context.getString(
                        R.string.alarm_alert_predismiss_title))
@@ -98,6 +98,7 @@ final class AlarmNotifications {
                .setSortKey(createSortKey(instance))
                .setCategory(Notification.CATEGORY_ALARM)
                .setVisibility(Notification.VISIBILITY_PUBLIC)
                .setOngoing(true)
                .setLocalOnly(true);

        if (Utils.isNOrLater()) {