From 9944fbb4870df457d6ccd905a153fa1a8cfbd48b Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 3 Nov 2025 09:50:21 -0500 Subject: [PATCH] Fix next backup interval test. --- .../thoughtcrime/securesms/service/MessageBackupListener.kt | 6 ++++-- .../securesms/service/MessageBackupListenerTest.kt | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/MessageBackupListener.kt b/app/src/main/java/org/thoughtcrime/securesms/service/MessageBackupListener.kt index 604c349c4f..7fd2dbb4b2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/MessageBackupListener.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/service/MessageBackupListener.kt @@ -10,7 +10,9 @@ import androidx.annotation.VisibleForTesting import org.thoughtcrime.securesms.jobs.BackupMessagesJob import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.util.toMillis +import org.thoughtcrime.securesms.util.toOffset import java.time.LocalDateTime +import java.time.ZoneId import java.util.Random import kotlin.time.Duration.Companion.days import kotlin.time.Duration.Companion.minutes @@ -62,11 +64,11 @@ class MessageBackupListener : PersistentAlarmManagerListener() { } @VisibleForTesting - fun setNextBackupTimeToIntervalFromNow(now: LocalDateTime = LocalDateTime.now(), maxJitterSeconds: Int = BACKUP_JITTER_WINDOW_SECONDS, randomSource: Random = Random()): Long { + fun setNextBackupTimeToIntervalFromNow(zoneId: ZoneId = ZoneId.systemDefault(), now: LocalDateTime = LocalDateTime.now(zoneId), maxJitterSeconds: Int = BACKUP_JITTER_WINDOW_SECONDS, randomSource: Random = Random()): Long { val hour = SignalStore.settings.signalBackupHour val minute = SignalStore.settings.signalBackupMinute val next = getNextDailyBackupTimeFromNowWithJitter(now, hour, minute, maxJitterSeconds, randomSource) - val nextTime = next.toMillis() + val nextTime = next.toMillis(zoneId.toOffset()) SignalStore.backup.nextBackupTime = nextTime return nextTime } diff --git a/app/src/test/java/org/thoughtcrime/securesms/service/MessageBackupListenerTest.kt b/app/src/test/java/org/thoughtcrime/securesms/service/MessageBackupListenerTest.kt index 273d57c09c..942a595c4b 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/service/MessageBackupListenerTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/service/MessageBackupListenerTest.kt @@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.testutil.MockSignalStoreRule import org.thoughtcrime.securesms.util.toLocalDateTime import java.time.Duration import java.time.LocalDateTime +import java.time.ZoneId import java.util.concurrent.TimeUnit import kotlin.time.Duration.Companion.days import kotlin.time.Duration.Companion.hours @@ -78,8 +79,9 @@ class MessageBackupListenerTest { val nextDateTime = MessageBackupListener.setNextBackupTimeToIntervalFromNow( now = now, maxJitterSeconds = jitterWindow.inWholeSeconds.toInt(), - randomSource = mockRandom - ).toLocalDateTime() + randomSource = mockRandom, + zoneId = ZoneId.of("UTC") + ).toLocalDateTime(ZoneId.of("UTC")) assertThat(nextDateTime.dayOfMonth).isEqualTo(28) assertThat(nextDateTime.hour).isEqualTo(1)