Hook up message backup restore flow to reg v2.

Co-authored-by: Nicholas Tinsley <nicholas@signal.org>
This commit is contained in:
Clark
2024-06-05 16:54:09 -04:00
committed by Alex Hart
parent 26bd59c378
commit 66c50bef44
38 changed files with 1314 additions and 242 deletions

View File

@@ -60,7 +60,7 @@ internal class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
var nextBackupTime: Long by longValue(KEY_NEXT_BACKUP_TIME, -1)
var lastBackupTime: Long by longValue(KEY_LAST_BACKUP_TIME, -1)
var backupFrequency: BackupFrequency by enumValue(KEY_BACKUP_FREQUENCY, BackupFrequency.MANUAL, BackupFrequency.Serializer)
var backupTier: MessageBackupTier by enumValue(KEY_BACKUP_TIER, MessageBackupTier.FREE, MessageBackupTier.Serializer)
var backupTier: MessageBackupTier? by enumValue(KEY_BACKUP_TIER, null, MessageBackupTier.Serializer)
val totalBackupSize: Long get() = lastBackupProtoSize + usedBackupMediaSpace

View File

@@ -199,14 +199,6 @@ public final class InternalValues extends SignalStoreValues {
return FeatureFlags.internalUser() && getBoolean(CONVERSATION_ITEM_V2_MEDIA, false);
}
public void setForceEnterRestoreV2Flow(boolean enter) {
putBoolean(FORCE_ENTER_RESTORE_V2_FLOW, enter);
}
public boolean enterRestoreV2Flow() {
return FeatureFlags.restoreAfterRegistration() && getBoolean(FORCE_ENTER_RESTORE_V2_FLOW, false);
}
public synchronized void setWebSocketShadowingStats(byte[] bytes) {
putBlob(WEB_SOCKET_SHADOWING_STATS, bytes);
}

View File

@@ -9,11 +9,12 @@ import java.util.List;
public final class RegistrationValues extends SignalStoreValues {
private static final String REGISTRATION_COMPLETE = "registration.complete";
private static final String PIN_REQUIRED = "registration.pin_required";
private static final String HAS_UPLOADED_PROFILE = "registration.has_uploaded_profile";
private static final String SESSION_E164 = "registration.session_e164";
private static final String SESSION_ID = "registration.session_id";
private static final String REGISTRATION_COMPLETE = "registration.complete";
private static final String PIN_REQUIRED = "registration.pin_required";
private static final String HAS_UPLOADED_PROFILE = "registration.has_uploaded_profile";
private static final String SESSION_E164 = "registration.session_e164";
private static final String SESSION_ID = "registration.session_id";
private static final String SKIPPED_TRANSFER_OR_RESTORE = "registration.has_skipped_transfer_or_restore";
RegistrationValues(@NonNull KeyValueStore store) {
super(store);
@@ -24,6 +25,7 @@ public final class RegistrationValues extends SignalStoreValues {
.putBoolean(HAS_UPLOADED_PROFILE, false)
.putBoolean(REGISTRATION_COMPLETE, false)
.putBoolean(PIN_REQUIRED, true)
.putBoolean(SKIPPED_TRANSFER_OR_RESTORE, false)
.commit();
}
@@ -68,6 +70,18 @@ public final class RegistrationValues extends SignalStoreValues {
putString(SESSION_ID, sessionId);
}
public boolean hasSkippedTransferOrRestore() {
return getBoolean(SKIPPED_TRANSFER_OR_RESTORE, false);
}
public void markSkippedTransferOrRestore() {
putBoolean(SKIPPED_TRANSFER_OR_RESTORE, true);
}
public void clearSkippedTransferOrRestore() {
putBoolean(SKIPPED_TRANSFER_OR_RESTORE, false);
}
@Nullable
public String getSessionId() {
return getString(SESSION_ID, null);