Skip to content

Commit 2069db3

Browse files
committed
Bump deps
1 parent 9d13c7b commit 2069db3

File tree

4 files changed

+36
-53
lines changed

4 files changed

+36
-53
lines changed

build-logic/build-logic-base/src/main/kotlin/com/ensody/buildlogic/AndroidExt.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fun Project.setupAndroid(
1515
configure<TestedExtension> {
1616
namespace = getDefaultPackageName()
1717
testNamespace = "$namespace.unittests"
18-
val sdk = 35
18+
val sdk = 36
1919
compileSdkVersion(sdk)
2020
defaultConfig {
2121
minSdk = 21

gradle/libs.versions.toml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
[versions]
2-
kotlin = "2.2.0"
2+
kotlin = "2.2.10"
33
coroutines = "1.10.2"
4-
androidxCore = "1.16.0"
5-
androidxFragment = "1.8.6"
6-
androidxLifecycle = "2.8.7"
7-
androidxTestCore = "1.6.1"
8-
androidxCompose = "2.9.1"
4+
androidxCore = "1.17.0"
5+
androidxFragment = "1.8.9"
6+
androidxLifecycle = "2.9.3"
7+
androidxTestCore = "1.7.0"
8+
androidxCompose = "2.9.3"
99

1010
[libraries]
1111
coroutines-bom = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-bom", version.ref = "coroutines" }
1212
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
1313
coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
1414

15-
compose-bom = { module = "androidx.compose:compose-bom", version = "2025.04.01" }
15+
compose-bom = { module = "androidx.compose:compose-bom", version = "2025.07.00" }
1616

1717
androidx-annotation = { module = "androidx.annotation:annotation", version = "1.9.1" }
18-
androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.0" }
18+
androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.1" }
1919
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
2020
androidx-activity = { module = "androidx.activity:activity-ktx", version = "1.10.1" }
2121
androidx-fragment = { module = "androidx.fragment:fragment-ktx", version.ref = "androidxFragment" }
2222
androidx-fragment-testing = { module = "androidx.fragment:fragment-testing", version.ref = "androidxFragment" }
2323
androidx-arch-testing = { module = "androidx.arch.core:core-testing", version = "2.2.0" }
2424
androidx-test-core = { module = "androidx.test:core-ktx", version.ref = "androidxTestCore" }
25-
androidx-test-junit = { module = "androidx.test.ext:junit-ktx", version = "1.2.1" }
25+
androidx-test-junit = { module = "androidx.test.ext:junit-ktx", version = "1.3.0" }
2626

2727
androidx-lifecycle-common = { module = "androidx.lifecycle:lifecycle-common-java8", version.ref = "androidxLifecycle" }
2828
androidx-lifecycle-livedata = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidxLifecycle" }
@@ -38,12 +38,12 @@ kotlin-test-main = { module = "org.jetbrains.kotlin:kotlin-test" }
3838
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit" }
3939
ktlint-cli = { module = "com.pinterest.ktlint:ktlint-cli", version = "1.7.1" }
4040
mockk = { module = "io.mockk:mockk", version = "1.14.5" }
41-
robolectric = { module = "org.robolectric:robolectric", version = "4.15.1" }
41+
robolectric = { module = "org.robolectric:robolectric", version = "4.16" }
4242

43-
gradle-android = { module = "com.android.tools.build:gradle", version = "8.12.0" }
43+
gradle-android = { module = "com.android.tools.build:gradle", version = "8.12.2" }
4444
gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
4545
gradle-cocoapods = { module = "org.jetbrains.kotlin.native.cocoapods:org.jetbrains.kotlin.native.cocoapods.gradle.plugin", version.ref = "kotlin" }
46-
gradle-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version = "2.0.0" }
46+
gradle-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version = "2.1.0-Beta" }
4747
gradle-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version = "1.23.8" }
4848
gradle-kotlin-compose = { module = "org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin", version.ref = "kotlin" }
4949
gradle-jetbrains-compose = { module = "org.jetbrains.compose:org.jetbrains.compose.gradle.plugin", version = "1.8.2" }

reactivestate-android/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Module reactivestate-android
22

3-
APIs mostly useful for classic Android Fragment/Activity.
3+
APIs mostly useful for legacy Android Fragment/Activity. You should prefer the APIs in reactivestate-core and reactivestate-compose instead.
44

55
## Event handling
66

