Loading app/core/src/main/java/com/fsck/k9/Preferences.kt +5 −2 Original line number Diff line number Diff line Loading @@ -110,6 +110,9 @@ class Preferences internal constructor( } } private val completeAccounts: List<Account> get() = accounts.filter { it.isFinishedSetup } override fun getAccount(accountUuid: String): Account? { synchronized(accountLock) { if (accountsMap == null) { Loading Loading @@ -151,10 +154,10 @@ class Preferences internal constructor( @OptIn(ExperimentalCoroutinesApi::class) override fun getAccountsFlow(): Flow<List<Account>> { return callbackFlow { send(accounts) send(completeAccounts) val listener = AccountsChangeListener { trySendBlocking(accounts) trySendBlocking(completeAccounts) } addOnAccountsChangeListener(listener) Loading app/ui/legacy/src/main/java/com/fsck/k9/account/AccountRemover.kt +9 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ class AccountRemover( preferences.deleteAccount(account) localKeyStoreManager.deleteCertificates(account) removeCertificates(account) Core.setServicesEnabled() Timber.v("Finished removing account '%s'.", accountName) Loading @@ -62,4 +62,12 @@ class AccountRemover( Timber.e(e, "Failed to reset remote store for account %s", account) } } private fun removeCertificates(account: Account) { try { localKeyStoreManager.deleteCertificates(account) } catch (e: Exception) { Timber.e(e, "Failed to remove certificates for account %s", account) } } } app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsListFragment.kt +2 −3 Original line number Diff line number Diff line Loading @@ -77,11 +77,10 @@ class SettingsListFragment : Fragment(), ItemTouchCallback { private fun populateSettingsList() { viewModel.accounts.observeNotNull(this) { accounts -> val accountsFinishedSetup = accounts.filter { it.isFinishedSetup } if (accountsFinishedSetup.isEmpty()) { if (accounts.isEmpty()) { launchOnboarding() } else { populateSettingsList(accountsFinishedSetup) populateSettingsList(accounts) } } } Loading Loading
app/core/src/main/java/com/fsck/k9/Preferences.kt +5 −2 Original line number Diff line number Diff line Loading @@ -110,6 +110,9 @@ class Preferences internal constructor( } } private val completeAccounts: List<Account> get() = accounts.filter { it.isFinishedSetup } override fun getAccount(accountUuid: String): Account? { synchronized(accountLock) { if (accountsMap == null) { Loading Loading @@ -151,10 +154,10 @@ class Preferences internal constructor( @OptIn(ExperimentalCoroutinesApi::class) override fun getAccountsFlow(): Flow<List<Account>> { return callbackFlow { send(accounts) send(completeAccounts) val listener = AccountsChangeListener { trySendBlocking(accounts) trySendBlocking(completeAccounts) } addOnAccountsChangeListener(listener) Loading
app/ui/legacy/src/main/java/com/fsck/k9/account/AccountRemover.kt +9 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ class AccountRemover( preferences.deleteAccount(account) localKeyStoreManager.deleteCertificates(account) removeCertificates(account) Core.setServicesEnabled() Timber.v("Finished removing account '%s'.", accountName) Loading @@ -62,4 +62,12 @@ class AccountRemover( Timber.e(e, "Failed to reset remote store for account %s", account) } } private fun removeCertificates(account: Account) { try { localKeyStoreManager.deleteCertificates(account) } catch (e: Exception) { Timber.e(e, "Failed to remove certificates for account %s", account) } } }
app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsListFragment.kt +2 −3 Original line number Diff line number Diff line Loading @@ -77,11 +77,10 @@ class SettingsListFragment : Fragment(), ItemTouchCallback { private fun populateSettingsList() { viewModel.accounts.observeNotNull(this) { accounts -> val accountsFinishedSetup = accounts.filter { it.isFinishedSetup } if (accountsFinishedSetup.isEmpty()) { if (accounts.isEmpty()) { launchOnboarding() } else { populateSettingsList(accountsFinishedSetup) populateSettingsList(accounts) } } } Loading