Loading feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/LegacyDrawer.kt +13 −8 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import app.k9mail.feature.navigation.drawer.legacy.DisplayUnifiedInbox import app.k9mail.feature.navigation.drawer.legacy.FolderList import app.k9mail.feature.navigation.drawer.legacy.FoldersViewModel import app.k9mail.legacy.account.Account import app.k9mail.legacy.account.AccountManager import app.k9mail.legacy.message.controller.MessagingControllerMailChecker import app.k9mail.legacy.message.controller.SimpleMessagingListener import app.k9mail.legacy.ui.account.AccountImageLoader Loading @@ -30,6 +31,7 @@ import app.k9mail.legacy.ui.folder.FolderIconProvider import app.k9mail.legacy.ui.folder.FolderNameFormatter import app.k9mail.legacy.ui.theme.ThemeManager import com.fsck.k9.K9 import com.fsck.k9.Preferences import com.fsck.k9.ui.base.livedata.observeNotNull import com.mikepenz.materialdrawer.holder.BadgeStyle import com.mikepenz.materialdrawer.holder.ImageHolder Loading @@ -52,6 +54,7 @@ import com.mikepenz.materialdrawer.util.getDrawerItem import com.mikepenz.materialdrawer.util.removeAllItems import com.mikepenz.materialdrawer.widget.AccountHeaderView import com.mikepenz.materialdrawer.widget.MaterialDrawerSliderView import org.koin.android.ext.android.inject import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.core.component.KoinComponent import org.koin.core.component.inject Loading @@ -69,12 +72,13 @@ class LegacyDrawer( private val openManageFolders: () -> Unit, private val openUnifiedInbox: () -> Unit, private val openFolder: (folderId: Long) -> Unit, private val openAccount: (account: Account) -> Boolean, private val openAccount: (account: String) -> Boolean, private val openSettings: () -> Unit, createDrawerListener: () -> DrawerLayout.DrawerListener, savedInstanceState: Bundle?, ) : NavigationDrawer, KoinComponent { private val foldersViewModel: FoldersViewModel by parent.viewModel() private val accountManager: AccountManager by inject() private val accountsViewModel: AccountsViewModel by parent.viewModel() private val folderNameFormatter: FolderNameFormatter by inject() private val themeManager: ThemeManager by inject() Loading Loading @@ -177,10 +181,11 @@ class LegacyDrawer( headerView.onAccountHeaderListener = { _, profile, _ -> val account = (profile as ProfileDrawerItem).tag as Account openedAccountUuid = account.uuid val eventHandled = openAccount(account) openedAccountUuid?.let { uuid -> val eventHandled = openAccount(uuid) updateUserAccountsAndFolders(account) eventHandled } ?: false } } Loading Loading @@ -234,14 +239,14 @@ class LegacyDrawer( private fun setAccounts(displayAccounts: List<DisplayAccount>) { val oldSelectedBackgroundColor = selectedBackgroundColor val isOpenedAccountStillAvailable = displayAccounts.any { it.account.uuid == openedAccountUuid } val isOpenedAccountStillAvailable = displayAccounts.any { it.id == openedAccountUuid } if (!isOpenedAccountStillAvailable) { openedAccountUuid = displayAccounts.first().account.uuid openedAccountUuid = displayAccounts.first().id } var newActiveProfile: IProfile? = null val accountItems = displayAccounts.map { displayAccount -> val account = displayAccount.account val account = accountManager.getAccount(displayAccount.id) ?: return val drawerColors = getDrawerColorsForAccount(account) val selectedTextColor = drawerColors.accentColor.toSelectedColorStateList() Loading legacy/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt +5 −2 Original line number Diff line number Diff line Loading @@ -704,14 +704,17 @@ open class MessageList : ManageFoldersActivity.launch(this, account!!) } fun openRealAccount(accountId: String) { val account = accountManager.getAccount(accountId) ?: return fun openRealAccount(accountId: String): Boolean { val account = accountManager.getAccount(accountId) ?: return false val shouldCloseDrawer = account.autoExpandFolderId != null val folderId = defaultFolderProvider.getDefaultFolder(account) val search = LocalSearch() search.addAllowedFolder(folderId) search.addAccountUuid(account.uuid) actionDisplaySearch(this, search, noThreading = false, newTask = false) return shouldCloseDrawer } private fun performSearch(search: LocalSearch) { Loading Loading
feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/LegacyDrawer.kt +13 −8 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import app.k9mail.feature.navigation.drawer.legacy.DisplayUnifiedInbox import app.k9mail.feature.navigation.drawer.legacy.FolderList import app.k9mail.feature.navigation.drawer.legacy.FoldersViewModel import app.k9mail.legacy.account.Account import app.k9mail.legacy.account.AccountManager import app.k9mail.legacy.message.controller.MessagingControllerMailChecker import app.k9mail.legacy.message.controller.SimpleMessagingListener import app.k9mail.legacy.ui.account.AccountImageLoader Loading @@ -30,6 +31,7 @@ import app.k9mail.legacy.ui.folder.FolderIconProvider import app.k9mail.legacy.ui.folder.FolderNameFormatter import app.k9mail.legacy.ui.theme.ThemeManager import com.fsck.k9.K9 import com.fsck.k9.Preferences import com.fsck.k9.ui.base.livedata.observeNotNull import com.mikepenz.materialdrawer.holder.BadgeStyle import com.mikepenz.materialdrawer.holder.ImageHolder Loading @@ -52,6 +54,7 @@ import com.mikepenz.materialdrawer.util.getDrawerItem import com.mikepenz.materialdrawer.util.removeAllItems import com.mikepenz.materialdrawer.widget.AccountHeaderView import com.mikepenz.materialdrawer.widget.MaterialDrawerSliderView import org.koin.android.ext.android.inject import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.core.component.KoinComponent import org.koin.core.component.inject Loading @@ -69,12 +72,13 @@ class LegacyDrawer( private val openManageFolders: () -> Unit, private val openUnifiedInbox: () -> Unit, private val openFolder: (folderId: Long) -> Unit, private val openAccount: (account: Account) -> Boolean, private val openAccount: (account: String) -> Boolean, private val openSettings: () -> Unit, createDrawerListener: () -> DrawerLayout.DrawerListener, savedInstanceState: Bundle?, ) : NavigationDrawer, KoinComponent { private val foldersViewModel: FoldersViewModel by parent.viewModel() private val accountManager: AccountManager by inject() private val accountsViewModel: AccountsViewModel by parent.viewModel() private val folderNameFormatter: FolderNameFormatter by inject() private val themeManager: ThemeManager by inject() Loading Loading @@ -177,10 +181,11 @@ class LegacyDrawer( headerView.onAccountHeaderListener = { _, profile, _ -> val account = (profile as ProfileDrawerItem).tag as Account openedAccountUuid = account.uuid val eventHandled = openAccount(account) openedAccountUuid?.let { uuid -> val eventHandled = openAccount(uuid) updateUserAccountsAndFolders(account) eventHandled } ?: false } } Loading Loading @@ -234,14 +239,14 @@ class LegacyDrawer( private fun setAccounts(displayAccounts: List<DisplayAccount>) { val oldSelectedBackgroundColor = selectedBackgroundColor val isOpenedAccountStillAvailable = displayAccounts.any { it.account.uuid == openedAccountUuid } val isOpenedAccountStillAvailable = displayAccounts.any { it.id == openedAccountUuid } if (!isOpenedAccountStillAvailable) { openedAccountUuid = displayAccounts.first().account.uuid openedAccountUuid = displayAccounts.first().id } var newActiveProfile: IProfile? = null val accountItems = displayAccounts.map { displayAccount -> val account = displayAccount.account val account = accountManager.getAccount(displayAccount.id) ?: return val drawerColors = getDrawerColorsForAccount(account) val selectedTextColor = drawerColors.accentColor.toSelectedColorStateList() Loading
legacy/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt +5 −2 Original line number Diff line number Diff line Loading @@ -704,14 +704,17 @@ open class MessageList : ManageFoldersActivity.launch(this, account!!) } fun openRealAccount(accountId: String) { val account = accountManager.getAccount(accountId) ?: return fun openRealAccount(accountId: String): Boolean { val account = accountManager.getAccount(accountId) ?: return false val shouldCloseDrawer = account.autoExpandFolderId != null val folderId = defaultFolderProvider.getDefaultFolder(account) val search = LocalSearch() search.addAllowedFolder(folderId) search.addAccountUuid(account.uuid) actionDisplaySearch(this, search, noThreading = false, newTask = false) return shouldCloseDrawer } private fun performSearch(search: LocalSearch) { Loading