avoiding exposing directory modules classes
This commit is contained in:
parent
fe363058b5
commit
9acf5ce479
|
@ -35,12 +35,12 @@ import app.dapk.st.design.components.CircleishAvatar
|
|||
import app.dapk.st.design.components.GenericEmpty
|
||||
import app.dapk.st.design.components.GenericError
|
||||
import app.dapk.st.design.components.Toolbar
|
||||
import app.dapk.st.directory.state.DirectoryEvent.OpenDownloadUrl
|
||||
import app.dapk.st.directory.state.DirectoryScreenState.Content
|
||||
import app.dapk.st.directory.state.DirectoryScreenState.EmptyLoading
|
||||
import app.dapk.st.directory.state.ComponentLifecycle
|
||||
import app.dapk.st.directory.state.DirectoryEvent
|
||||
import app.dapk.st.directory.state.DirectoryEvent.OpenDownloadUrl
|
||||
import app.dapk.st.directory.state.DirectoryScreenState
|
||||
import app.dapk.st.directory.state.DirectoryScreenState.Content
|
||||
import app.dapk.st.directory.state.DirectoryScreenState.EmptyLoading
|
||||
import app.dapk.st.directory.state.DirectoryState
|
||||
import app.dapk.st.engine.DirectoryItem
|
||||
import app.dapk.st.engine.RoomOverview
|
||||
|
@ -57,7 +57,7 @@ import java.time.temporal.ChronoUnit
|
|||
import kotlin.math.roundToInt
|
||||
|
||||
@Composable
|
||||
fun DirectoryScreen(directoryViewModel: DirectoryState) {
|
||||
internal fun DirectoryScreen(directoryViewModel: DirectoryState) {
|
||||
val state = directoryViewModel.current
|
||||
|
||||
val listState: LazyListState = rememberLazyListState(
|
||||
|
|
|
@ -14,7 +14,7 @@ class DirectoryModule(
|
|||
private val chatEngine: ChatEngine,
|
||||
) : ProvidableModule {
|
||||
|
||||
fun directoryViewModel(): StateViewModel<DirectoryScreenState, DirectoryEvent> {
|
||||
internal fun directoryViewModel(): StateViewModel<DirectoryScreenState, DirectoryEvent> {
|
||||
return createStateViewModel { directoryReducer(chatEngine, ShortcutHandler(context), it) }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ import app.dapk.st.engine.RoomOverview
|
|||
import app.dapk.st.matrix.common.RoomId
|
||||
import app.dapk.st.messenger.MessengerActivity
|
||||
|
||||
class ShortcutHandler(private val context: Context) {
|
||||
internal class ShortcutHandler(private val context: Context) {
|
||||
|
||||
private val cachedRoomIds = mutableListOf<RoomId>()
|
||||
|
||||
|
|
|
@ -3,16 +3,16 @@ package app.dapk.st.directory.state
|
|||
import app.dapk.st.engine.DirectoryState
|
||||
import app.dapk.state.Action
|
||||
|
||||
sealed interface ComponentLifecycle : Action {
|
||||
internal sealed interface ComponentLifecycle : Action {
|
||||
object OnVisible : ComponentLifecycle
|
||||
object OnGone : ComponentLifecycle
|
||||
}
|
||||
|
||||
sealed interface DirectorySideEffect : Action {
|
||||
internal sealed interface DirectorySideEffect : Action {
|
||||
object ScrollToTop : DirectorySideEffect
|
||||
}
|
||||
|
||||
sealed interface DirectoryStateChange : Action {
|
||||
internal sealed interface DirectoryStateChange : Action {
|
||||
object Empty : DirectoryStateChange
|
||||
data class Content(val content: DirectoryState) : DirectoryStateChange
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import kotlinx.coroutines.Job
|
|||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
|
||||
fun directoryReducer(
|
||||
internal fun directoryReducer(
|
||||
chatEngine: ChatEngine,
|
||||
shortcutHandler: ShortcutHandler,
|
||||
eventEmitter: suspend (DirectoryEvent) -> Unit,
|
||||
|
|
|
@ -3,9 +3,9 @@ package app.dapk.st.directory.state
|
|||
import app.dapk.st.core.State
|
||||
import app.dapk.st.engine.DirectoryState
|
||||
|
||||
typealias DirectoryState = State<DirectoryScreenState, DirectoryEvent>
|
||||
internal typealias DirectoryState = State<DirectoryScreenState, DirectoryEvent>
|
||||
|
||||
sealed interface DirectoryScreenState {
|
||||
internal sealed interface DirectoryScreenState {
|
||||
object EmptyLoading : DirectoryScreenState
|
||||
object Empty : DirectoryScreenState
|
||||
data class Content(
|
||||
|
@ -13,7 +13,7 @@ sealed interface DirectoryScreenState {
|
|||
) : DirectoryScreenState
|
||||
}
|
||||
|
||||
sealed interface DirectoryEvent {
|
||||
internal sealed interface DirectoryEvent {
|
||||
data class OpenDownloadUrl(val url: String) : DirectoryEvent
|
||||
object ScrollToTop : DirectoryEvent
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue