Coder Social home page Coder Social logo

hoc081098 / kmp-viewmodel Goto Github PK

View Code? Open in Web Editor NEW
106.0 3.0 5.0 4.56 MB

๐Ÿ”† Kotlin Multiplatform ViewModel. Kotlin Multiplatform MVVM. Common/Shared ViewModel in Kotlin Multiplatform - A Kotlin Multiplatform library that provides shared MVVM for UI applications. Components are lifecycle-aware on Android. Supports Android Parcelable, Kotlin Parcelize, AndroidX SavedStateHandle for restoring state after process death.

Home Page: https://hoc081098.github.io/kmp-viewmodel/docs/0.x/

License: MIT License

Kotlin 99.23% Shell 0.13% Swift 0.54% HTML 0.10%
kotlin-multiplatform kmm kmm-example kmm-library kmm-mvvm kmm-sample kmp-redux kmp-viewmodel kotlin-multiplaform kotlin-multiplatform-library

kmp-viewmodel's Issues

Fix unit test

com.hoc081098.kmp.viewmodel.ViewModelTest > addCloseablesThatWillBeClosedWhenClear_multiThreads FAILED
    java.lang.IllegalStateException: Already closed!
        at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42)
        at com.hoc081098.kmp.viewmodel.ViewModelTest$addCloseablesThatWillBeClosedWhenClear_multiThreads$1$2$1.invokeSuspend(ViewModelTest.kt:125)

        Caused by:
        java.lang.IllegalStateException: Already closed!
            at com.hoc081098.kmp.viewmodel.utils.TestCloseable.close(TestCloseable.kt:10)
            at androidx.lifecycle.ViewModel.closeWithRuntimeException(ViewModel.java:252)
            at androidx.lifecycle.ViewModel.clear(ViewModel.java:197)
            at androidx.lifecycle.ViewModelStore.clear(ViewModelStore.kt:69)
            at com.hoc081098.kmp.viewmodel.ViewModelStore.clear(ViewModelStore.android.kt:46)
            at com.hoc081098.kmp.viewmodel.ViewModelTestKt$createTestViewModel$2.invoke(ViewModelTest.kt:53)
            at com.hoc081098.kmp.viewmodel.ViewModelTestKt$createTestViewModel$2.invoke(ViewModelTest.kt:53)
            at com.hoc081098.kmp.viewmodel.utils.RunBlockInNewThread_androidKt$runBlockInNewThread$2$2.run(runBlockInNewThread.android.kt:13)
            at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
            at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
            at java.base/java.lang.Thread.run(Thread.java:840)

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json5
Error type: Invalid JSON5 (parsing failed)
Message: JSON5.parse error: JSON5: invalid character '{' at 40:5

Placeholder

Screen.Recording.2023-09-25.at.10.49.05.PM.mov
Screen.Recording.2023-09-25.at.10.41.59.PM.mov
Simulator.Screen.Recording.-.iPhone.11.Pro.-.2023-09-25.at.23.34.25.mp4

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Repository problems

These problems occurred while renovating this repository. View logs.

  • WARN: Use matchDepPatterns instead of matchPackagePatterns
  • WARN: Error updating branch: update failure

Errored

These updates encountered an error and will be retried. Click on a checkbox below to force a retry now.

  • Update dependency androidx.lifecycle:lifecycle-runtime-compose to v2
  • Update dependency androidx.lifecycle:lifecycle-viewmodel-compose to v2

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Detected dependencies

cocoapods
sample/iosApp/Podfile
  • Kingfisher ~> 7.0
  • Kingfisher ~> 7.0
  • RxSwift ~> 6.7.0
  • RxCocoa ~> 6.7.0
  • RxRelay ~> 6.7.0
  • NSObject+Rx ~> 5.2.2
  • RxDataSources ~> 5.0
  • MBProgressHUD ~> 1.2.0
github-actions
.github/workflows/build.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • codecov/codecov-action v4.5.0
  • actions/upload-artifact v4
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • actions/setup-python v5
  • JamesIves/github-pages-deploy-action v4.6.1
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • actions/cache v4
  • reactivecircus/android-emulator-runner v2.31.0
  • reactivecircus/android-emulator-runner v2.31.0
.github/workflows/deploy-release-docs.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • actions/setup-python v5
  • JamesIves/github-pages-deploy-action v4.6.1
.github/workflows/gradle-wrapper-validation.yml
  • actions/checkout v4
  • gradle/actions v3
.github/workflows/publish-release.yml
  • actions/checkout v4
  • ffurrer2/extract-release-notes v2
  • softprops/action-gh-release v2
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • actions/setup-python v5
  • JamesIves/github-pages-deploy-action v4.6.1
.github/workflows/sample.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • actions/checkout v4
  • actions/setup-java v4
  • maxim-lobanov/setup-xcode v1
  • gradle/actions v3
  • actions/cache v4
  • sersoft-gmbh/xcodebuild-action v3
  • sersoft-gmbh/xcodebuild-action v3
