From 11099b304070c36e3775ebf8abd8ed9c7a107b53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=CC=87brahim=20Yilmaz?= Date: Sat, 15 Jun 2019 13:06:30 +0200 Subject: [PATCH] nonNullObserver method is added. --- .../arch_data/LiveDataExtensions.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/ibrahimyilmaz/arch_data/LiveDataExtensions.kt b/src/main/java/me/ibrahimyilmaz/arch_data/LiveDataExtensions.kt index e7cc579..85ccb6e 100644 --- a/src/main/java/me/ibrahimyilmaz/arch_data/LiveDataExtensions.kt +++ b/src/main/java/me/ibrahimyilmaz/arch_data/LiveDataExtensions.kt @@ -1,13 +1,19 @@ package me.ibrahimyilmaz.arch_data +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.Observer -inline fun mutableLiveDataOf(): MutableLiveData = MutableLiveData() - -inline fun publishLiveDataOf(): PublishLiveData = PublishLiveData() - -inline fun replayLiveDataOf(): ReplayLiveData = ReplayLiveData() +fun mutableLiveDataOf(): MutableLiveData = MutableLiveData() +fun publishLiveDataOf(): PublishLiveData = PublishLiveData() +fun replayLiveDataOf(): ReplayLiveData = ReplayLiveData() +fun LiveData.nonNullObserve(owner: LifecycleOwner, observer: (t: T) -> Unit) { + this.observe(owner, Observer { + it?.let(observer) + }) +}