Skip to content

Commit

Permalink
Merge pull request #955 from radixdlt/fix/ABW-3382-personas-prompts-n…
Browse files Browse the repository at this point in the history
…ot-recoverable-not-displayed

[ABW-3382] - Not recoverable security prompt under Personas settings item
  • Loading branch information
sergiupuhalschi-rdx authored May 31, 2024
2 parents f0bc1d8 + 9734bf9 commit f82f610
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ sealed interface SettingsItem {
data object LinkToConnector : TopLevelSettings

data class SecurityCenter(val securityProblems: Set<SecurityProblem> = emptySet()) : TopLevelSettings
data class Personas(val securityProblems: Set<SecurityProblem> = emptySet()) : TopLevelSettings
data class Personas(
val needBackup: Boolean = false,
val needRecovery: Boolean = false
) : TopLevelSettings
data object ApprovedDapps : TopLevelSettings

data object LinkedConnectors : TopLevelSettings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,10 @@ private fun SettingsContent(

is SettingsItem.TopLevelSettings.Personas -> {
mutableListOf<String>().apply {
if (settingsItem.item.anyPersonaNeedRecovery) {
if (settingsItem.item.needRecovery) {
add(stringResource(R.string.securityProblems_no9_personas))
} else if (settingsItem.item.anyPersonaNeedBackup) {
}
if (settingsItem.item.needBackup) {
add(stringResource(R.string.securityProblems_no7_walletSettingsPersonas))
}
}.toPersistentList()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,19 @@ class SettingsViewModel @Inject constructor(
)
mutated = mutated.mapWhen(
predicate = { it is SettingsUiItem.Settings && it.item is Personas },
mutation = { SettingsUiItem.Settings(Personas(securityProblems)) }
mutation = { _ ->
SettingsUiItem.Settings(
Personas(
needBackup = securityProblems.any {
(it is SecurityProblem.EntitiesNotRecoverable && it.personasNeedBackup > 0) ||
(it is SecurityProblem.BackupNotWorking.BackupDisabled)
},
needRecovery = securityProblems.any {
it is SecurityProblem.SeedPhraseNeedRecovery && it.arePersonasAffected
}
)
)
}
)
}
SettingsUiState(mutated.toPersistentList())
Expand Down Expand Up @@ -94,9 +106,3 @@ sealed interface SettingsUiItem {
data object Spacer : SettingsUiItem
data class Settings(val item: SettingsItem.TopLevelSettings) : SettingsUiItem
}

val Personas.anyPersonaNeedBackup
get() = securityProblems.any { it is SecurityProblem.EntitiesNotRecoverable && it.personasNeedBackup > 0 }

val Personas.anyPersonaNeedRecovery
get() = securityProblems.any { it is SecurityProblem.SeedPhraseNeedRecovery && it.arePersonasAffected }

0 comments on commit f82f610

Please sign in to comment.