prevent the app from getting into an invalid state when old shortcuts are used (#3252)

This commit is contained in:
Konrad Pozniak 2023-02-03 19:21:33 +01:00 committed by GitHub
parent 07a4e97e9b
commit ff79919d2a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -45,9 +45,8 @@ class AccountManager @Inject constructor(db: AppDatabase) {
init {
accounts = accountDao.loadAll().toMutableList()
activeAccount = accounts.find { acc ->
acc.isActive
}
activeAccount = accounts.find { acc -> acc.isActive }
?: accounts.firstOrNull()?.also { acc -> acc.isActive = true }
}
/**
@ -169,15 +168,17 @@ class AccountManager @Inject constructor(db: AppDatabase) {
*/
fun setActiveAccount(accountId: Long) {
val newActiveAccount = accounts.find { (id) ->
id == accountId
} ?: return // invalid accountId passed, do nothing
activeAccount?.let {
Log.d(TAG, "setActiveAccount: saving account with id " + it.id)
it.isActive = false
saveAccount(it)
}
activeAccount = accounts.find { (id) ->
id == accountId
}
activeAccount = newActiveAccount
activeAccount?.let {
it.isActive = true