Migrate Preferences to new architecture
This commit is contained in:
parent
9e211b5e04
commit
ae273bd4ea
26 changed files with 399 additions and 174 deletions
|
|
@ -13,6 +13,7 @@ import com.bumble.appyx.navmodel.backstack.operation.push
|
|||
import io.element.android.x.architecture.createNode
|
||||
import io.element.android.x.architecture.viewmodel.viewModelSupportNode
|
||||
import io.element.android.x.features.messages.MessagesScreen
|
||||
import io.element.android.x.features.preferences.PreferencesFlowNode
|
||||
import io.element.android.x.features.roomlist.RoomListNode
|
||||
import io.element.android.x.matrix.core.RoomId
|
||||
import io.element.android.x.matrix.core.SessionId
|
||||
|
|
@ -34,6 +35,10 @@ class LoggedInFlowNode(
|
|||
override fun onRoomClicked(roomId: RoomId) {
|
||||
backstack.push(NavTarget.Messages(roomId))
|
||||
}
|
||||
|
||||
override fun onSettingsClicked() {
|
||||
backstack.push(NavTarget.Settings)
|
||||
}
|
||||
}
|
||||
|
||||
sealed interface NavTarget : Parcelable {
|
||||
|
|
@ -42,6 +47,9 @@ class LoggedInFlowNode(
|
|||
|
||||
@Parcelize
|
||||
data class Messages(val roomId: RoomId) : NavTarget
|
||||
|
||||
@Parcelize
|
||||
object Settings : NavTarget
|
||||
}
|
||||
|
||||
override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node {
|
||||
|
|
@ -55,6 +63,9 @@ class LoggedInFlowNode(
|
|||
onBackPressed = { backstack.pop() }
|
||||
)
|
||||
}
|
||||
NavTarget.Settings -> {
|
||||
PreferencesFlowNode(buildContext)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue