Update to latest backup tests.

This commit is contained in:
Greyson Parrelli
2025-11-21 11:14:12 -05:00
committed by jeffrey-signal
parent ae4a3433f9
commit 8783d69406
580 changed files with 17 additions and 5 deletions

View File

@@ -41,6 +41,7 @@ import org.thoughtcrime.securesms.keyvalue.SettingsValues
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.util.Environment
import org.thoughtcrime.securesms.util.ProfileUtil
import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.thoughtcrime.securesms.webrtc.CallDataMode
@@ -51,6 +52,8 @@ import org.whispersystems.signalservice.api.subscriptions.SubscriberId
import org.whispersystems.signalservice.api.util.UuidUtil
import org.whispersystems.signalservice.api.util.toByteArray
import java.util.Currency
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds
/**
* Handles importing/exporting [AccountData] frames for an archive.
@@ -75,7 +78,7 @@ object AccountDataArchiveProcessor {
val screenLockTimeoutSeconds = signalStore.settingsValues.screenLockTimeout
val screenLockTimeoutMinutes = if (screenLockTimeoutSeconds > 0) {
(screenLockTimeoutSeconds / 60).toInt()
screenLockTimeoutSeconds.seconds.inWholeMinutes.toInt()
} else {
null
}
@@ -146,7 +149,7 @@ object AccountDataArchiveProcessor {
useSystemEmoji = signalStore.settingsValues.isPreferSystemEmoji,
screenshotSecurity = TextSecurePreferences.isScreenSecurityEnabled(context),
navigationBarSize = signalStore.settingsValues.useCompactNavigationBar.toRemoteNavigationBarSize()
),
).takeUnless { Environment.IS_INSTRUMENTATION && SignalStore.backup.importedEmptyAndroidSettings },
bioText = selfRecord.about ?: "",
bioEmoji = selfRecord.aboutEmoji ?: ""
)
@@ -172,7 +175,9 @@ object AccountDataArchiveProcessor {
if (accountData.androidSpecificSettings != null) {
SignalStore.settings.isPreferSystemEmoji = accountData.androidSpecificSettings.useSystemEmoji
TextSecurePreferences.setScreenSecurityEnabled(context, accountData.androidSpecificSettings.screenshotSecurity)
SignalStore.settings.setUseCompactNavigationBar(accountData.androidSpecificSettings.navigationBarSize.toLocalNavigationBarSize())
SignalStore.settings.useCompactNavigationBar = accountData.androidSpecificSettings.navigationBarSize.toLocalNavigationBarSize()
} else if (Environment.IS_INSTRUMENTATION) {
SignalStore.backup.importedEmptyAndroidSettings = true
}
if (accountData.bioText.isNotBlank() || accountData.bioEmoji.isNotBlank()) {
@@ -275,7 +280,7 @@ object AccountDataArchiveProcessor {
}
if (settings.screenLockTimeoutMinutes != null) {
SignalStore.settings.screenLockTimeout = settings.screenLockTimeoutMinutes.toLong() * 60
SignalStore.settings.screenLockTimeout = settings.screenLockTimeoutMinutes.minutes.inWholeSeconds
}
if (settings.pinReminders != null) {

View File

@@ -62,6 +62,7 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
private const val KEY_RESTORE_OVER_CELLULAR = "backup.restore.useCellular"
private const val KEY_OPTIMIZE_STORAGE = "backup.optimizeStorage"
private const val KEY_BACKUPS_INITIALIZED = "backup.initialized"
private const val KEY_IMPORTED_EMPTY_ANDROID_SETTINGS = "backup.importedEmptyAndroidSettings"
const val KEY_ARCHIVE_UPLOAD_STATE = "backup.archiveUploadState"
@@ -422,6 +423,11 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
.apply()
}
/**
* An annoying workaround to making tests pass when importing empty androidSpecificSettings.
*/
var importedEmptyAndroidSettings by booleanValue(KEY_IMPORTED_EMPTY_ANDROID_SETTINGS, false)
/**
* If set, this represents how far back we should backup messages. For instance, if the returned value is 1 year in milliseconds, you should back up
* every message within the last year. If unset, back up all messages. We only cutoff old messages for users whose backup is over the

View File

@@ -14,6 +14,7 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.mms.SentMediaQuality;
import org.thoughtcrime.securesms.preferences.widgets.NotificationPrivacyPreference;
import org.thoughtcrime.securesms.util.Environment;
import org.thoughtcrime.securesms.util.SingleLiveEvent;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.webrtc.CallDataMode;
@@ -83,7 +84,7 @@ public final class SettingsValues extends SignalStoreValues {
SettingsValues(@NonNull KeyValueStore store, Context context) {
super(store);
if (!store.containsKey(SCREEN_LOCK_ENABLED)) {
if (!store.containsKey(SCREEN_LOCK_ENABLED) && !Environment.IS_INSTRUMENTATION) {
migrateFromSharedPrefsV1(context);
}
}