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/DoubleCombinatorObserver.java')
-rw-r--r--reactive-livedata/src/main/java/it/niedermann/android/reactivelivedata/combinator/DoubleCombinatorObserver.java45
1 files changed, 0 insertions, 45 deletions
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));
- }
- });
- }
- }
-}