Notification channel cleanup

This commit is contained in:
Rawlin C
2023-06-28 19:20:32 +05:30
parent d88ca55587
commit f3402b5a61
2 changed files with 13 additions and 3 deletions

View File

@ -30,6 +30,7 @@ const val DEFAULT_ALARM_MINUTES = 480
const val DEFAULT_MAX_ALARM_REMINDER_SECS = 300 const val DEFAULT_MAX_ALARM_REMINDER_SECS = 300
const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60 const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60
const val SIMPLE_PHONE = "Simple_Phone" const val SIMPLE_PHONE = "Simple_Phone"
const val ALARM_NOTIFICATION_CHANNEL_ID = "Alarm_Channel"
const val PICK_AUDIO_FILE_INTENT_ID = 9994 const val PICK_AUDIO_FILE_INTENT_ID = 9994
const val REMINDER_ACTIVITY_INTENT_ID = 9995 const val REMINDER_ACTIVITY_INTENT_ID = 9995

View File

@ -6,12 +6,15 @@ import android.app.PendingIntent
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build
import android.os.Handler import android.os.Handler
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import com.simplemobiletools.clock.R import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.activities.ReminderActivity import com.simplemobiletools.clock.activities.ReminderActivity
import com.simplemobiletools.clock.extensions.* import com.simplemobiletools.clock.extensions.*
import com.simplemobiletools.clock.helpers.ALARM_ID import com.simplemobiletools.clock.helpers.ALARM_ID
import com.simplemobiletools.clock.helpers.ALARM_NOTIFICATION_CHANNEL_ID
import com.simplemobiletools.clock.helpers.ALARM_NOTIF_ID import com.simplemobiletools.clock.helpers.ALARM_NOTIF_ID
import com.simplemobiletools.commons.extensions.showErrorToast import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.helpers.isOreoPlus import com.simplemobiletools.commons.helpers.isOreoPlus
@ -31,8 +34,9 @@ class AlarmReceiver : BroadcastReceiver() {
if (isOreoPlus()) { if (isOreoPlus()) {
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
if (notificationManager.getNotificationChannel("Alarm") == null) { if (notificationManager.getNotificationChannel(ALARM_NOTIFICATION_CHANNEL_ID) == null) {
NotificationChannel("Alarm", "Alarm", NotificationManager.IMPORTANCE_HIGH).apply { oldNotificationChannelCleanup(notificationManager) // cleans up previous notification channel that had sound properties
NotificationChannel(ALARM_NOTIFICATION_CHANNEL_ID, "Alarm", NotificationManager.IMPORTANCE_HIGH).apply {
setBypassDnd(true) setBypassDnd(true)
setSound(null, null) setSound(null, null)
notificationManager.createNotificationChannel(this) notificationManager.createNotificationChannel(this)
@ -44,7 +48,7 @@ class AlarmReceiver : BroadcastReceiver() {
putExtra(ALARM_ID, id) putExtra(ALARM_ID, id)
}, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) }, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
val builder = NotificationCompat.Builder(context, "Alarm") val builder = NotificationCompat.Builder(context, ALARM_NOTIFICATION_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_alarm_vector) .setSmallIcon(R.drawable.ic_alarm_vector)
.setContentTitle(context.getString(R.string.alarm)) .setContentTitle(context.getString(R.string.alarm))
.setAutoCancel(true) .setAutoCancel(true)
@ -66,4 +70,9 @@ class AlarmReceiver : BroadcastReceiver() {
} }
} }
} }
@RequiresApi(Build.VERSION_CODES.O)
private fun oldNotificationChannelCleanup(notificationManager: NotificationManager) {
notificationManager.deleteNotificationChannel("Alarm")
}
} }