Browse Source

Move button actions to view events

misc/jme/add-logging-to-state-machine
Florian Renaud 2 years ago
parent
commit
73ef9180a2
  1. 4
      features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootEvents.kt
  2. 2
      features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootNode.kt
  3. 3
      features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootPresenter.kt
  4. 6
      features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootScreen.kt
  5. 3
      features/createroom/src/test/kotlin/io/element/android/features/createroom/root/CreateRoomRootPresenterTests.kt

4
features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootEvents.kt

@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
package io.element.android.features.createroom.root
// TODO Add your events or remove the file completely if no events
sealed interface CreateRoomRootEvents {
object MyEvent : CreateRoomRootEvents
object CreateRoom : CreateRoomRootEvents
object InvitePeople : CreateRoomRootEvents
}

2
features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootNode.kt

@ -47,8 +47,6 @@ class CreateRoomRootNode @AssistedInject constructor( @@ -47,8 +47,6 @@ class CreateRoomRootNode @AssistedInject constructor(
state = state,
modifier = modifier,
onClosePressed = this::navigateUp,
onNewRoomClicked = { /* TODO Handle new room action */ },
onInvitePeopleClicked = { /* TODO Handle invite people action */ },
)
}
}

3
features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootPresenter.kt

@ -27,7 +27,8 @@ class CreateRoomRootPresenter @Inject constructor() : Presenter<CreateRoomRootSt @@ -27,7 +27,8 @@ class CreateRoomRootPresenter @Inject constructor() : Presenter<CreateRoomRootSt
fun handleEvents(event: CreateRoomRootEvents) {
when (event) {
CreateRoomRootEvents.MyEvent -> Unit
CreateRoomRootEvents.CreateRoom -> Unit // Todo Handle create room action
CreateRoomRootEvents.InvitePeople -> Unit // Todo Handle invite people action
}
}

6
features/createroom/src/main/kotlin/io/element/android/features/createroom/root/CreateRoomRootScreen.kt

@ -63,8 +63,6 @@ fun CreateRoomRootScreen( @@ -63,8 +63,6 @@ fun CreateRoomRootScreen(
state: CreateRoomRootState,
modifier: Modifier = Modifier,
onClosePressed: () -> Unit = {},
onNewRoomClicked: () -> Unit = {},
onInvitePeopleClicked: () -> Unit = {},
) {
var searchText by rememberSaveable { mutableStateOf("") }
var isSearchActive by rememberSaveable { mutableStateOf(false) }
@ -91,8 +89,8 @@ fun CreateRoomRootScreen( @@ -91,8 +89,8 @@ fun CreateRoomRootScreen(
if (!isSearchActive) {
CreateRoomActionButtonsList(
onNewRoomClicked = onNewRoomClicked,
onInvitePeopleClicked = onInvitePeopleClicked,
onNewRoomClicked = { state.eventSink(CreateRoomRootEvents.CreateRoom) },
onInvitePeopleClicked = { state.eventSink(CreateRoomRootEvents.InvitePeople) },
)
}
}

3
features/createroom/src/test/kotlin/io/element/android/features/createroom/root/CreateRoomRootPresenterTests.kt

@ -46,7 +46,8 @@ class CreateRoomRootPresenterTests { @@ -46,7 +46,8 @@ class CreateRoomRootPresenterTests {
presenter.present()
}.test {
val initialState = awaitItem()
initialState.eventSink.invoke(CreateRoomRootEvents.MyEvent)
initialState.eventSink(CreateRoomRootEvents.CreateRoom) // Not implemented yet
initialState.eventSink(CreateRoomRootEvents.InvitePeople) // Not implemented yet
}
}
}

Loading…
Cancel
Save