Update to Jetpack Compose 1.1.0-beta02
This commit is contained in:
@@ -7,6 +7,7 @@ plugins {
|
||||
kotlin("kapt")
|
||||
id("dagger.hilt.android.plugin")
|
||||
id("kotlin-android")
|
||||
id("com.google.devtools.ksp") version "1.5.31-1.0.0"
|
||||
}
|
||||
|
||||
kapt {
|
||||
@@ -142,10 +143,17 @@ dependencies {
|
||||
|
||||
implementation(Libs.code_scanner)
|
||||
|
||||
implementation(Libs.ComposeDestination.core)
|
||||
ksp(Libs.ComposeDestination.ksp)
|
||||
|
||||
implementation(Libs.flowredux)
|
||||
implementation(Libs.flowredux_dsl)
|
||||
|
||||
testImplementation(Libs.turbine)
|
||||
androidTestImplementation(Libs.turbine)
|
||||
|
||||
androidTestImplementation(Libs.junit5_android_test_core)
|
||||
testImplementation(Libs.junit5_android_test_core)
|
||||
androidTestRuntimeOnly(Libs.junit5_android_test_runner)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+18
@@ -10,14 +10,32 @@ import com.ericampire.android.androidstudycase.domain.usecase.FindRecentLottieFi
|
||||
import com.ericampire.android.androidstudycase.util.Result
|
||||
import com.ericampire.android.androidstudycase.util.data
|
||||
import com.ericampire.android.androidstudycase.util.mvi.BViewModel
|
||||
import com.freeletics.flowredux.dsl.FlowReduxStateMachine
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
import kotlinx.coroutines.FlowPreview
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@OptIn(FlowPreview::class, kotlinx.coroutines.ExperimentalCoroutinesApi::class)
|
||||
class Explore(
|
||||
private val findPopularLottieFileUseCase: FindPopularLottieFileUseCase,
|
||||
private val findRecentLottieFileUseCase: FindRecentLottieFileUseCase,
|
||||
private val findFeaturedLottieFileUseCase: FindFeaturedLottieFileUseCase
|
||||
) : FlowReduxStateMachine<ExploreState, ExploreAction>(initialState = ExploreState.LoadingState) {
|
||||
|
||||
init {
|
||||
spec {
|
||||
inState<ExploreState.LoadingState> {
|
||||
//onEnter()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ExploreViewModel @AssistedInject constructor(
|
||||
@Assisted initialState: ExploreViewState,
|
||||
private val findPopularLottieFileUseCase: FindPopularLottieFileUseCase,
|
||||
|
||||
+6
@@ -8,3 +8,9 @@ import com.ericampire.android.androidstudycase.domain.entity.Lottiefile
|
||||
data class ExploreViewState(
|
||||
val files: Async<List<Lottiefile>> = Uninitialized,
|
||||
) : MavericksState
|
||||
|
||||
sealed interface ExploreState {
|
||||
object LoadingState : ExploreState
|
||||
data class ContentState(val file: List<Lottiefile>) : ExploreState
|
||||
data class ErrorState(val cause: Throwable) : ExploreState
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user