diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt b/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt index bd15bcff..4dc06c47 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt @@ -1,7 +1,6 @@ package com.simplemobiletools.clock.activities import android.annotation.SuppressLint -import android.app.NotificationManager import android.content.Intent import android.media.AudioManager import android.media.MediaPlayer @@ -126,7 +125,7 @@ class ReminderActivity : SimpleActivity() { } if (isOreoPlus()) { - getSystemService(NotificationManager::class.java).cancelAll() + notificationManager.cancelAll() } } else if (reminder_draggable.x <= minDragX + 50f) { if (!didVibrate) { @@ -136,7 +135,7 @@ class ReminderActivity : SimpleActivity() { } if (isOreoPlus()) { - getSystemService(NotificationManager::class.java).cancelAll() + notificationManager.cancelAll() } } } @@ -222,6 +221,10 @@ class ReminderActivity : SimpleActivity() { } private fun finishActivity() { + if (alarm != null) { + scheduleNextAlarm(alarm!!, false) + } + destroyPlayer() finish() overridePendingTransition(0, 0) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt index d4aa27ea..48e21408 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt @@ -10,7 +10,6 @@ import android.media.AudioAttributes import android.media.AudioManager import android.media.AudioManager.STREAM_ALARM import android.net.Uri -import android.os.Build import android.os.PowerManager import android.text.SpannableString import android.text.style.RelativeSizeSpan @@ -249,10 +248,10 @@ fun Context.getTimerNotification(pendingIntent: PendingIntent, addDeleteIntent: } val audioAttributes = AudioAttributes.Builder() - .setUsage(AudioAttributes.USAGE_ALARM) - .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) - .setLegacyStreamType(STREAM_ALARM) - .build() + .setUsage(AudioAttributes.USAGE_ALARM) + .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) + .setLegacyStreamType(STREAM_ALARM) + .build() val name = getString(R.string.timer) val importance = NotificationManager.IMPORTANCE_HIGH @@ -273,17 +272,17 @@ fun Context.getTimerNotification(pendingIntent: PendingIntent, addDeleteIntent: val reminderActivityIntent = getReminderActivityIntent() val builder = NotificationCompat.Builder(this) - .setContentTitle(getString(R.string.timer)) - .setContentText(getString(R.string.time_expired)) - .setSmallIcon(R.drawable.ic_timer) - .setContentIntent(pendingIntent) - .setPriority(NotificationCompat.PRIORITY_MAX) - .setDefaults(Notification.DEFAULT_LIGHTS) - .setCategory(Notification.CATEGORY_EVENT) - .setAutoCancel(true) - .setSound(Uri.parse(soundUri), AudioManager.STREAM_ALARM) - .setChannelId(channelId) - .addAction(R.drawable.ic_cross_vector, getString(R.string.dismiss), if (addDeleteIntent) reminderActivityIntent else getHideTimerPendingIntent()) + .setContentTitle(getString(R.string.timer)) + .setContentText(getString(R.string.time_expired)) + .setSmallIcon(R.drawable.ic_timer) + .setContentIntent(pendingIntent) + .setPriority(NotificationCompat.PRIORITY_MAX) + .setDefaults(Notification.DEFAULT_LIGHTS) + .setCategory(Notification.CATEGORY_EVENT) + .setAutoCancel(true) + .setSound(Uri.parse(soundUri), AudioManager.STREAM_ALARM) + .setChannelId(channelId) + .addAction(R.drawable.ic_cross_vector, getString(R.string.dismiss), if (addDeleteIntent) reminderActivityIntent else getHideTimerPendingIntent()) if (addDeleteIntent) { builder.setDeleteIntent(reminderActivityIntent) @@ -325,11 +324,11 @@ fun Context.getAlarmNotification(pendingIntent: PendingIntent, alarm: Alarm): No val label = if (alarm.label.isNotEmpty()) alarm.label else getString(R.string.alarm) if (isOreoPlus()) { val audioAttributes = AudioAttributes.Builder() - .setUsage(AudioAttributes.USAGE_ALARM) - .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) - .setLegacyStreamType(AudioManager.STREAM_ALARM) - .setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED) - .build() + .setUsage(AudioAttributes.USAGE_ALARM) + .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) + .setLegacyStreamType(AudioManager.STREAM_ALARM) + .setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED) + .build() val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val importance = NotificationManager.IMPORTANCE_HIGH @@ -344,17 +343,17 @@ fun Context.getAlarmNotification(pendingIntent: PendingIntent, alarm: Alarm): No } val builder = NotificationCompat.Builder(this) - .setContentTitle(label) - .setContentText(getFormattedTime(getPassedSeconds(), false, false)) - .setSmallIcon(R.drawable.ic_alarm_vector) - .setContentIntent(pendingIntent) - .setPriority(Notification.PRIORITY_HIGH) - .setDefaults(Notification.DEFAULT_LIGHTS) - .setAutoCancel(true) - .setSound(Uri.parse(soundUri), AudioManager.STREAM_ALARM) - .setChannelId(channelId) - .addAction(R.drawable.ic_snooze_vector, getString(R.string.snooze), getSnoozePendingIntent(alarm)) - .addAction(R.drawable.ic_cross_vector, getString(R.string.dismiss), getHideAlarmPendingIntent(alarm)) + .setContentTitle(label) + .setContentText(getFormattedTime(getPassedSeconds(), false, false)) + .setSmallIcon(R.drawable.ic_alarm_vector) + .setContentIntent(pendingIntent) + .setPriority(Notification.PRIORITY_HIGH) + .setDefaults(Notification.DEFAULT_LIGHTS) + .setAutoCancel(true) + .setSound(Uri.parse(soundUri), AudioManager.STREAM_ALARM) + .setChannelId(channelId) + .addAction(R.drawable.ic_snooze_vector, getString(R.string.snooze), getSnoozePendingIntent(alarm)) + .addAction(R.drawable.ic_cross_vector, getString(R.string.dismiss), getHideAlarmPendingIntent(alarm)) builder.setVisibility(Notification.VISIBILITY_PUBLIC)