mirror of
https://github.com/vector-im/riotX-android
synced 2025-10-06 00:02:48 +02:00
Compare commits
1 Commits
v1.6.22
...
bug/eric/f
Author | SHA1 | Date | |
---|---|---|---|
|
6121468422 |
@@ -37,6 +37,8 @@ import im.vector.app.features.home.HomeActivitySharedAction
|
||||
import im.vector.app.features.home.HomeSharedActionViewModel
|
||||
import im.vector.app.features.home.room.list.actions.RoomListSharedAction
|
||||
import im.vector.app.features.home.room.list.actions.RoomListSharedActionViewModel
|
||||
import im.vector.app.features.spaces.manage.ManageType
|
||||
import im.vector.app.features.spaces.manage.SpaceManageActivity
|
||||
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -172,10 +174,11 @@ class SpaceListFragment @Inject constructor(
|
||||
|
||||
private fun observeViewEvents() = viewModel.observeViewEvents {
|
||||
when (it) {
|
||||
is SpaceListViewEvents.OpenSpaceSummary -> homeActivitySharedActionViewModel.post(HomeActivitySharedAction.OpenSpacePreview(it.id))
|
||||
is SpaceListViewEvents.AddSpace -> homeActivitySharedActionViewModel.post(HomeActivitySharedAction.AddSpace)
|
||||
is SpaceListViewEvents.OpenSpaceInvite -> homeActivitySharedActionViewModel.post(HomeActivitySharedAction.OpenSpaceInvite(it.id))
|
||||
SpaceListViewEvents.AddSpace -> homeActivitySharedActionViewModel.post(HomeActivitySharedAction.AddSpace)
|
||||
SpaceListViewEvents.CloseDrawer -> homeActivitySharedActionViewModel.post(HomeActivitySharedAction.CloseDrawer)
|
||||
is SpaceListViewEvents.AddSubSpace -> startActivity(SpaceManageActivity.newIntent(requireActivity(), it.spaceId, ManageType.AddRoomsOnlySpaces))
|
||||
is SpaceListViewEvents.OpenSpaceSummary -> homeActivitySharedActionViewModel.post(HomeActivitySharedAction.OpenSpacePreview(it.id))
|
||||
is SpaceListViewEvents.OpenSpaceInvite -> homeActivitySharedActionViewModel.post(HomeActivitySharedAction.OpenSpaceInvite(it.id))
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -25,5 +25,6 @@ sealed class SpaceListViewEvents : VectorViewEvents {
|
||||
data class OpenSpaceSummary(val id: String) : SpaceListViewEvents()
|
||||
data class OpenSpaceInvite(val id: String) : SpaceListViewEvents()
|
||||
object AddSpace : SpaceListViewEvents()
|
||||
data class AddSubSpace(val spaceId: String) : SpaceListViewEvents()
|
||||
object CloseDrawer : SpaceListViewEvents()
|
||||
}
|
||||
|
@@ -27,6 +27,7 @@ import im.vector.app.SpaceStateHandler
|
||||
import im.vector.app.core.di.MavericksAssistedViewModelFactory
|
||||
import im.vector.app.core.di.hiltMavericksViewModelFactory
|
||||
import im.vector.app.core.platform.VectorViewModel
|
||||
import im.vector.app.features.VectorFeatures
|
||||
import im.vector.app.features.analytics.AnalyticsTracker
|
||||
import im.vector.app.features.analytics.plan.Interaction
|
||||
import im.vector.app.features.invite.AutoAcceptInvites
|
||||
@@ -65,7 +66,8 @@ class SpaceListViewModel @AssistedInject constructor(
|
||||
private val session: Session,
|
||||
private val vectorPreferences: VectorPreferences,
|
||||
private val autoAcceptInvites: AutoAcceptInvites,
|
||||
private val analyticsTracker: AnalyticsTracker
|
||||
private val analyticsTracker: AnalyticsTracker,
|
||||
private val vectorFeatures: VectorFeatures,
|
||||
) : VectorViewModel<SpaceListViewState, SpaceListAction, SpaceListViewEvents>(initialState) {
|
||||
|
||||
@AssistedFactory
|
||||
@@ -247,7 +249,13 @@ class SpaceListViewModel @AssistedInject constructor(
|
||||
}
|
||||
|
||||
private fun handleAddSpace() {
|
||||
_viewEvents.post(SpaceListViewEvents.AddSpace)
|
||||
val currentSpace = spaceStateHandler.getCurrentSpace()
|
||||
|
||||
if (currentSpace == null || !vectorFeatures.isNewAppLayoutEnabled()) {
|
||||
_viewEvents.post(SpaceListViewEvents.AddSpace)
|
||||
} else {
|
||||
_viewEvents.post(SpaceListViewEvents.AddSubSpace(currentSpace.roomId))
|
||||
}
|
||||
}
|
||||
|
||||
private fun observeSpaceSummaries() {
|
||||
|
Reference in New Issue
Block a user