mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-24 19:56:00 +00:00
Fix bug with schedule end being set to midnight.
This commit is contained in:
committed by
Greyson Parrelli
parent
b69ffe4e15
commit
adcb1bae13
@@ -60,7 +60,8 @@ class EditNotificationProfileScheduleViewModel(
|
||||
}
|
||||
|
||||
fun setEndTime(hour: Int, minute: Int) {
|
||||
scheduleSubject.onNext(schedule.copy(end = hour * 100 + minute))
|
||||
val adjustedEndHour = if (hour == 0) 24 else hour
|
||||
scheduleSubject.onNext(schedule.copy(end = adjustedEndHour * 100 + minute))
|
||||
}
|
||||
|
||||
fun setEnabled(enabled: Boolean) {
|
||||
|
||||
@@ -180,8 +180,9 @@ object SignalDatabaseMigrations {
|
||||
private const val REACTION_REFACTOR = 121
|
||||
private const val PNI = 122
|
||||
private const val NOTIFICATION_PROFILES = 123
|
||||
private const val NOTIFICATION_PROFILES_END_FIX = 124
|
||||
|
||||
const val DATABASE_VERSION = 123
|
||||
const val DATABASE_VERSION = 124
|
||||
|
||||
@JvmStatic
|
||||
fun migrate(context: Context, db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
|
||||
@@ -2222,6 +2223,15 @@ object SignalDatabaseMigrations {
|
||||
db.execSQL("CREATE INDEX notification_profile_schedule_profile_index ON notification_profile_schedule (notification_profile_id)")
|
||||
db.execSQL("CREATE INDEX notification_profile_allowed_members_profile_index ON notification_profile_allowed_members (notification_profile_id)")
|
||||
}
|
||||
|
||||
if (oldVersion < NOTIFICATION_PROFILES_END_FIX) {
|
||||
db.execSQL(
|
||||
// language=sql
|
||||
"""
|
||||
UPDATE notification_profile_schedule SET end = 2400 WHERE end = 0
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
|
||||
@@ -56,7 +56,8 @@ data class NotificationProfileSchedule(
|
||||
}
|
||||
|
||||
fun endTime(): LocalTime {
|
||||
return LocalTime.of(end / 100, end % 100)
|
||||
val adjustedEnd = if (end == 2400) 0 else end
|
||||
return LocalTime.of(adjustedEnd / 100, adjustedEnd % 100)
|
||||
}
|
||||
|
||||
fun endDateTime(localNow: LocalDateTime): LocalDateTime {
|
||||
@@ -73,8 +74,8 @@ data class NotificationProfileSchedule(
|
||||
|
||||
fun Int.toLocalDateTime(now: LocalDateTime): LocalDateTime {
|
||||
if (this == 2400) {
|
||||
return now.plusDays(1).withHour(0)
|
||||
return now.plusDays(1).withHour(0).withMinute(0).withSecond(0)
|
||||
}
|
||||
|
||||
return now.withHour(this / 100).withMinute(this % 100)
|
||||
return now.withHour(this / 100).withMinute(this % 100).withSecond(0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user