kopia lustrzana https://github.com/ryukoposting/Signal-Android
rodzic
89b918fbd2
commit
50b37e0402
|
@ -51,8 +51,15 @@ data class NotificationProfileSchedule(
|
||||||
return LocalTime.of(start / 100, start % 100)
|
return LocalTime.of(start / 100, start % 100)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun startDateTime(now: LocalDateTime): LocalDateTime {
|
fun startDateTime(localNow: LocalDateTime): LocalDateTime {
|
||||||
return start.toLocalDateTime(now)
|
val localStart: LocalDateTime = start.toLocalDateTime(localNow)
|
||||||
|
val localEnd: LocalDateTime = end.toLocalDateTime(localNow)
|
||||||
|
|
||||||
|
return if (end < start && (daysEnabled.contains(localStart.dayOfWeek.minus(1)) && localNow.isBetween(localStart.minusDays(1), localEnd))) {
|
||||||
|
localStart.minusDays(1)
|
||||||
|
} else {
|
||||||
|
localStart
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun endTime(): LocalTime {
|
fun endTime(): LocalTime {
|
||||||
|
|
|
@ -151,4 +151,15 @@ class NotificationProfilesTest {
|
||||||
val profiles = listOf(first.copy(schedule = schedule))
|
val profiles = listOf(first.copy(schedule = schedule))
|
||||||
assertThat("active profile is first", NotificationProfiles.getActiveProfile(profiles, monday830am.toMillis(ZoneOffset.UTC), utc), `is`(profiles[0]))
|
assertThat("active profile is first", NotificationProfiles.getActiveProfile(profiles, monday830am.toMillis(ZoneOffset.UTC), utc), `is`(profiles[0]))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `when profile is manually disabled and schedule is on but with start after end and now is before end then return null`() {
|
||||||
|
signalStore.dataSet.putLong(NotificationProfileValues.KEY_MANUALLY_ENABLED_PROFILE, 0)
|
||||||
|
signalStore.dataSet.putLong(NotificationProfileValues.KEY_MANUALLY_ENABLED_UNTIL, 0)
|
||||||
|
signalStore.dataSet.putLong(NotificationProfileValues.KEY_MANUALLY_DISABLED_AT, sunday830am.toMillis(ZoneOffset.UTC))
|
||||||
|
|
||||||
|
val schedule = NotificationProfileSchedule(id = 3L, enabled = true, start = 2200, end = 1000, daysEnabled = DayOfWeek.values().toSet())
|
||||||
|
val profiles = listOf(first.copy(schedule = schedule))
|
||||||
|
assertThat("active profile is null", NotificationProfiles.getActiveProfile(profiles, sunday9am.toMillis(ZoneOffset.UTC), utc), nullValue())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue