Update to Jetpack Compose 1.1.0-beta02

This commit is contained in:
2021-11-08 22:29:11 +02:00
parent 4f76b20937
commit c2da2b8ad4
6 changed files with 60 additions and 8 deletions
+9 -1
View File
@@ -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)
}
}
@@ -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,
@@ -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
}