diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsViewModel.kt index d25397d265..d22f6235f5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsViewModel.kt @@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.jobs.OptimizeMediaJob import org.thoughtcrime.securesms.jobs.RestoreOptimizedMediaJob import org.thoughtcrime.securesms.keyvalue.KeepMessagesDuration import org.thoughtcrime.securesms.keyvalue.SignalStore +import org.thoughtcrime.securesms.util.Environment import org.thoughtcrime.securesms.util.RemoteConfig class ManageStorageSettingsViewModel : ViewModel() { @@ -134,7 +135,7 @@ class ManageStorageSettingsViewModel : ViewModel() { private suspend fun getOnDeviceStorageOptimizationState(): OnDeviceStorageOptimizationState { return when { - !RemoteConfig.messageBackups || !SignalStore.backup.areBackupsEnabled || !AppDependencies.billingApi.isApiAvailable() -> OnDeviceStorageOptimizationState.FEATURE_NOT_AVAILABLE + !RemoteConfig.messageBackups || !SignalStore.backup.areBackupsEnabled || !AppDependencies.billingApi.isApiAvailable() || (!RemoteConfig.internalUser && !Environment.IS_STAGING) -> OnDeviceStorageOptimizationState.FEATURE_NOT_AVAILABLE SignalStore.backup.backupTier != MessageBackupTier.PAID -> OnDeviceStorageOptimizationState.REQUIRES_PAID_TIER SignalStore.backup.optimizeStorage -> OnDeviceStorageOptimizationState.ENABLED else -> OnDeviceStorageOptimizationState.DISABLED diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt index 9f2c229b1e..71e33a5035 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt @@ -116,7 +116,7 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) { val deletionStateFlow: Flow = deletionStateValue.toFlow() - var optimizeStorage: Boolean by booleanValue(KEY_OPTIMIZE_STORAGE, false) + var optimizeStorage: Boolean by booleanValue(KEY_OPTIMIZE_STORAGE, false).withPrecondition { RemoteConfig.internalUser || Environment.IS_STAGING } var backupWithCellular: Boolean get() = getBoolean(KEY_BACKUP_OVER_CELLULAR, false) set(value) {