mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-02-02 03:26:48 +01:00
PR comment resolution
This commit is contained in:
parent
1b39d7a892
commit
bcd6b1a934
@ -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) {
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user