diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 560ecce6..0a045262 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -18,6 +18,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 + - name: Gradle Build Action + uses: gradle/gradle-build-action@v2.1.5 - name: Check build run: ./run-check.sh "${{ matrix.os }}" shell: bash diff --git a/README.md b/README.md index 62ccfe65..1f64f367 100755 --- a/README.md +++ b/README.md @@ -50,21 +50,21 @@ allprojects { project build.gradle ```groovy dependencies { - commonMainApi("dev.icerock.moko:mvvm-core:0.13.0") // only ViewModel, EventsDispatcher, Dispatchers.UI - commonMainApi("dev.icerock.moko:mvvm-flow:0.13.0") // api mvvm-core, CFlow for native and binding extensions - commonMainApi("dev.icerock.moko:mvvm-livedata:0.13.0") // api mvvm-core, LiveData and extensions - commonMainApi("dev.icerock.moko:mvvm-state:0.13.0") // api mvvm-livedata, ResourceState class and extensions - commonMainApi("dev.icerock.moko:mvvm-livedata-resources:0.13.0") // api mvvm-core, moko-resources, extensions for LiveData with moko-resources + commonMainApi("dev.icerock.moko:mvvm-core:0.13.1") // only ViewModel, EventsDispatcher, Dispatchers.UI + commonMainApi("dev.icerock.moko:mvvm-flow:0.13.1") // api mvvm-core, CFlow for native and binding extensions + commonMainApi("dev.icerock.moko:mvvm-livedata:0.13.1") // api mvvm-core, LiveData and extensions + commonMainApi("dev.icerock.moko:mvvm-state:0.13.1") // api mvvm-livedata, ResourceState class and extensions + commonMainApi("dev.icerock.moko:mvvm-livedata-resources:0.13.1") // api mvvm-core, moko-resources, extensions for LiveData with moko-resources - androidMainApi("dev.icerock.moko:mvvm-flow-compose:0.13.0") // api mvvm-flow, binding extensions for Jetpack Compose (jvm, js, android) - androidMainApi("dev.icerock.moko:mvvm-livedata-compose:0.13.0") // api mvvm-livedata, binding extensions for Jetpack Compose (jvm, js, android) - androidMainApi("dev.icerock.moko:mvvm-livedata-material:0.13.0") // api mvvm-livedata, Material library android extensions - androidMainApi("dev.icerock.moko:mvvm-livedata-glide:0.13.0") // api mvvm-livedata, Glide library android extensions - androidMainApi("dev.icerock.moko:mvvm-livedata-swiperefresh:0.13.0") // api mvvm-livedata, SwipeRefreshLayout library android extensions - androidMainApi("dev.icerock.moko:mvvm-databinding:0.13.0") // api mvvm-livedata, DataBinding support for Android - androidMainApi("dev.icerock.moko:mvvm-viewbinding:0.13.0") // api mvvm-livedata, ViewBinding support for Android + androidMainApi("dev.icerock.moko:mvvm-flow-compose:0.13.1") // api mvvm-flow, binding extensions for Jetpack Compose (jvm, js, android) + androidMainApi("dev.icerock.moko:mvvm-livedata-compose:0.13.1") // api mvvm-livedata, binding extensions for Jetpack Compose (jvm, js, android) + androidMainApi("dev.icerock.moko:mvvm-livedata-material:0.13.1") // api mvvm-livedata, Material library android extensions + androidMainApi("dev.icerock.moko:mvvm-livedata-glide:0.13.1") // api mvvm-livedata, Glide library android extensions + androidMainApi("dev.icerock.moko:mvvm-livedata-swiperefresh:0.13.1") // api mvvm-livedata, SwipeRefreshLayout library android extensions + androidMainApi("dev.icerock.moko:mvvm-databinding:0.13.1") // api mvvm-livedata, DataBinding support for Android + androidMainApi("dev.icerock.moko:mvvm-viewbinding:0.13.1") // api mvvm-livedata, ViewBinding support for Android - commonTestImplementation("dev.icerock.moko:mvvm-test:0.13.0") // test utilities + commonTestImplementation("dev.icerock.moko:mvvm-test:0.13.1") // test utilities } ``` @@ -74,10 +74,10 @@ kotlin { // export correct artifact to use all classes of library directly from Swift targets.withType(org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget::class.java).all { binaries.withType(org.jetbrains.kotlin.gradle.plugin.mpp.Framework::class.java).all { - export("dev.icerock.moko:mvvm-core:0.13.0") - export("dev.icerock.moko:mvvm-livedata:0.13.0") - export("dev.icerock.moko:mvvm-livedata-resources:0.13.0") - export("dev.icerock.moko:mvvm-state:0.13.0") + export("dev.icerock.moko:mvvm-core:0.13.1") + export("dev.icerock.moko:mvvm-livedata:0.13.1") + export("dev.icerock.moko:mvvm-livedata-resources:0.13.1") + export("dev.icerock.moko:mvvm-state:0.13.1") } } } @@ -93,7 +93,7 @@ generation enabled. All `LiveData` to `UIView` bindings is extensions for UI ele To use MOKO MVVM with SwiftUI set name of your kotlin framework to `MultiPlatformLibrary` and add dependency to CocoaPods: ```ruby -pod 'mokoMvvmFlowSwiftUI', :podspec => 'https://raw.githubusercontent.com/icerockdev/moko-mvvm/release/0.13.0/mokoMvvmFlowSwiftUI.podspec' +pod 'mokoMvvmFlowSwiftUI', :podspec => 'https://raw.githubusercontent.com/icerockdev/moko-mvvm/release/0.13.1/mokoMvvmFlowSwiftUI.podspec' ``` required export of `mvvm-core` and `mvvm-flow`. diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 48d1eab7..d6a0efae 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ androidLifecycleVersion = "2.2.0" coroutinesVersion = "1.6.0-native-mt" mokoResourcesVersion = "0.18.0" mokoTestVersion = "0.6.1" -mokoMvvmVersion = "0.13.0" +mokoMvvmVersion = "0.13.1" mokoKSwiftVersion = "0.4.0" composeVersion = "1.1.1" composeJetBrainsVersion = "1.1.1" diff --git a/mvvm-databinding/src/main/kotlin/dev/icerock/moko/mvvm/MvvmEventsFragment.kt b/mvvm-databinding/src/main/kotlin/dev/icerock/moko/mvvm/MvvmEventsFragment.kt index 25144103..93686ee4 100644 --- a/mvvm-databinding/src/main/kotlin/dev/icerock/moko/mvvm/MvvmEventsFragment.kt +++ b/mvvm-databinding/src/main/kotlin/dev/icerock/moko/mvvm/MvvmEventsFragment.kt @@ -5,14 +5,15 @@ package dev.icerock.moko.mvvm import android.os.Bundle +import android.view.View import androidx.databinding.ViewDataBinding import dev.icerock.moko.mvvm.dispatcher.EventsDispatcherOwner import dev.icerock.moko.mvvm.viewmodel.ViewModel abstract class MvvmEventsFragment : MvvmFragment() where VM : ViewModel, VM : EventsDispatcherOwner { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) @Suppress("UNCHECKED_CAST") viewModel.eventsDispatcher.bind(viewLifecycleOwner, this as Listener) diff --git a/mvvm-viewbinding/src/main/kotlin/dev/icerock/moko/mvvm/viewbinding/MvvmEventsFragment.kt b/mvvm-viewbinding/src/main/kotlin/dev/icerock/moko/mvvm/viewbinding/MvvmEventsFragment.kt index 0632d562..80fbc3bd 100644 --- a/mvvm-viewbinding/src/main/kotlin/dev/icerock/moko/mvvm/viewbinding/MvvmEventsFragment.kt +++ b/mvvm-viewbinding/src/main/kotlin/dev/icerock/moko/mvvm/viewbinding/MvvmEventsFragment.kt @@ -5,14 +5,15 @@ package dev.icerock.moko.mvvm.viewbinding import android.os.Bundle +import android.view.View import androidx.viewbinding.ViewBinding import dev.icerock.moko.mvvm.dispatcher.EventsDispatcherOwner import dev.icerock.moko.mvvm.viewmodel.ViewModel abstract class MvvmEventsFragment : MvvmFragment() where VM : ViewModel, VM : EventsDispatcherOwner { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) @Suppress("UNCHECKED_CAST") viewModel.eventsDispatcher.bind(viewLifecycleOwner, this as Listener)