mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 13:08:46 +00:00
Select first backup subscription if selection is unavailable.
This commit is contained in:
committed by
Jeffrey Starke
parent
015a34f8d6
commit
1a1e1ea631
@@ -62,7 +62,7 @@ class MessageBackupsFlowViewModel(
|
||||
private val internalStateFlow = MutableStateFlow(
|
||||
MessageBackupsFlowState(
|
||||
availableBackupTypes = emptyList(),
|
||||
selectedMessageBackupTier = initialTierSelection ?: SignalStore.backup.backupTier,
|
||||
selectedMessageBackupTier = initialTierSelection ?: SignalStore.backup.backupTier ?: MessageBackupTier.FREE,
|
||||
startScreen = startScreen
|
||||
)
|
||||
)
|
||||
@@ -88,7 +88,7 @@ class MessageBackupsFlowViewModel(
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
val availableBackupTypes = try {
|
||||
val availableBackupTypes: List<MessageBackupsType> = try {
|
||||
withContext(SignalDispatchers.IO) {
|
||||
BackupRepository.getAvailableBackupsTypes(
|
||||
if (!RemoteConfig.messageBackups) emptyList() else listOf(MessageBackupTier.FREE, MessageBackupTier.PAID)
|
||||
@@ -99,8 +99,11 @@ class MessageBackupsFlowViewModel(
|
||||
emptyList()
|
||||
}
|
||||
|
||||
internalStateFlow.update {
|
||||
it.copy(availableBackupTypes = availableBackupTypes)
|
||||
internalStateFlow.update { state ->
|
||||
state.copy(
|
||||
availableBackupTypes = availableBackupTypes,
|
||||
selectedMessageBackupTier = if (state.selectedMessageBackupTier in availableBackupTypes.map { it.tier }) state.selectedMessageBackupTier else availableBackupTypes.firstOrNull()?.tier
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user