From 543a85316e82e284ff354f430df683dcae60140f Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Fri, 7 Jun 2024 13:02:44 -0400 Subject: [PATCH] Improve FCM check clock skew handling. --- .../java/org/thoughtcrime/securesms/ApplicationContext.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 8af310166e..90465469ef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -386,9 +386,11 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr private void initializeFcmCheck() { if (SignalStore.account().isRegistered()) { - long nextSetTime = SignalStore.account().getFcmTokenLastSetTime() + TimeUnit.HOURS.toMillis(6); + long lastSetTime = SignalStore.account().getFcmTokenLastSetTime(); + long nextSetTime = lastSetTime + TimeUnit.HOURS.toMillis(6); + long now = System.currentTimeMillis(); - if (SignalStore.account().getFcmToken() == null || nextSetTime <= System.currentTimeMillis()) { + if (SignalStore.account().getFcmToken() == null || nextSetTime <= now || lastSetTime > now) { AppDependencies.getJobManager().add(new FcmRefreshJob()); } }