mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-03-05 12:07:54 +01:00
Removed time formatting function to avoid code duplication
This commit is contained in:
parent
728c2b50b1
commit
8543f2dafe
@ -161,7 +161,6 @@ fun Context.setupAlarmClock(alarm: Alarm, triggerInSeconds: Int) {
|
||||
fun Context.getEarlyAlarmDismissalIntent(alarm: Alarm): PendingIntent {
|
||||
val intent = Intent(this, EarlyAlarmDismissalReceiver::class.java).apply {
|
||||
putExtra(ALARM_ID, alarm.id)
|
||||
putExtra(ALARM_TIME, alarm.timeInMinutes)
|
||||
}
|
||||
return PendingIntent.getBroadcast(this, EARLY_ALARM_DISMISSAL_INTENT_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ const val TABS_COUNT = 4
|
||||
const val EDITED_TIME_ZONE_SEPARATOR = ":"
|
||||
const val ALARM_ID = "alarm_id"
|
||||
const val NOTIFICATION_ID = "notification_id"
|
||||
const val ALARM_TIME = "alarm_time"
|
||||
const val DEFAULT_ALARM_MINUTES = 480
|
||||
const val DEFAULT_MAX_ALARM_REMINDER_SECS = 300
|
||||
const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60
|
||||
|
@ -37,7 +37,7 @@ class DismissAlarmReceiver : BroadcastReceiver() {
|
||||
private fun scheduleNextAlarm(alarm: Alarm, context: Context) {
|
||||
val oldBitmask = alarm.days
|
||||
alarm.days = removeTodayFromBitmask(oldBitmask)
|
||||
context.scheduleNextAlarm(alarm, true)
|
||||
context.scheduleNextAlarm(alarm, false)
|
||||
alarm.days = oldBitmask
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,7 @@ import android.text.format.DateFormat
|
||||
import androidx.core.app.NotificationCompat
|
||||
import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.clock.extensions.getDismissAlarmPendingIntent
|
||||
import com.simplemobiletools.clock.extensions.getNextAlarm
|
||||
import com.simplemobiletools.clock.extensions.getOpenAlarmTabIntent
|
||||
import com.simplemobiletools.clock.helpers.*
|
||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
@ -24,11 +25,10 @@ class EarlyAlarmDismissalReceiver : BroadcastReceiver() {
|
||||
return
|
||||
}
|
||||
|
||||
val alarmTime = intent.getIntExtra(ALARM_TIME, -1)
|
||||
triggerEarlyDismissalNotification(context, alarmTime, alarmId)
|
||||
triggerEarlyDismissalNotification(context, alarmId)
|
||||
}
|
||||
|
||||
private fun triggerEarlyDismissalNotification(context: Context, alarmTime: Int, alarmId: Int) {
|
||||
private fun triggerEarlyDismissalNotification(context: Context, alarmId: Int) {
|
||||
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
if (isOreoPlus()) {
|
||||
NotificationChannel(EARLY_ALARM_DISMISSAL_CHANNEL_ID, context.getString(R.string.early_alarm_dismissal), NotificationManager.IMPORTANCE_DEFAULT).apply {
|
||||
@ -42,7 +42,7 @@ class EarlyAlarmDismissalReceiver : BroadcastReceiver() {
|
||||
val contentIntent = context.getOpenAlarmTabIntent()
|
||||
val notification = NotificationCompat.Builder(context)
|
||||
.setContentTitle(context.getString(R.string.upcoming_alarm))
|
||||
.setContentText(getNotificationTimeString(alarmTime, context))
|
||||
.setContentText(context.getNextAlarm())
|
||||
.setSmallIcon(R.drawable.ic_alarm_vector)
|
||||
.setPriority(Notification.PRIORITY_LOW)
|
||||
.addAction(0, context.getString(R.string.dismiss), dismissIntent)
|
||||
@ -55,21 +55,4 @@ class EarlyAlarmDismissalReceiver : BroadcastReceiver() {
|
||||
notificationManager.notify(EARLY_ALARM_NOTIF_ID, notification)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the time at which the alarm is going to fire.
|
||||
* eg: "Sun 1:30 pm"
|
||||
*/
|
||||
private fun getNotificationTimeString(alarmTime: Int, context: Context): String {
|
||||
val calendar = Calendar.getInstance()
|
||||
val triggerTime = ((alarmTime - getCurrentDayMinutes()) * 60) - calendar.get(Calendar.SECOND)
|
||||
val targetMs = System.currentTimeMillis() + (triggerTime * 1000)
|
||||
val is24HourFormat = DateFormat.is24HourFormat(context)
|
||||
val sdf = if (is24HourFormat) {
|
||||
SimpleDateFormat("EEE HH:mm", Locale.getDefault())
|
||||
} else {
|
||||
SimpleDateFormat("EEE h:mm a", Locale.getDefault())
|
||||
}
|
||||
return sdf.format(Date(targetMs))
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user