diff options
author | Torsten Grote <t@grobox.de> | 2020-07-30 16:40:23 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-07-30 16:40:23 -0300 |
commit | 8815105bf2462787885214a12af927d484226f21 (patch) | |
tree | 597076d6970e336b881d68ca6b48577b007c9730 /taler-kotlin-common/src/main/java/net/taler/common/CombinedLiveData.kt | |
parent | e19ba096d57353db6b1f141da4bf170ef2d2d534 (diff) | |
download | taler-android-8815105bf2462787885214a12af927d484226f21.tar.gz taler-android-8815105bf2462787885214a12af927d484226f21.tar.bz2 taler-android-8815105bf2462787885214a12af927d484226f21.zip |
Split out common code into multiplatform Kotlin library
Diffstat (limited to 'taler-kotlin-common/src/main/java/net/taler/common/CombinedLiveData.kt')
-rw-r--r-- | taler-kotlin-common/src/main/java/net/taler/common/CombinedLiveData.kt | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/taler-kotlin-common/src/main/java/net/taler/common/CombinedLiveData.kt b/taler-kotlin-common/src/main/java/net/taler/common/CombinedLiveData.kt deleted file mode 100644 index 4e7016b..0000000 --- a/taler-kotlin-common/src/main/java/net/taler/common/CombinedLiveData.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This file is part of GNU Taler - * (C) 2020 Taler Systems S.A. - * - * GNU Taler is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3, or (at your option) any later version. - * - * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -package net.taler.common - -import androidx.lifecycle.LiveData -import androidx.lifecycle.MediatorLiveData -import androidx.lifecycle.Observer - -class CombinedLiveData<T, K, S>( - source1: LiveData<T>, - source2: LiveData<K>, - private val combine: (data1: T?, data2: K?) -> S -) : MediatorLiveData<S>() { - - private var data1: T? = null - private var data2: K? = null - - init { - super.addSource(source1) { t -> - data1 = t - value = combine(data1, data2) - } - super.addSource(source2) { k -> - data2 = k - value = combine(data1, data2) - } - } - - override fun <S : Any?> addSource(source: LiveData<S>, onChanged: Observer<in S>) { - throw UnsupportedOperationException() - } - - override fun <T : Any?> removeSource(toRemote: LiveData<T>) { - throw UnsupportedOperationException() - } - -} |