Ashwani Singh
11/13/2020, 9:14 AMprivate fun subscribeObservers() {
homePageViewModel.viewState.observe(this) { viewState ->
if (viewState != null) {
viewState.pageUILayoutList?.let { pageUILayoutList ->
printLogD("HomePageFragment | pageUILayoutList", pageUILayoutList.toString())
}
viewState.allModulesForPage?.let { allModulesContent ->
printLogD("HomePageFragment | allContents", "" + allModulesContent.toString())
}
}
}
}
I used below code, but its not work
val homePageViewModel = (ContextAmbient.current as DashboardActivity).homePageViewModel
onActive {
homePageViewModel.setStateEvent(
HomePageStateEvent.GetPageModuleEvent()
)
homePageViewModel.setStateEvent(
HomePageStateEvent.GetContentEvent()
)
}
val viewState: HomePageViewState by homePageViewModel.viewState.observeAsState(
HomePageViewState()
)
var pageUIMap: HashMap<String, String>? = null
if (viewState.pageUILayoutList != null) {
// But not getting any call here
}
Zach Klippenstein (he/him) [MOD]
11/13/2020, 3:40 PM@Composable private fun subscribeObservers() {
val viewState by homePageViewModel.viewState.observeAsState()
onCommit(viewState) {
if (viewState != null) {
viewState.pageUILayoutList?.let { pageUILayoutList ->
printLogD("HomePageFragment | pageUILayoutList", pageUILayoutList.toString())
}
viewState.allModulesForPage?.let { allModulesContent ->
printLogD("HomePageFragment | allContents", "" + allModulesContent.toString())
}
}
}
}
Although using Compose just to observe like this is odd, it would probably be better to observe in a coroutine using LaunchedEffect
.Ashwani Singh
11/17/2020, 4:36 PMZach Klippenstein (he/him) [MOD]
11/17/2020, 4:41 PMZach Klippenstein (he/him) [MOD]
11/17/2020, 4:42 PM