|
|
@ -10,14 +10,14 @@ import org.tasks.time.DateTimeUtils.withMillisOfDay
|
|
|
|
import javax.inject.Inject
|
|
|
|
import javax.inject.Inject
|
|
|
|
|
|
|
|
|
|
|
|
class AlarmCalculator(
|
|
|
|
class AlarmCalculator(
|
|
|
|
private val preferences: Preferences,
|
|
|
|
private val isDefaultDueTimeEnabled: Boolean,
|
|
|
|
private val random: Random,
|
|
|
|
private val random: Random,
|
|
|
|
private val defaultTimeProvider: () -> Int,
|
|
|
|
private val defaultDueTime: Int,
|
|
|
|
){
|
|
|
|
){
|
|
|
|
@Inject
|
|
|
|
@Inject
|
|
|
|
internal constructor(
|
|
|
|
internal constructor(
|
|
|
|
preferences: Preferences
|
|
|
|
preferences: Preferences
|
|
|
|
) : this(preferences, Random(), { preferences.defaultDueTime })
|
|
|
|
) : this(preferences.isDefaultDueTimeEnabled, Random(), preferences.defaultDueTime)
|
|
|
|
|
|
|
|
|
|
|
|
fun toAlarmEntry(task: Task, alarm: Alarm): AlarmEntry? {
|
|
|
|
fun toAlarmEntry(task: Task, alarm: Alarm): AlarmEntry? {
|
|
|
|
val trigger = when (alarm.type) {
|
|
|
|
val trigger = when (alarm.type) {
|
|
|
@ -29,7 +29,7 @@ class AlarmCalculator(
|
|
|
|
task.hasStartTime() ->
|
|
|
|
task.hasStartTime() ->
|
|
|
|
task.hideUntil + alarm.time
|
|
|
|
task.hideUntil + alarm.time
|
|
|
|
task.hasStartDate() ->
|
|
|
|
task.hasStartDate() ->
|
|
|
|
task.hideUntil.withMillisOfDay(defaultTimeProvider()) + alarm.time
|
|
|
|
task.hideUntil.withMillisOfDay(defaultDueTime) + alarm.time
|
|
|
|
else ->
|
|
|
|
else ->
|
|
|
|
AlarmService.NO_ALARM
|
|
|
|
AlarmService.NO_ALARM
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -37,8 +37,8 @@ class AlarmCalculator(
|
|
|
|
when {
|
|
|
|
when {
|
|
|
|
task.hasDueTime() ->
|
|
|
|
task.hasDueTime() ->
|
|
|
|
task.dueDate + alarm.time
|
|
|
|
task.dueDate + alarm.time
|
|
|
|
task.hasDueDate() && preferences.isDefaultDueTimeEnabled ->
|
|
|
|
task.hasDueDate() && isDefaultDueTimeEnabled ->
|
|
|
|
task.dueDate.withMillisOfDay(defaultTimeProvider()) + alarm.time
|
|
|
|
task.dueDate.withMillisOfDay(defaultDueTime) + alarm.time
|
|
|
|
else ->
|
|
|
|
else ->
|
|
|
|
AlarmService.NO_ALARM
|
|
|
|
AlarmService.NO_ALARM
|
|
|
|
}
|
|
|
|
}
|
|
|
|