Совместное использование общей логики состояния между различными обработчиками намерений MVI.Android

Форум для тех, кто программирует под Android
Anonymous
Совместное использование общей логики состояния между различными обработчиками намерений MVI.

Сообщение Anonymous »

При разработке приложения для Android с архитектурой MVI я столкнулся с проблемой. У меня есть экраны, которые постоянно используют одни и те же намерения. Например, UserScreen и Search Screen имеют свои собственные классы, в которых хранятся намерения. Однако на некоторых экранах намерения могут дублироваться, например, для popbackstack или перехода на одну и ту же страницу. Как решить эту проблему?

Примеры кода:

Код: Выделить всё

sealed class SettingIntent{
data class toUserScreen(val id: Int) : SettingIntent()

data class BecomeAMaster(val status: StatusOfUser) : SettingIntent()
}

Код: Выделить всё

sealed class SearchIntents {
data class ChangeText(val text: String) : SearchIntents()
object GetData : SearchIntents()
object NavigateToBack : SearchIntents()
data class NavigateToUserInfo(val id: Int) : SearchIntents()

object OpenFilters : SearchIntents()
object CloseFilters : SearchIntents()

object ApplyFilters : SearchIntents()
object ResetFilters : SearchIntents()
data class FilterAction(val action: FilterIntent) : SearchIntents()

}
Как видите, навигация повторяется, и это происходит на многих экранах.

Подробнее здесь: https://stackoverflow.com/questions/798 ... t-handlers

Вернуться в «Android»