1
0
mirror of https://github.com/vector-im/riotX-android synced 2025-10-06 00:02:48 +02:00

Compare commits

...

1 Commits

Author SHA1 Message Date
ericdecanini
6121468422 Fixes add subspace not working in new layout 2022-08-18 18:19:54 +02:00
3 changed files with 17 additions and 5 deletions

View File

@@ -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))
}
}

View File

@@ -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()
}

View File

@@ -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() {