Cleanup codebase
This commit is contained in:
parent
6a050569f5
commit
f3425c3388
20 changed files with 28 additions and 48 deletions
|
|
@ -14,7 +14,6 @@ import io.element.android.libraries.architecture.FeatureEntryPoint
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
|
|
||||||
interface CreateRoomEntryPoint : FeatureEntryPoint {
|
interface CreateRoomEntryPoint : FeatureEntryPoint {
|
||||||
|
|
||||||
fun nodeBuilder(parentNode: Node, buildContext: BuildContext): NodeBuilder
|
fun nodeBuilder(parentNode: Node, buildContext: BuildContext): NodeBuilder
|
||||||
|
|
||||||
interface NodeBuilder {
|
interface NodeBuilder {
|
||||||
|
|
@ -22,7 +21,7 @@ interface CreateRoomEntryPoint : FeatureEntryPoint {
|
||||||
fun build(): Node
|
fun build(): Node
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Callback: Plugin {
|
interface Callback : Plugin {
|
||||||
fun onRoomCreated(roomId: RoomId)
|
fun onRoomCreated(roomId: RoomId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import extension.ComponentMergingStrategy
|
|
||||||
import extension.setupAnvil
|
import extension.setupAnvil
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ class CreateRoomFlowNode @AssistedInject constructor(
|
||||||
buildContext = buildContext,
|
buildContext = buildContext,
|
||||||
plugins = plugins
|
plugins = plugins
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private fun onRoomCreated(roomId: RoomId) {
|
private fun onRoomCreated(roomId: RoomId) {
|
||||||
plugins<CreateRoomEntryPoint.Callback>().forEach { it.onRoomCreated(roomId) }
|
plugins<CreateRoomEntryPoint.Callback>().forEach { it.onRoomCreated(roomId) }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@ContributesBinding(SessionScope::class)
|
@ContributesBinding(SessionScope::class)
|
||||||
class DefaultCreateRoomEntryPoint @Inject constructor() : CreateRoomEntryPoint {
|
class DefaultCreateRoomEntryPoint @Inject constructor() : CreateRoomEntryPoint {
|
||||||
|
|
||||||
override fun nodeBuilder(parentNode: Node, buildContext: BuildContext): CreateRoomEntryPoint.NodeBuilder {
|
override fun nodeBuilder(parentNode: Node, buildContext: BuildContext): CreateRoomEntryPoint.NodeBuilder {
|
||||||
|
|
||||||
val plugins = ArrayList<Plugin>()
|
val plugins = ArrayList<Plugin>()
|
||||||
|
|
||||||
return object : CreateRoomEntryPoint.NodeBuilder {
|
return object : CreateRoomEntryPoint.NodeBuilder {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ class AddPeopleNode @AssistedInject constructor(
|
||||||
invitePeoplePresenterFactory: InvitePeoplePresenter.Factory,
|
invitePeoplePresenterFactory: InvitePeoplePresenter.Factory,
|
||||||
private val invitePeopleRenderer: InvitePeopleRenderer,
|
private val invitePeopleRenderer: InvitePeopleRenderer,
|
||||||
) : Node(buildContext, plugins = plugins) {
|
) : Node(buildContext, plugins = plugins) {
|
||||||
|
|
||||||
data class Inputs(
|
data class Inputs(
|
||||||
val joinedRoom: JoinedRoom
|
val joinedRoom: JoinedRoom
|
||||||
) : NodeInputs
|
) : NodeInputs
|
||||||
|
|
@ -51,8 +50,9 @@ class AddPeopleNode @AssistedInject constructor(
|
||||||
val state = invitePeoplePresenter.present()
|
val state = invitePeoplePresenter.present()
|
||||||
AddPeopleView(
|
AddPeopleView(
|
||||||
state = state,
|
state = state,
|
||||||
invitePeopleView = { invitePeopleRenderer.Render(state, Modifier) },
|
onFinish = ::onFinish,
|
||||||
onFinish = ::onFinish
|
) {
|
||||||
)
|
invitePeopleRenderer.Render(state, Modifier)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,9 @@ import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
@Composable
|
@Composable
|
||||||
fun AddPeopleView(
|
fun AddPeopleView(
|
||||||
state: InvitePeopleState,
|
state: InvitePeopleState,
|
||||||
invitePeopleView: @Composable () -> Unit,
|
|
||||||
onFinish: () -> Unit,
|
onFinish: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
|
invitePeopleView: @Composable () -> Unit,
|
||||||
) {
|
) {
|
||||||
HeaderFooterPage(
|
HeaderFooterPage(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
package io.element.android.features.createroom.impl.configureroom
|
package io.element.android.features.createroom.impl.configureroom
|
||||||
|
|
||||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
|
||||||
import io.element.android.libraries.matrix.ui.media.AvatarAction
|
import io.element.android.libraries.matrix.ui.media.AvatarAction
|
||||||
|
|
||||||
sealed interface ConfigureRoomEvents {
|
sealed interface ConfigureRoomEvents {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ import dagger.assisted.Assisted
|
||||||
import dagger.assisted.AssistedInject
|
import dagger.assisted.AssistedInject
|
||||||
import im.vector.app.features.analytics.plan.MobileScreen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import io.element.android.anvilannotations.ContributesNode
|
import io.element.android.anvilannotations.ContributesNode
|
||||||
import io.element.android.libraries.architecture.inputs
|
|
||||||
import io.element.android.libraries.di.SessionScope
|
import io.element.android.libraries.di.SessionScope
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.services.analytics.api.AnalyticsService
|
import io.element.android.services.analytics.api.AnalyticsService
|
||||||
|
|
@ -30,8 +29,7 @@ class ConfigureRoomNode @AssistedInject constructor(
|
||||||
private val presenter: ConfigureRoomPresenter,
|
private val presenter: ConfigureRoomPresenter,
|
||||||
private val analyticsService: AnalyticsService,
|
private val analyticsService: AnalyticsService,
|
||||||
) : Node(buildContext, plugins = plugins) {
|
) : Node(buildContext, plugins = plugins) {
|
||||||
|
interface Callback : Plugin {
|
||||||
interface Callback: Plugin {
|
|
||||||
fun onCreateRoomSuccess(roomId: RoomId)
|
fun onCreateRoomSuccess(roomId: RoomId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -43,7 +41,7 @@ class ConfigureRoomNode @AssistedInject constructor(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onCreateRoomSuccess(roomId: RoomId){
|
private fun onCreateRoomSuccess(roomId: RoomId) {
|
||||||
plugins<Callback>().forEach { it.onCreateRoomSuccess(roomId) }
|
plugins<Callback>().forEach { it.onCreateRoomSuccess(roomId) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import io.element.android.libraries.androidutils.file.safeDelete
|
||||||
import io.element.android.libraries.matrix.api.room.alias.RoomAliasHelper
|
import io.element.android.libraries.matrix.api.room.alias.RoomAliasHelper
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
|
||||||
import kotlinx.coroutines.flow.getAndUpdate
|
import kotlinx.coroutines.flow.getAndUpdate
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
|
||||||
|
|
@ -139,8 +139,6 @@ class ConfigureRoomPresenterTest {
|
||||||
val initialState = initialState()
|
val initialState = initialState()
|
||||||
var expectedConfig = CreateRoomConfig()
|
var expectedConfig = CreateRoomConfig()
|
||||||
assertThat(initialState.config).isEqualTo(expectedConfig)
|
assertThat(initialState.config).isEqualTo(expectedConfig)
|
||||||
|
|
||||||
|
|
||||||
// Room name
|
// Room name
|
||||||
initialState.eventSink(ConfigureRoomEvents.RoomNameChanged(A_ROOM_NAME))
|
initialState.eventSink(ConfigureRoomEvents.RoomNameChanged(A_ROOM_NAME))
|
||||||
var newState = awaitItem()
|
var newState = awaitItem()
|
||||||
|
|
@ -250,7 +248,7 @@ class ConfigureRoomPresenterTest {
|
||||||
val matrixClient = createMatrixClient()
|
val matrixClient = createMatrixClient()
|
||||||
val analyticsService = FakeAnalyticsService()
|
val analyticsService = FakeAnalyticsService()
|
||||||
val mediaPreProcessor = FakeMediaPreProcessor()
|
val mediaPreProcessor = FakeMediaPreProcessor()
|
||||||
val dataStore = CreateRoomConfigStore( FakeRoomAliasHelper())
|
val dataStore = CreateRoomConfigStore(FakeRoomAliasHelper())
|
||||||
val presenter = createConfigureRoomPresenter(
|
val presenter = createConfigureRoomPresenter(
|
||||||
dataStore = dataStore,
|
dataStore = dataStore,
|
||||||
mediaPreProcessor = mediaPreProcessor,
|
mediaPreProcessor = mediaPreProcessor,
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,7 @@ import io.element.android.libraries.architecture.Presenter
|
||||||
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
||||||
|
|
||||||
interface InvitePeoplePresenter : Presenter<InvitePeopleState> {
|
interface InvitePeoplePresenter : Presenter<InvitePeopleState> {
|
||||||
|
|
||||||
interface Factory {
|
interface Factory {
|
||||||
fun create(room: JoinedRoom): InvitePeoplePresenter
|
fun create(room: JoinedRoom): InvitePeoplePresenter
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ package io.element.android.features.invitepeople.impl
|
||||||
import io.element.android.features.invitepeople.api.InvitePeopleEvents
|
import io.element.android.features.invitepeople.api.InvitePeopleEvents
|
||||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||||
|
|
||||||
sealed interface DefaultInvitePeopleEvents: InvitePeopleEvents {
|
sealed interface DefaultInvitePeopleEvents : InvitePeopleEvents {
|
||||||
data class ToggleUser(val user: MatrixUser) : DefaultInvitePeopleEvents
|
data class ToggleUser(val user: MatrixUser) : DefaultInvitePeopleEvents
|
||||||
data class UpdateSearchQuery(val query: String) : DefaultInvitePeopleEvents
|
data class UpdateSearchQuery(val query: String) : DefaultInvitePeopleEvents
|
||||||
data class OnSearchActiveChanged(val active: Boolean) : DefaultInvitePeopleEvents
|
data class OnSearchActiveChanged(val active: Boolean) : DefaultInvitePeopleEvents
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,6 @@ class DefaultInvitePeoplePresenter @AssistedInject constructor(
|
||||||
@AppCoroutineScope private val coroutineScope: CoroutineScope,
|
@AppCoroutineScope private val coroutineScope: CoroutineScope,
|
||||||
private val appErrorStateService: AppErrorStateService,
|
private val appErrorStateService: AppErrorStateService,
|
||||||
) : InvitePeoplePresenter {
|
) : InvitePeoplePresenter {
|
||||||
|
|
||||||
@AssistedFactory
|
@AssistedFactory
|
||||||
@ContributesBinding(SessionScope::class)
|
@ContributesBinding(SessionScope::class)
|
||||||
interface Factory : InvitePeoplePresenter.Factory {
|
interface Factory : InvitePeoplePresenter.Factory {
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,4 @@ data class DefaultInvitePeopleState(
|
||||||
val selectedUsers: ImmutableList<MatrixUser>,
|
val selectedUsers: ImmutableList<MatrixUser>,
|
||||||
override val isSearchActive: Boolean,
|
override val isSearchActive: Boolean,
|
||||||
override val eventSink: (InvitePeopleEvents) -> Unit
|
override val eventSink: (InvitePeopleEvents) -> Unit
|
||||||
): InvitePeopleState
|
) : InvitePeopleState
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,6 @@ fun InvitePeopleView(
|
||||||
state: DefaultInvitePeopleState,
|
state: DefaultInvitePeopleState,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier.fillMaxWidth(),
|
modifier = modifier.fillMaxWidth(),
|
||||||
verticalArrangement = Arrangement.spacedBy(16.dp),
|
verticalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import io.element.android.anvilannotations.ContributesNode
|
import io.element.android.anvilannotations.ContributesNode
|
||||||
import io.element.android.features.invitepeople.api.InvitePeoplePresenter
|
import io.element.android.features.invitepeople.api.InvitePeoplePresenter
|
||||||
import io.element.android.features.invitepeople.api.InvitePeopleRenderer
|
import io.element.android.features.invitepeople.api.InvitePeopleRenderer
|
||||||
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
|
||||||
import io.element.android.libraries.di.RoomScope
|
import io.element.android.libraries.di.RoomScope
|
||||||
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
||||||
import io.element.android.services.analytics.api.AnalyticsService
|
import io.element.android.services.analytics.api.AnalyticsService
|
||||||
|
|
@ -28,12 +27,11 @@ import io.element.android.services.analytics.api.AnalyticsService
|
||||||
class RoomInviteMembersNode @AssistedInject constructor(
|
class RoomInviteMembersNode @AssistedInject constructor(
|
||||||
@Assisted buildContext: BuildContext,
|
@Assisted buildContext: BuildContext,
|
||||||
@Assisted plugins: List<Plugin>,
|
@Assisted plugins: List<Plugin>,
|
||||||
private val room: JoinedRoom,
|
|
||||||
private val analyticsService: AnalyticsService,
|
private val analyticsService: AnalyticsService,
|
||||||
private val invitePeopleRenderer: InvitePeopleRenderer,
|
private val invitePeopleRenderer: InvitePeopleRenderer,
|
||||||
private val invitePeoplePresenterFactory: InvitePeoplePresenter.Factory,
|
room: JoinedRoom,
|
||||||
|
invitePeoplePresenterFactory: InvitePeoplePresenter.Factory,
|
||||||
) : Node(buildContext, plugins = plugins) {
|
) : Node(buildContext, plugins = plugins) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
lifecycle.subscribe(
|
lifecycle.subscribe(
|
||||||
onResume = {
|
onResume = {
|
||||||
|
|
@ -50,9 +48,10 @@ class RoomInviteMembersNode @AssistedInject constructor(
|
||||||
RoomInviteMembersView(
|
RoomInviteMembersView(
|
||||||
state = state,
|
state = state,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
invitePeopleView = { invitePeopleRenderer.Render(state, Modifier) },
|
|
||||||
onBackClick = { navigateUp() },
|
onBackClick = { navigateUp() },
|
||||||
onSubmitClick = { navigateUp() }
|
onDone = { navigateUp() }
|
||||||
)
|
) {
|
||||||
|
invitePeopleRenderer.Render(state, Modifier)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,7 @@
|
||||||
|
|
||||||
package io.element.android.features.roomdetails.impl.invite
|
package io.element.android.features.roomdetails.impl.invite
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.layout.consumeWindowInsets
|
import androidx.compose.foundation.layout.consumeWindowInsets
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
|
@ -18,7 +16,6 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import io.element.android.features.invitepeople.api.InvitePeopleEvents
|
import io.element.android.features.invitepeople.api.InvitePeopleEvents
|
||||||
import io.element.android.features.invitepeople.api.InvitePeopleState
|
import io.element.android.features.invitepeople.api.InvitePeopleState
|
||||||
import io.element.android.features.invitepeople.api.InvitePeopleStateProvider
|
import io.element.android.features.invitepeople.api.InvitePeopleStateProvider
|
||||||
|
|
@ -34,10 +31,10 @@ import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
@Composable
|
@Composable
|
||||||
fun RoomInviteMembersView(
|
fun RoomInviteMembersView(
|
||||||
state: InvitePeopleState,
|
state: InvitePeopleState,
|
||||||
invitePeopleView: @Composable () -> Unit,
|
|
||||||
onBackClick: () -> Unit,
|
onBackClick: () -> Unit,
|
||||||
onSubmitClick: () -> Unit,
|
onDone: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
|
invitePeopleView: @Composable () -> Unit,
|
||||||
) {
|
) {
|
||||||
Scaffold(
|
Scaffold(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
|
|
@ -52,7 +49,7 @@ fun RoomInviteMembersView(
|
||||||
},
|
},
|
||||||
onSubmitClick = {
|
onSubmitClick = {
|
||||||
state.eventSink(InvitePeopleEvents.SendInvites)
|
state.eventSink(InvitePeopleEvents.SendInvites)
|
||||||
onSubmitClick()
|
onDone()
|
||||||
},
|
},
|
||||||
canSend = state.canInvite,
|
canSend = state.canInvite,
|
||||||
)
|
)
|
||||||
|
|
@ -60,13 +57,12 @@ fun RoomInviteMembersView(
|
||||||
) { padding ->
|
) { padding ->
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(padding)
|
.padding(padding)
|
||||||
.consumeWindowInsets(padding),
|
.consumeWindowInsets(padding),
|
||||||
) {
|
) {
|
||||||
invitePeopleView()
|
invitePeopleView()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,6 +93,6 @@ internal fun RoomInviteMembersViewPreview(@PreviewParameter(InvitePeopleStatePro
|
||||||
state = state,
|
state = state,
|
||||||
invitePeopleView = {},
|
invitePeopleView = {},
|
||||||
onBackClick = {},
|
onBackClick = {},
|
||||||
onSubmitClick = {},
|
onDone = {},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,11 @@ import app.cash.molecule.RecompositionMode
|
||||||
import app.cash.molecule.moleculeFlow
|
import app.cash.molecule.moleculeFlow
|
||||||
import app.cash.turbine.test
|
import app.cash.turbine.test
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
|
import io.element.android.features.invitepeople.test.FakeStartDMAction
|
||||||
import io.element.android.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
import io.element.android.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||||
import io.element.android.features.startchat.api.StartDMAction
|
import io.element.android.features.startchat.api.StartDMAction
|
||||||
import io.element.android.features.startchat.impl.userlist.FakeUserListPresenter
|
import io.element.android.features.startchat.impl.userlist.FakeUserListPresenter
|
||||||
import io.element.android.features.startchat.impl.userlist.FakeUserListPresenterFactory
|
import io.element.android.features.startchat.impl.userlist.FakeUserListPresenterFactory
|
||||||
import io.element.android.features.invitepeople.test.FakeStartDMAction
|
|
||||||
import io.element.android.features.startchat.impl.userlist.UserListDataStore
|
import io.element.android.features.startchat.impl.userlist.UserListDataStore
|
||||||
import io.element.android.libraries.architecture.AsyncAction
|
import io.element.android.libraries.architecture.AsyncAction
|
||||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
import io.element.android.libraries.featureflag.api.FeatureFlags
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ import androidx.compose.runtime.setValue
|
||||||
import dagger.assisted.Assisted
|
import dagger.assisted.Assisted
|
||||||
import dagger.assisted.AssistedFactory
|
import dagger.assisted.AssistedFactory
|
||||||
import dagger.assisted.AssistedInject
|
import dagger.assisted.AssistedInject
|
||||||
import io.element.android.features.startchat.api.StartDMAction
|
|
||||||
import io.element.android.features.enterprise.api.SessionEnterpriseService
|
import io.element.android.features.enterprise.api.SessionEnterpriseService
|
||||||
|
import io.element.android.features.startchat.api.StartDMAction
|
||||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||||
import io.element.android.features.userprofile.api.UserProfileState
|
import io.element.android.features.userprofile.api.UserProfileState
|
||||||
import io.element.android.features.userprofile.api.UserProfileState.ConfirmationDialog
|
import io.element.android.features.userprofile.api.UserProfileState.ConfirmationDialog
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@ import app.cash.molecule.moleculeFlow
|
||||||
import app.cash.turbine.ReceiveTurbine
|
import app.cash.turbine.ReceiveTurbine
|
||||||
import app.cash.turbine.test
|
import app.cash.turbine.test
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
|
import io.element.android.features.enterprise.test.FakeSessionEnterpriseService
|
||||||
|
import io.element.android.features.invitepeople.test.FakeStartDMAction
|
||||||
import io.element.android.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
import io.element.android.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||||
import io.element.android.features.startchat.api.StartDMAction
|
import io.element.android.features.startchat.api.StartDMAction
|
||||||
import io.element.android.features.invitepeople.test.FakeStartDMAction
|
|
||||||
import io.element.android.features.enterprise.test.FakeSessionEnterpriseService
|
|
||||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||||
import io.element.android.features.userprofile.api.UserProfileState
|
import io.element.android.features.userprofile.api.UserProfileState
|
||||||
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue