Merge pull request #5451 from element-hq/feature/bma/spaceAnnoucement

Space annoucement
This commit is contained in:
Benoit Marty 2025-10-03 16:48:49 +02:00 committed by GitHub
commit 97ae89ed96
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 945 additions and 13 deletions

View file

@ -18,6 +18,8 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import dev.zacsweers.metro.Inject
import io.element.android.features.announcement.api.Announcement
import io.element.android.features.announcement.api.AnnouncementService
import io.element.android.features.home.impl.roomlist.RoomListState
import io.element.android.features.home.impl.spaces.HomeSpacesState
import io.element.android.features.logout.api.direct.DirectLogoutState
@ -47,6 +49,7 @@ class HomePresenter(
private val rageshakeFeatureAvailability: RageshakeFeatureAvailability,
private val featureFlagService: FeatureFlagService,
private val sessionStore: SessionStore,
private val announcementService: AnnouncementService,
) : Presenter<HomeState> {
private val currentUserWithNeighborsBuilder = CurrentUserWithNeighborsBuilder()
@ -84,7 +87,10 @@ class HomePresenter(
fun handleEvents(event: HomeEvents) {
when (event) {
is HomeEvents.SelectHomeNavigationBarItem -> {
is HomeEvents.SelectHomeNavigationBarItem -> coroutineState.launch {
if (event.item == HomeNavigationBarItem.Spaces) {
announcementService.showAnnouncement(Announcement.Space)
}
currentHomeNavigationBarItemOrdinal = event.item.ordinal
}
is HomeEvents.SwitchToAccount -> coroutineState.launch {