PR comment resolution

This commit is contained in:
Rawlin C 2023-07-03 08:48:12 +05:30
parent 1b39d7a892
commit bcd6b1a934
3 changed files with 11 additions and 11 deletions

View File

@ -145,10 +145,10 @@ fun Context.setupAlarmClock(alarm: Alarm, triggerInSeconds: Int) {
AlarmManagerCompat.setAlarmClock(alarmManager, targetMS, getOpenAlarmTabIntent(), getAlarmIntent(alarm)) AlarmManagerCompat.setAlarmClock(alarmManager, targetMS, getOpenAlarmTabIntent(), getAlarmIntent(alarm))
// Trigger a notification to dismiss the alarm 5 minutes before the alarm if the screen is on // Trigger a notification to dismiss the alarm 5 minutes before the alarm if the screen is on
val dismissalTriggerTime = if (targetMS - System.currentTimeMillis() < (5.minutes.inWholeMilliseconds)) { val dismissalTriggerTime = if (targetMS - System.currentTimeMillis() < 5.minutes.inWholeMilliseconds) {
(System.currentTimeMillis() + 500) System.currentTimeMillis() + 500
} else { } else {
targetMS - (5.minutes.inWholeMilliseconds) targetMS - 5.minutes.inWholeMilliseconds
} }
AlarmManagerCompat.setExactAndAllowWhileIdle(alarmManager, 0, dismissalTriggerTime, getEarlyAlarmDismissalIntent(alarm)) AlarmManagerCompat.setExactAndAllowWhileIdle(alarmManager, 0, dismissalTriggerTime, getEarlyAlarmDismissalIntent(alarm))
} catch (e: Exception) { } catch (e: Exception) {

View File

@ -40,13 +40,10 @@ class DismissAlarmReceiver: BroadcastReceiver() {
private fun removeTodayFromBitmask(bitmask: Int): Int { private fun removeTodayFromBitmask(bitmask: Int): Int {
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
var dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - Calendar.MONDAY // This will give values from 0 (Monday) to 6 (Sunday) calendar.firstDayOfWeek = Calendar.MONDAY
val dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - Calendar.MONDAY // This will give values from 0 (Monday) to 6 (Sunday)
if (dayOfWeek < 0) { // Adjust for Calendar.MONDAY being 2 val todayBitmask = 1 shl dayOfWeek // This will left shift 0000001 by dayOfWeek places, creating a bitmask for today
dayOfWeek += 7
}
val todayBitmask = 1 shl dayOfWeek // This will shift the number 1 to the left by dayOfWeek places, creating a bitmask for today
return bitmask and todayBitmask.inv() // This will return a new bitmask without today included return bitmask and todayBitmask.inv() // This will return a new bitmask without today included
} }
} }

View File

@ -19,13 +19,15 @@ class EarlyAlarmDismissalReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {
val alarmId = intent.getIntExtra(ALARM_ID, -1) val alarmId = intent.getIntExtra(ALARM_ID, -1)
if (alarmId == -1) return if (alarmId == -1) {
return
}
val alarmTime = intent.getIntExtra(ALARM_TIME, -1) val alarmTime = intent.getIntExtra(ALARM_TIME, -1)
triggerEarlyDismissalNotification(context, alarmTime, alarmId) triggerEarlyDismissalNotification(context, alarmTime, alarmId)
} }
private fun triggerEarlyDismissalNotification(context: Context, alarmTime: Int, alarmId: Int) { private fun triggerEarlyDismissalNotification(context: Context, alarmTime: Int, alarmId: Int) {
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
if (isOreoPlus()) { if (isOreoPlus()) {
NotificationChannel(EARLY_ALARM_DISMISSAL_CHANNEL_ID, context.getString(R.string.early_alarm_dismissal), NotificationManager.IMPORTANCE_DEFAULT).apply { NotificationChannel(EARLY_ALARM_DISMISSAL_CHANNEL_ID, context.getString(R.string.early_alarm_dismissal), NotificationManager.IMPORTANCE_DEFAULT).apply {
@ -34,6 +36,7 @@ class EarlyAlarmDismissalReceiver : BroadcastReceiver() {
notificationManager.createNotificationChannel(this) notificationManager.createNotificationChannel(this)
} }
} }
val dismissIntent = context.getDismissAlarmPendingIntent(alarmId, EARLY_ALARM_NOTIF_ID) val dismissIntent = context.getDismissAlarmPendingIntent(alarmId, EARLY_ALARM_NOTIF_ID)
val contentIntent = context.getOpenAlarmTabIntent() val contentIntent = context.getOpenAlarmTabIntent()
val notification = NotificationCompat.Builder(context) val notification = NotificationCompat.Builder(context)