mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Improve back-navigation for invitations
This commit is contained in:
@@ -67,6 +67,7 @@ import io.element.android.libraries.di.SessionScope
|
|||||||
import io.element.android.libraries.matrix.api.MatrixClient
|
import io.element.android.libraries.matrix.api.MatrixClient
|
||||||
import io.element.android.libraries.matrix.api.core.MAIN_SPACE
|
import io.element.android.libraries.matrix.api.core.MAIN_SPACE
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
|
import io.element.android.libraries.matrix.api.roomlist.RoomList
|
||||||
import io.element.android.libraries.matrix.api.sync.SyncState
|
import io.element.android.libraries.matrix.api.sync.SyncState
|
||||||
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
|
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
|
||||||
import io.element.android.services.appnavstate.api.AppNavigationStateService
|
import io.element.android.services.appnavstate.api.AppNavigationStateService
|
||||||
@@ -149,6 +150,23 @@ class LoggedInFlowNode @AssistedInject constructor(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
observeSyncStateAndNetworkStatus()
|
observeSyncStateAndNetworkStatus()
|
||||||
|
observeInvitesLoadingState()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun observeInvitesLoadingState() {
|
||||||
|
lifecycleScope.launch {
|
||||||
|
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||||
|
matrixClient.roomListService.invites.loadingState
|
||||||
|
.collect { inviteState ->
|
||||||
|
when (inviteState) {
|
||||||
|
is RoomList.LoadingState.Loaded -> if (inviteState.numberOfRooms == 0) {
|
||||||
|
backstack.removeLast(NavTarget.InviteList)
|
||||||
|
}
|
||||||
|
RoomList.LoadingState.NotLoaded -> Unit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(FlowPreview::class)
|
@OptIn(FlowPreview::class)
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
Always close the invite list screen when there is no more invite.
|
||||||
Reference in New Issue
Block a user