.github/workflows/standalone-sample.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • actions/checkout v4
  • actions/setup-java v4
  • maxim-lobanov/setup-xcode v1
  • gradle/actions v3
  • actions/cache v4
  • sersoft-gmbh/xcodebuild-action v3
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
  • actions/cache v4
  • actions/checkout v4
  • actions/setup-java v4
  • maxim-lobanov/setup-xcode v1
  • gradle/actions v3
  • actions/cache v4
  • sersoft-gmbh/xcodebuild-action v3
standalone-sample/kmpviewmodel_compose_koject_sample/.github/workflows/gradle.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3.4.2@dbbdc275be76ac10734476cc723d82dfe7ec6eda
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3.4.2@dbbdc275be76ac10734476cc723d82dfe7ec6eda
gradle
gradle.properties
settings.gradle.kts
  • org.gradle.toolchains.foojay-resolver-convention 0.8.0
build.gradle.kts
gradle/libs.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.8.1
  • junit:junit 4.13.2
  • org.jetbrains.kotlinx:kotlinx-serialization-json 1.7.0
  • org.jetbrains.kotlinx:kotlinx-collections-immutable 0.3.7
  • org.robolectric:robolectric 4.12.2
  • co.touchlab:stately-concurrency 2.0.7
  • io.github.aakira:napier 2.7.1
  • io.github.hoc081098:FlowExt 1.0.0-RC
  • io.insert-koin:koin-core 3.5.6
  • io.insert-koin:koin-android 3.5.6
  • io.insert-koin:koin-androidx-compose 3.5.6
  • io.insert-koin:koin-compose 1.1.5
  • com.moriatsushi.koject:koject-core 1.3.0
  • com.moriatsushi.koject:koject-processor-lib 1.3.0
  • io.coil-kt:coil-compose 2.6.0
  • io.nlopez.compose.rules:detekt 0.4.4
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.8.2
  • androidx.lifecycle:lifecycle-viewmodel-savedstate 2.8.2
  • androidx.lifecycle:lifecycle-runtime-compose androidx-lifecycle
  • androidx.lifecycle:lifecycle-viewmodel-compose androidx-lifecycle
  • androidx.lifecycle:lifecycle-livedata-ktx 2.8.2
  • androidx.annotation:annotation 1.8.0
  • androidx.activity:activity-compose 1.9.0
  • androidx.compose:compose-bom 2024.06.00
  • androidx.navigation:navigation-compose 2.7.7
  • org.jetbrains.kotlin.multiplatform 2.0.0
  • org.jetbrains.kotlin.android 2.0.0
  • org.jetbrains.kotlin.native.cocoapods 2.0.0
  • org.jetbrains.kotlin.plugin.compose 2.0.0
  • org.jetbrains.kotlin.plugin.serialization 2.0.0
  • org.jetbrains.kotlin.plugin.parcelize 2.0.0
  • org.jetbrains.compose 1.6.11
  • com.android.application 8.5.0
  • com.android.library 8.5.0
  • com.diffplug.gradle.spotless 6.25.0
  • io.gitlab.arturbosch.detekt 1.23.6
  • org.jetbrains.kotlinx.kover 0.8.1
  • org.jetbrains.dokka 1.9.20
  • org.jetbrains.kotlinx.binary-compatibility-validator 0.14.0
  • com.google.devtools.ksp 2.0.0-1.0.22
  • dev.drewhamilton.poko 0.16.0
  • com.vanniktech.maven.publish 0.28.0
sample/app/build.gradle.kts
sample/shared/build.gradle.kts
standalone-sample/kmpviewmodel_compose_koin_sample/gradle.properties
standalone-sample/kmpviewmodel_compose_koin_sample/settings.gradle.kts
  • org.gradle.toolchains.foojay-resolver-convention 0.8.0
standalone-sample/kmpviewmodel_compose_koin_sample/build.gradle.kts
standalone-sample/kmpviewmodel_compose_koin_sample/android/build.gradle.kts
standalone-sample/kmpviewmodel_compose_koin_sample/common/build.gradle.kts
  • junit:junit 4.13.2
