Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 2177b2a9 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Change MessageList openAccount to depend on id

parent 9d5fccb5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ internal data class FolderDrawerState(

class FolderDrawer(
    override val parent: AppCompatActivity,
    private val openAccount: (account: Account) -> Unit,
    private val openAccount: (accountId: String) -> Unit,
    private val openFolder: (folderId: Long) -> Unit,
    private val openUnifiedFolder: () -> Unit,
    private val openManageFolders: () -> Unit,
+1 −2
Original line number Diff line number Diff line
@@ -5,7 +5,6 @@ import app.k9mail.core.ui.compose.common.mvi.UnidirectionalViewModel
import app.k9mail.feature.navigation.drawer.NavigationDrawerExternalContract.DrawerConfig
import app.k9mail.feature.navigation.drawer.domain.entity.DisplayAccount
import app.k9mail.feature.navigation.drawer.domain.entity.DisplayFolder
import app.k9mail.legacy.account.Account
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf

@@ -41,7 +40,7 @@ internal interface DrawerContract {
    }

    sealed interface Effect {
        data class OpenAccount(val account: Account) : Effect
        data class OpenAccount(val accountId: String) : Effect
        data class OpenFolder(val folderId: Long) : Effect
        data object OpenUnifiedFolder : Effect
        data object OpenManageFolders : Effect
+2 −3
Original line number Diff line number Diff line
@@ -8,13 +8,12 @@ import app.k9mail.feature.navigation.drawer.FolderDrawerState
import app.k9mail.feature.navigation.drawer.ui.DrawerContract.Effect
import app.k9mail.feature.navigation.drawer.ui.DrawerContract.Event
import app.k9mail.feature.navigation.drawer.ui.DrawerContract.ViewModel
import app.k9mail.legacy.account.Account
import org.koin.androidx.compose.koinViewModel

@Composable
internal fun DrawerView(
    drawerState: FolderDrawerState,
    openAccount: (account: Account) -> Unit,
    openAccount: (accountId: String) -> Unit,
    openFolder: (folderId: Long) -> Unit,
    openUnifiedFolder: () -> Unit,
    openManageFolders: () -> Unit,
@@ -24,7 +23,7 @@ internal fun DrawerView(
) {
    val (state, dispatch) = viewModel.observe { effect ->
        when (effect) {
            is Effect.OpenAccount -> openAccount(effect.account)
            is Effect.OpenAccount -> openAccount(effect.accountId)
            is Effect.OpenFolder -> openFolder(effect.folderId)
            Effect.OpenUnifiedFolder -> openUnifiedFolder()
            is Effect.OpenManageFolders -> openManageFolders()
+1 −1
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ internal class DrawerViewModel(

    private fun openAccount(account: DisplayAccount?) {
        if (account != null) {
            emitEffect(Effect.OpenAccount(account.account))
            emitEffect(Effect.OpenAccount(account.uuid))
        }
    }

+1 −1
Original line number Diff line number Diff line
@@ -245,7 +245,7 @@ internal class DrawerViewModelTest {
        advanceUntilIdle()

        turbines.assertThatAndEffectTurbineConsumed {
            isEqualTo(Effect.OpenAccount(displayAccounts[1].account))
            isEqualTo(Effect.OpenAccount(displayAccounts[1].account.uuid))
        }
    }

Loading