Skip to content

Commit

Permalink
feat: updating internal
Browse files Browse the repository at this point in the history
  • Loading branch information
triandamai committed Aug 7, 2023
1 parent de1fdef commit f16a4a4
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

package app.trian.mvi.data.domain.quiz

import app.trian.mvi.ui.ResultStateData
import app.trian.mvi.data.model.ResultStateData
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package app.trian.mvi.feature.quiz.detailQuiz

import androidx.lifecycle.SavedStateHandle
import app.trian.mvi.data.domain.quiz.GetDetailQuizUseCase
import app.trian.mvi.ui.ResultState
import app.trian.mvi.data.model.ResultState
import app.trian.mvi.ui.viewModel.MviViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package app.trian.mvi.feature.quiz.listQuiz

import app.trian.mvi.data.domain.quiz.GetListQuizUseCase
import app.trian.mvi.feature.quiz.detailQuiz.DetailQuiz
import app.trian.mvi.ui.viewModel.MviViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
Expand Down Expand Up @@ -30,7 +31,8 @@ class ListQuizViewModel @Inject constructor(
}

ListQuizAction.Navigate -> {
commit { copy(effect = ListQuizEffect.DetailQuiz("sasas")) }
navigate(DetailQuiz.routeName,"sasas")
// commit { copy(effect = ListQuizEffect.DetailQuiz("sasas")) }
}
}
}
Expand Down
17 changes: 11 additions & 6 deletions ui/src/main/java/app/trian/mvi/ui/viewModel/MviViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,22 @@ import kotlinx.coroutines.launch

abstract class MviViewModel<State : MviState<*>, Action>(
private val initialState: State,
) : ViewModel(), NavigationListener,ToastListener {
) : ViewModel(), NavigationListener {

private var navigationListener: NavigationListener? = null
private var toastListener: ToastListener? = null

private val _uiState: MutableStateFlow<State> = MutableStateFlow(initialState)
val uiState get() = _uiState.asStateFlow()
protected abstract fun onAction(action: Action)

//toast
fun addOnToastListener(toastListener: ToastListener){
fun addOnToastListener(toastListener: ToastListener) {
this.toastListener = toastListener
}

override fun show(message: String, length: Int) {
this.toastListener?.show(message,length)
protected fun showToast(message: String, length: Int) {
this.toastListener?.show(message, length)
}
//

Expand All @@ -40,9 +41,13 @@ abstract class MviViewModel<State : MviState<*>, Action>(
this.navigationListener = navigationListener
}

override fun navigateUp() { this.navigationListener?.navigateUp()}
override fun navigateUp() {
this.navigationListener?.navigateUp()
}

override fun navigateBack() {this.navigationListener?.navigateBack()}
override fun navigateBack() {
this.navigationListener?.navigateBack()
}

override fun navigate(routeName: String, vararg params: String) {
this.navigationListener?.navigate(routeName, *params)
Expand Down

0 comments on commit f16a4a4

Please sign in to comment.