Adds comments to SpaceStateHandler
This commit is contained in:
parent
e6addd1319
commit
590f99a5c2
@ -22,10 +22,27 @@ import kotlinx.coroutines.flow.Flow
|
|||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets info about the current space the user has navigated to, any space backstack they may have
|
||||||
|
* and handles switching to different spaces
|
||||||
|
*/
|
||||||
interface SpaceStateHandler : DefaultLifecycleObserver {
|
interface SpaceStateHandler : DefaultLifecycleObserver {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the current space the current user has navigated to
|
||||||
|
*
|
||||||
|
* @return null if the user is not in
|
||||||
|
*/
|
||||||
fun getCurrentSpace(): RoomSummary?
|
fun getCurrentSpace(): RoomSummary?
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the new space the current user is navigating to
|
||||||
|
*
|
||||||
|
* @param spaceId the id of the space being navigated to
|
||||||
|
* @param session the current active session
|
||||||
|
* @param persistNow if true, the current space will immediately be persisted in shared prefs
|
||||||
|
* @param isForwardNavigation whether this navigation is a forward action to properly handle backstack
|
||||||
|
*/
|
||||||
fun setCurrentSpace(
|
fun setCurrentSpace(
|
||||||
spaceId: String?,
|
spaceId: String?,
|
||||||
session: Session? = null,
|
session: Session? = null,
|
||||||
@ -33,9 +50,20 @@ interface SpaceStateHandler : DefaultLifecycleObserver {
|
|||||||
isForwardNavigation: Boolean = true,
|
isForwardNavigation: Boolean = true,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the current backstack of spaces (via their id)
|
||||||
|
*
|
||||||
|
* null may be an entry in the ArrayDeque to indicate the root space (All Chats)
|
||||||
|
*/
|
||||||
fun getSpaceBackstack(): ArrayDeque<String?>
|
fun getSpaceBackstack(): ArrayDeque<String?>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a flow of the selected space for clients to react immediately to space changes
|
||||||
|
*/
|
||||||
fun getSelectedSpaceFlow(): Flow<Option<RoomSummary>>
|
fun getSelectedSpaceFlow(): Flow<Option<RoomSummary>>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the id of the active space, or null if there is none
|
||||||
|
*/
|
||||||
fun getSafeActiveSpaceId(): String?
|
fun getSafeActiveSpaceId(): String?
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user