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

DoubleCombinatorLiveData.java « combinator « reactivelivedata « android « niedermann « it « java « main « src « reactive-livedata - github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 63c704546243cac7e2fe186ffbbc78a6ec6281a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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));
    }
}