Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator')
-rw-r--r--reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorLiveData.java20
-rw-r--r--reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorObserver.java45
-rw-r--r--reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorLiveData.java28
-rw-r--r--reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorObserver.java62
4 files changed, 0 insertions, 155 deletions
diff --git a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorLiveData.java b/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorLiveData.java
deleted file mode 100644
index 63c704546..000000000
--- a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorLiveData.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package it.niedermann.android.reactivelivedata.combinator;
-
-import androidx.annotation.NonNull;
-import androidx.arch.core.util.Function;
-import androidx.core.util.Pair;
-import androidx.core.util.Supplier;
-import androidx.lifecycle.LiveData;
-
-import it.niedermann.android.reactivelivedata.ReactiveLiveData;
-
-public class DoubleCombinatorLiveData<T, Y> extends ReactiveLiveData<Pair<T, Y>> {
-
- public DoubleCombinatorLiveData(@NonNull LiveData<T> source, @NonNull Supplier<LiveData<Y>> secondSourceSupplier) {
- this(source, val -> secondSourceSupplier.get());
- }
-
- public DoubleCombinatorLiveData(@NonNull LiveData<T> source, @NonNull Function<T, LiveData<Y>> secondSourceFunction) {
- addSource(source, new DoubleCombinatorObserver<>(this, secondSourceFunction));
- }
-}
diff --git a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorObserver.java b/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorObserver.java
deleted file mode 100644
index 18c2affbb..000000000
--- a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorObserver.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package it.niedermann.android.reactivelivedata.combinator;
-
-import androidx.annotation.NonNull;
-import androidx.arch.core.util.Function;
-import androidx.core.util.Pair;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MediatorLiveData;
-import androidx.lifecycle.Observer;
-
-class DoubleCombinatorObserver<T, Y> implements Observer<T> {
- private final MediatorLiveData<Pair<T, Y>> mediator;
- private final Function<T, LiveData<Y>> secondSourceFunction;
- private T value1;
- private Y value2;
-
- private LiveData<Y> secondSource;
-
- private boolean value1emitted = false;
- private boolean value2emitted = false;
-
- public DoubleCombinatorObserver(@NonNull MediatorLiveData<Pair<T, Y>> mediator, @NonNull Function<T, LiveData<Y>> secondSourceFunction) {
- this.mediator = mediator;
- this.secondSourceFunction = secondSourceFunction;
- }
-
- @Override
- public void onChanged(T emittedValue1) {
- value1 = emittedValue1;
- value1emitted = true;
- if (value2emitted) {
- mediator.setValue(new Pair<>(value1, value2));
- }
-
- if (secondSource == null) {
- secondSource = secondSourceFunction.apply(emittedValue1);
- mediator.addSource(secondSource, val2 -> {
- value2 = val2;
- value2emitted = true;
- if (value1emitted) {
- mediator.setValue(new Pair<>(value1, value2));
- }
- });
- }
- }
-}
diff --git a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorLiveData.java b/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorLiveData.java
deleted file mode 100644
index de0353c42..000000000
--- a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorLiveData.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package it.niedermann.android.reactivelivedata.combinator;
-
-import androidx.annotation.NonNull;
-import androidx.arch.core.util.Function;
-import androidx.core.util.Supplier;
-import androidx.lifecycle.LiveData;
-
-import it.niedermann.android.reactivelivedata.ReactiveLiveData;
-import kotlin.Triple;
-
-public class TripleCombinatorLiveData<T, Y, Z> extends ReactiveLiveData<Triple<T, Y, Z>> {
-
- public TripleCombinatorLiveData(@NonNull LiveData<T> source, @NonNull Supplier<LiveData<Y>> secondSourceSupplier, @NonNull Supplier<LiveData<Z>> thirdSourceSupplier) {
- this(source, val -> secondSourceSupplier.get(), val -> thirdSourceSupplier.get());
- }
-
- public TripleCombinatorLiveData(@NonNull LiveData<T> source, @NonNull Function<T, LiveData<Y>> secondSourceFunction, @NonNull Supplier<LiveData<Z>> thirdSourceSupplier) {
- this(source, secondSourceFunction, val -> thirdSourceSupplier.get());
- }
-
- public TripleCombinatorLiveData(@NonNull LiveData<T> source, @NonNull Supplier<LiveData<Y>> secondSourceSupplier, @NonNull Function<T, LiveData<Z>> thirdSourceFunction) {
- this(source, val -> secondSourceSupplier.get(), thirdSourceFunction);
- }
-
- public TripleCombinatorLiveData(@NonNull LiveData<T> source, @NonNull Function<T, LiveData<Y>> secondSourceFunction, @NonNull Function<T, LiveData<Z>> thirdSourceFunction) {
- addSource(source, new TripleCombinatorObserver<>(this, secondSourceFunction, thirdSourceFunction));
- }
-}
diff --git a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorObserver.java b/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorObserver.java
deleted file mode 100644
index f146fa9cc..000000000
--- a/reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/TripleCombinatorObserver.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package it.niedermann.android.reactivelivedata.combinator;
-
-import androidx.annotation.NonNull;
-import androidx.arch.core.util.Function;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MediatorLiveData;
-import androidx.lifecycle.Observer;
-
-import kotlin.Triple;
-
-class TripleCombinatorObserver<T, Y, Z> implements Observer<T> {
- private final MediatorLiveData<Triple<T, Y, Z>> mediator;
- private final Function<T, LiveData<Y>> secondSourceFunction;
- private final Function<T, LiveData<Z>> thirdSourceFunction;
- private T value1;
- private Y value2;
- private Z value3;
-
- private LiveData<Y> secondSource;
- private LiveData<Z> thirdSource;
-
- private boolean value1emitted = false;
- private boolean value2emitted = false;
- private boolean value3emitted = false;
-
- public TripleCombinatorObserver(@NonNull MediatorLiveData<Triple<T, Y, Z>> mediator, @NonNull Function<T, LiveData<Y>> secondSourceFunction, @NonNull Function<T, LiveData<Z>> thirdSourceFunction) {
- this.mediator = mediator;
- this.secondSourceFunction = secondSourceFunction;
- this.thirdSourceFunction = thirdSourceFunction;
- }
-
- @Override
- public void onChanged(T emittedValue1) {
- value1 = emittedValue1;
- value1emitted = true;
- if (value2emitted && value3emitted) {
- mediator.setValue(new Triple<>(value1, value2, value3));
- }
-
- if (secondSource == null) {
- secondSource = secondSourceFunction.apply(emittedValue1);
- mediator.addSource(secondSource, val2 -> {
- value2 = val2;
- value2emitted = true;
- if (value1emitted && value3emitted) {
- mediator.setValue(new Triple<>(value1, value2, value3));
- }
- });
- }
-
- if (thirdSource == null) {
- thirdSource = thirdSourceFunction.apply(emittedValue1);
- mediator.addSource(thirdSource, val3 -> {
- value3 = val3;
- value3emitted = true;
- if (value1emitted && value2emitted) {
- mediator.setValue(new Triple<>(value1, value2, value3));
- }
- });
- }
- }
-}