@@ -256,9 +256,9 @@ These are the building blocks for your own lifecycle-aware components which can
256256
Finally, with `validUntil()` you can define properties that only exist during a certain lifecycle subset and are dereference their value outside of that lifecycle subset.
257257
This can get rid of the ugly [boilerplate](https://developer.android.com/topic/libraries/view-binding#fragments) when working with view bindings, for example.
258258

259-
## Multiplatform ViewModel example
259+
## ViewModel example
260260

261-
This library allows creating multiplatform ViewModels (inherited from `BaseReactiveState`) and also provides a `by reactiveState` helper for attaching it to Android's `Activity` or `Fragment` with proper lifecycle handling.
261+
This library allows creating ViewModels (inherited from `BaseReactiveState` - not to be confused with the new `ReactiveViewModel` API) and also provides a `by reactiveState` helper for attaching it to Android's `Activity` or `Fragment` with proper lifecycle handling.
262262

263263
```kotlin
264264
// This is a multiplatform "ViewModel". It doesn't inherit from Android's ViewModel

reactivestate-android/src/androidMain/kotlin/com/ensody/reactivestate/android/ViewModelExt.kt

Lines changed: 20 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import androidx.activity.viewModels
55
import androidx.fragment.app.Fragment
66
import androidx.fragment.app.activityViewModels
77
import androidx.fragment.app.viewModels
8-
import androidx.lifecycle.AbstractSavedStateViewModelFactory
98
import androidx.lifecycle.SavedStateHandle
109
import androidx.lifecycle.ViewModel
1110
import androidx.lifecycle.ViewModelProvider
11+
import androidx.lifecycle.createSavedStateHandle
12+
import androidx.lifecycle.viewmodel.CreationExtras
1213
import com.ensody.reactivestate.ReactiveState
1314

1415
/**
@@ -68,12 +69,9 @@ public inline fun <reified T : ViewModel> ComponentActivity.stateFlowViewModel(
6869
crossinline provider: (handle: SavedStateHandleStore) -> T,
6970
): Lazy<T> =
7071
viewModels {
71-
object : AbstractSavedStateViewModelFactory(this@stateFlowViewModel, null) {
72-
override fun <T : ViewModel> create(
73-
key: String,
74-
modelClass: Class<T>,
75-
handle: SavedStateHandle,
76-
): T = provider(SavedStateHandleStore(handle)) as T
72+
object : ViewModelProvider.Factory {
73+
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T =
74+
provider(SavedStateHandleStore(extras.createSavedStateHandle())) as T
7775
}
7876
}
7977

@@ -89,12 +87,9 @@ public inline fun <reified T : ViewModel> Fragment.stateFlowViewModel(
8987
crossinline provider: (store: SavedStateHandleStore) -> T,
9088
): Lazy<T> =
9189
viewModels {
92-
object : AbstractSavedStateViewModelFactory(this@stateFlowViewModel, null) {
93-
override fun <T : ViewModel> create(
94-
key: String,
95-
modelClass: Class<T>,
96-
handle: SavedStateHandle,
97-
): T = provider(SavedStateHandleStore(handle)) as T
90+
object : ViewModelProvider.Factory {
91+
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T =
92+
provider(SavedStateHandleStore(extras.createSavedStateHandle())) as T
9893
}
9994
}
10095

@@ -110,12 +105,9 @@ public inline fun <reified T : ViewModel> Fragment.activityStateFlowViewModel(
110105
crossinline provider: (handle: SavedStateHandleStore) -> T,
111106
): Lazy<T> =
112107
activityViewModels {
113-
object : AbstractSavedStateViewModelFactory(requireActivity(), null) {
114-
override fun <T : ViewModel> create(
115-
key: String,
116-
modelClass: Class<T>,
117-
handle: SavedStateHandle,
118-
): T = provider(SavedStateHandleStore(handle)) as T
108+
object : ViewModelProvider.Factory {
109+
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T =
110+
provider(SavedStateHandleStore(extras.createSavedStateHandle())) as T
119111
}
120112
}
121113

@@ -131,12 +123,9 @@ public inline fun <reified T : ViewModel> Fragment.stateViewModel(
131123
crossinline provider: (handle: SavedStateHandle) -> T,
132124
): Lazy<T> =
133125
viewModels {
134-
object : AbstractSavedStateViewModelFactory(this@stateViewModel, null) {
135-
override fun <T : ViewModel> create(
136-
key: String,
137-
modelClass: Class<T>,
138-
handle: SavedStateHandle,
139-
): T = provider(handle) as T
126+
object : ViewModelProvider.Factory {
127+
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T =
128+
provider(extras.createSavedStateHandle()) as T
140129
}
141130
}
142131

@@ -152,12 +141,9 @@ public inline fun <reified T : ViewModel> ComponentActivity.stateViewModel(
152141
crossinline provider: (handle: SavedStateHandle) -> T,
153142
): Lazy<T> =
154143
viewModels {
155-
object : AbstractSavedStateViewModelFactory(this@stateViewModel, null) {
156-
override fun <T : ViewModel> create(
157-
key: String,
158-
modelClass: Class<T>,
159-
handle: SavedStateHandle,
160-
): T = provider(handle) as T
144+
object : ViewModelProvider.Factory {
145+
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T =
146+
provider(extras.createSavedStateHandle()) as T
161147
}
162148
}
163149

@@ -173,11 +159,8 @@ public inline fun <reified T : ViewModel> Fragment.activityStateViewModel(
173159
crossinline provider: (handle: SavedStateHandle) -> T,
174160
): Lazy<T> =
175161
activityViewModels {
176-
object : AbstractSavedStateViewModelFactory(requireActivity(), null) {
177-
override fun <T : ViewModel> create(
178-
key: String,
179-
modelClass: Class<T>,
180-
handle: SavedStateHandle,
181-
): T = provider(handle) as T
162+
object : ViewModelProvider.Factory {
163+
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T =
164+
provider(extras.createSavedStateHandle()) as T
182165
}
183166
}

0 commit comments

Comments
 (0)