Loading feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/NavigationDrawerModule.kt +7 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package app.k9mail.feature.navigation.drawer import app.k9mail.feature.navigation.drawer.domain.DomainContract.UseCase import app.k9mail.feature.navigation.drawer.domain.usecase.GetDisplayAccounts import app.k9mail.feature.navigation.drawer.domain.usecase.GetDisplayFoldersForAccount import app.k9mail.feature.navigation.drawer.legacy.AccountsViewModel import app.k9mail.feature.navigation.drawer.legacy.FoldersViewModel import app.k9mail.feature.navigation.drawer.ui.DrawerViewModel Loading @@ -21,6 +22,12 @@ val navigationDrawerModule: Module = module { ) } single<UseCase.GetDisplayFoldersForAccount> { GetDisplayFoldersForAccount( repository = get(), ) } viewModel { AccountsViewModel( getDisplayAccounts = get(), Loading feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/domain/DomainContract.kt +5 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.domain import app.k9mail.feature.navigation.drawer.domain.entity.DisplayAccount import app.k9mail.legacy.ui.folder.DisplayFolder import kotlinx.coroutines.flow.Flow interface DomainContract { Loading @@ -9,5 +10,9 @@ interface DomainContract { fun interface GetDisplayAccounts { operator fun invoke(): Flow<List<DisplayAccount>> } fun interface GetDisplayFoldersForAccount { operator fun invoke(accountUuid: String): Flow<List<DisplayFolder>> } } } feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/domain/usecase/GetDisplayFoldersForAccount.kt 0 → 100644 +14 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.domain.usecase import app.k9mail.feature.navigation.drawer.domain.DomainContract.UseCase import app.k9mail.legacy.ui.folder.DisplayFolder import app.k9mail.legacy.ui.folder.DisplayFolderRepository import kotlinx.coroutines.flow.Flow class GetDisplayFoldersForAccount( private val repository: DisplayFolderRepository, ) : UseCase.GetDisplayFoldersForAccount { override fun invoke(accountUuid: String): Flow<List<DisplayFolder>> { return repository.getDisplayFoldersFlow(accountUuid) } } Loading
feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/NavigationDrawerModule.kt +7 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ package app.k9mail.feature.navigation.drawer import app.k9mail.feature.navigation.drawer.domain.DomainContract.UseCase import app.k9mail.feature.navigation.drawer.domain.usecase.GetDisplayAccounts import app.k9mail.feature.navigation.drawer.domain.usecase.GetDisplayFoldersForAccount import app.k9mail.feature.navigation.drawer.legacy.AccountsViewModel import app.k9mail.feature.navigation.drawer.legacy.FoldersViewModel import app.k9mail.feature.navigation.drawer.ui.DrawerViewModel Loading @@ -21,6 +22,12 @@ val navigationDrawerModule: Module = module { ) } single<UseCase.GetDisplayFoldersForAccount> { GetDisplayFoldersForAccount( repository = get(), ) } viewModel { AccountsViewModel( getDisplayAccounts = get(), Loading
feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/domain/DomainContract.kt +5 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.domain import app.k9mail.feature.navigation.drawer.domain.entity.DisplayAccount import app.k9mail.legacy.ui.folder.DisplayFolder import kotlinx.coroutines.flow.Flow interface DomainContract { Loading @@ -9,5 +10,9 @@ interface DomainContract { fun interface GetDisplayAccounts { operator fun invoke(): Flow<List<DisplayAccount>> } fun interface GetDisplayFoldersForAccount { operator fun invoke(accountUuid: String): Flow<List<DisplayFolder>> } } }
feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/domain/usecase/GetDisplayFoldersForAccount.kt 0 → 100644 +14 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.domain.usecase import app.k9mail.feature.navigation.drawer.domain.DomainContract.UseCase import app.k9mail.legacy.ui.folder.DisplayFolder import app.k9mail.legacy.ui.folder.DisplayFolderRepository import kotlinx.coroutines.flow.Flow class GetDisplayFoldersForAccount( private val repository: DisplayFolderRepository, ) : UseCase.GetDisplayFoldersForAccount { override fun invoke(accountUuid: String): Flow<List<DisplayFolder>> { return repository.getDisplayFoldersFlow(accountUuid) } }