standalone-sample/kmpviewmodel_compose_koin_sample/desktop/build.gradle.kts
standalone-sample/kmpviewmodel_compose_koin_sample/gradle/libs.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-swing 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.8.1
  • org.jetbrains.kotlinx:kotlinx-serialization-json 1.7.0
  • org.jetbrains.kotlinx:kotlinx-collections-immutable 0.3.7
  • org.jetbrains.compose.runtime:runtime 1.6.11
  • co.touchlab:stately-concurrency 2.0.7
  • io.github.aakira:napier 2.7.1
  • io.github.hoc081098:FlowExt 0.8.1
  • io.insert-koin:koin-core 3.5.6
  • io.insert-koin:koin-android 3.5.6
  • io.insert-koin:koin-androidx-compose 3.5.6
  • io.insert-koin:koin-compose 1.1.5
  • io.coil-kt:coil-compose 2.6.0
  • io.nlopez.compose.rules:detekt 0.4.4
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.8.2
  • androidx.lifecycle:lifecycle-viewmodel-savedstate 2.8.2
  • androidx.lifecycle:lifecycle-runtime-compose androidx-lifecycle
  • androidx.lifecycle:lifecycle-viewmodel-compose androidx-lifecycle
  • androidx.annotation:annotation 1.8.0
  • androidx.activity:activity-compose 1.9.0
  • androidx.appcompat:appcompat 1.7.0
  • androidx.compose:compose-bom 2024.06.00
  • androidx.core:core-ktx 1.13.1
  • androidx.navigation:navigation-compose 2.7.7
  • com.benasher44:uuid 0.8.4
  • io.github.hoc081098:solivagant-navigation 0.3.0
  • org.jetbrains.kotlin.multiplatform 2.0.0
  • org.jetbrains.kotlin.android 2.0.0
  • org.jetbrains.kotlin.native.cocoapods 2.0.0
  • org.jetbrains.kotlin.plugin.compose 2.0.0
  • org.jetbrains.kotlin.plugin.serialization 2.0.0
  • org.jetbrains.kotlin.plugin.parcelize 2.0.0
  • org.jetbrains.compose 1.6.11
  • com.android.application 8.5.0
  • com.android.library 8.5.0
  • com.diffplug.gradle.spotless 6.25.0
  • io.gitlab.arturbosch.detekt 1.23.6
  • org.jetbrains.kotlinx.kover 0.8.1
  • org.jetbrains.dokka 1.9.20
  • org.jetbrains.kotlinx.binary-compatibility-validator 0.14.0
  • com.vanniktech.maven.publish 0.28.0
standalone-sample/kmpviewmodel_compose_koject_sample/gradle.properties
standalone-sample/kmpviewmodel_compose_koject_sample/settings.gradle.kts
standalone-sample/kmpviewmodel_compose_koject_sample/build.gradle.kts
standalone-sample/kmpviewmodel_compose_koject_sample/composeApp/build.gradle.kts
standalone-sample/kmpviewmodel_compose_koject_sample/gradle/libs.versions.toml
  • com.moriatsushi.koject:koject-android-core 1.3.0
  • com.moriatsushi.koject:koject-core 1.3.0
  • com.moriatsushi.koject:koject-compose-core 1.3.0
  • com.moriatsushi.koject:koject-processor-app 1.3.0
  • org.jetbrains.kotlin:kotlin-test 2.0.0
  • org.jetbrains.kotlin:kotlin-test-junit 2.0.0
  • junit:junit 4.13.2
  • androidx.core:core-ktx 1.13.1
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.appcompat:appcompat 1.7.0
  • com.google.android.material:material 1.12.0
  • androidx.constraintlayout:constraintlayout 2.1.4
  • androidx.activity:activity-compose 1.9.0
  • androidx.compose.ui:ui-tooling 1.6.8
  • androidx.compose.ui:ui-tooling-preview 1.6.8
  • io.github.hoc081098:FlowExt 0.8.1
  • org.jetbrains.kotlinx:kotlinx-collections-immutable 0.3.7
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-swing 1.8.1
  • io.github.hoc081098:solivagant-navigation 0.3.0
  • com.android.application 8.5.0
  • com.android.library 8.5.0
  • org.jetbrains.compose 1.6.11
  • org.jetbrains.kotlin.multiplatform 2.0.0
  • org.jetbrains.kotlin.plugin.parcelize 2.0.0
  • org.jetbrains.kotlin.plugin.compose 2.0.0
  • com.google.devtools.ksp 2.0.0-1.0.22
viewmodel/gradle.properties
viewmodel/build.gradle.kts
viewmodel-compose/gradle.properties
viewmodel-compose/build.gradle.kts
  • androidx.test.ext:junit 1.1.5
viewmodel-koin/gradle.properties
viewmodel-koin/build.gradle.kts
viewmodel-koin-compose/gradle.properties
viewmodel-koin-compose/build.gradle.kts
viewmodel-koject/gradle.properties
viewmodel-koject/build.gradle.kts
viewmodel-koject-compose/gradle.properties
viewmodel-koject-compose/build.gradle.kts
viewmodel-savedstate/gradle.properties
viewmodel-savedstate/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7
standalone-sample/kmpviewmodel_compose_koin_sample/gradle/wrapper/gradle-wrapper.properties
  • gradle 8.8
standalone-sample/kmpviewmodel_compose_koject_sample/gradle/wrapper/gradle-wrapper.properties
  • gradle 8.8
pip_requirements
docs/requirements.txt
  • mkdocs ==1.6.0
  • mkdocs-material ==9.5.27
  • pymdown-extensions ==10.8.1
  • mdx_truly_sane_lists ==1.3

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.