From cd402f1d4cef0efca384799601209bd6c7927d20 Mon Sep 17 00:00:00 2001 From: Oleg Koretsky Date: Mon, 29 Jul 2024 16:32:13 +0300 Subject: [PATCH] Check if saved seed phrase is empty --- .../data/repository/AuthenticationRepository.kt | 4 +++- .../recover/ExportPassPhraseViewModel.kt | 17 +++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/concordium/wallet/data/repository/AuthenticationRepository.kt b/app/src/main/java/com/concordium/wallet/data/repository/AuthenticationRepository.kt index 980a6ec0..b5c79663 100644 --- a/app/src/main/java/com/concordium/wallet/data/repository/AuthenticationRepository.kt +++ b/app/src/main/java/com/concordium/wallet/data/repository/AuthenticationRepository.kt @@ -10,6 +10,8 @@ class AuthenticationRepository( } fun getSeedPhase() = runCatching { - sharedPreferences.seedPhrase + checkNotNull(sharedPreferences.seedPhrase.takeIf(String::isNotBlank)) { + "The phrase must not be blank" + } } } diff --git a/app/src/main/java/com/concordium/wallet/ui/passphrase/recover/ExportPassPhraseViewModel.kt b/app/src/main/java/com/concordium/wallet/ui/passphrase/recover/ExportPassPhraseViewModel.kt index 9a0c56a0..e94fe09e 100644 --- a/app/src/main/java/com/concordium/wallet/ui/passphrase/recover/ExportPassPhraseViewModel.kt +++ b/app/src/main/java/com/concordium/wallet/ui/passphrase/recover/ExportPassPhraseViewModel.kt @@ -20,14 +20,19 @@ class ExportPassPhraseViewModel( init { viewModelScope.launch { - authenticationRepository.getSeedPhase().onSuccess { result -> - _state.update { - when { - result.isNullOrBlank() -> ExportSeedPhraseState.Error(IllegalStateException("No seed phrase found")) - else -> ExportSeedPhraseState.Success(result.split(String.SPACE)) + authenticationRepository.getSeedPhase() + .onSuccess { phrase -> + _state.update { + ExportSeedPhraseState.Success(phrase.split(String.SPACE)) + } + } + .onFailure { + _state.update { + ExportSeedPhraseState.Error( + IllegalStateException("No seed phrase found") + ) } } - } } } }