mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 10:20:25 +01:00
Save last-known server time offset.
This commit is contained in:
committed by
Clark Chen
parent
8372c699f7
commit
ebaa445bee
@@ -39,6 +39,8 @@ public final class MiscellaneousValues extends SignalStoreValues {
|
||||
private static final String KEYBOARD_LANDSCAPE_HEIGHT = "misc.keyboard.landscape_height";
|
||||
private static final String KEYBOARD_PORTRAIT_HEIGHT = "misc.keyboard.protrait_height";
|
||||
private static final String LAST_CONSISTENCY_CHECK_TIME = "misc.last_consistency_check_time";
|
||||
private static final String SERVER_TIME_OFFSET = "misc.server_time_offset";
|
||||
private static final String LAST_SERVER_TIME_OFFSET_UPDATE = "misc.last_server_time_offset_update";
|
||||
|
||||
MiscellaneousValues(@NonNull KeyValueStore store) {
|
||||
super(store);
|
||||
@@ -326,4 +328,31 @@ public final class MiscellaneousValues extends SignalStoreValues {
|
||||
public void setLastConsistencyCheckTime(long time) {
|
||||
putLong(LAST_CONSISTENCY_CHECK_TIME, time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the last-known server time.
|
||||
*/
|
||||
public void setLastKnownServerTime(long serverTime, long currentTime) {
|
||||
getStore()
|
||||
.beginWrite()
|
||||
.putLong(SERVER_TIME_OFFSET, currentTime - serverTime)
|
||||
.putLong(LAST_SERVER_TIME_OFFSET_UPDATE, System.currentTimeMillis())
|
||||
.apply();
|
||||
}
|
||||
|
||||
/**
|
||||
* The last-known offset between our local clock and the server. To get an estimate of the server time, take your current time and subtract this offset. e.g.
|
||||
*
|
||||
* estimatedServerTime = System.currentTimeMillis() - SignalStore.misc().getLastKnownServerTimeOffset()
|
||||
*/
|
||||
public long getLastKnownServerTimeOffset() {
|
||||
return getLong(SERVER_TIME_OFFSET, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* The last time (using our local clock) we updated the server time offset returned by {@link #getLastKnownServerTimeOffset()}}.
|
||||
*/
|
||||
public long getLastKnownServerTimeOffsetUpdateTime() {
|
||||
return getLong(LAST_SERVER_TIME_OFFSET_UPDATE, 0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user