Skip to content
This repository was archived by the owner on Feb 9, 2026. It is now read-only.

Commit 98a2d64

Browse files
committed
fix: issues with live data
remove live data transformations
1 parent 1211b99 commit 98a2d64

5 files changed

Lines changed: 8 additions & 14 deletions

File tree

build-logic/convention/src/main/kotlin/dev/funkymuse/kahelpers/ProjectExtensions.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import org.gradle.api.JavaVersion
99
import org.gradle.api.Project
1010
import org.gradle.kotlin.dsl.configure
1111
import org.gradle.kotlin.dsl.withType
12+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
1213
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1314

1415
fun CommonExtension<*, *, *, *, *, *>.configureBuildFeatures() {
@@ -36,6 +37,7 @@ fun Project.configureKotlinOptions() {
3637
tasks
3738
.withType<org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile>().configureEach {
3839
compilerOptions {
40+
jvmTarget.set(JvmTarget.valueOf(versionCatalog.getVersion("app-build-jVMTarget")))
3941
freeCompilerArgs.addAll(
4042
listOf(
4143
"-opt-in=kotlin.RequiresOptIn",

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ app-build-targetSDK = "34"
5959
app-build-minimumSDK = "21"
6060
app-build-testRunner = "androidx.test.runner.AndroidJUnitRunner"
6161
app-build-kotlinJVMTarget = "17"
62+
app-build-jVMTarget = "JVM_17"
6263
app-build-javaVersion = "VERSION_17"
6364
#versioning
6465
app-version-appId = "dev.funkymuse.setofusefulkotlinextensions"

livedata/src/main/java/dev/funkymuse/livedata/EventObserver.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import androidx.lifecycle.Observer
1010
* [onEventUnhandledContent] is *only* called if the [SingleEvent]'s contents has not been handled.
1111
*/
1212
class EventObserver<T>(private val onEventUnhandledContent: (T) -> Unit) : Observer<SingleEvent<T>> {
13-
override fun onChanged(singleEvent: SingleEvent<T>?) {
14-
singleEvent?.getContentIfNotHandled()?.let { value ->
13+
override fun onChanged(singleEvent: SingleEvent<T>) {
14+
singleEvent.getContentIfNotHandled()?.let { value ->
1515
onEventUnhandledContent(value)
1616
}
1717
}

livedata/src/main/java/dev/funkymuse/livedata/LiveDataExtensions.kt

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@ import androidx.lifecycle.LiveData
55
import androidx.lifecycle.MediatorLiveData
66
import androidx.lifecycle.MutableLiveData
77
import androidx.lifecycle.Observer
8-
import androidx.lifecycle.Transformations
98

109

1110
fun <T> LiveData<T>.observeOnce(observer: Observer<T>) {
1211
observeForever(object : Observer<T> {
13-
override fun onChanged(t: T?) {
12+
override fun onChanged(t: T) {
1413
observer.onChanged(t)
1514
removeObserver(this)
1615
}
@@ -316,14 +315,6 @@ fun <T> LiveData<T>.buffer(count: Int): MutableLiveData<List<T?>> {
316315
return mutableLiveData
317316
}
318317

319-
320-
fun <X, Y> LiveData<X>.map(mapFunction: (value: X?) -> Y?) =
321-
Transformations.map(this, mapFunction)
322-
323-
324-
fun <X, Y> LiveData<X>.switchMap(mapFunction: (value: X?) -> LiveData<Y>): LiveData<Y> =
325-
Transformations.switchMap(this, mapFunction)
326-
327318
inline fun <T> LiveData<SingleEvent<T>>.observeEvent(owner: LifecycleOwner, crossinline onEventUnhandledContent: (T) -> Unit) {
328319
observe(owner, Observer { it?.getContentIfNotHandled()?.let(onEventUnhandledContent) })
329320
}

livedata/src/main/java/dev/funkymuse/livedata/SingleLiveEvent.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ class SingleLiveEvent<T> : MutableLiveData<T>() {
3232
}
3333

3434
// Observe the internal MutableLiveData
35-
super.observe(owner, { t ->
35+
super.observe(owner) { t ->
3636
if (mPending.compareAndSet(true, false)) {
3737
observer.onChanged(t)
3838
}
39-
})
39+
}
4040
}
4141

4242
@MainThread

0 commit comments

Comments
 (0)