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

FlatMapLiveData.java « flatmap « 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: 13593cb79a19a40892b4c3475441f684dbc072e3 (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.flatmap;

import androidx.annotation.NonNull;
import androidx.core.util.Supplier;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Transformations;

import it.niedermann.android.reactivelivedata.ReactiveLiveData;
import kotlin.jvm.functions.Function1;

public class FlatMapLiveData<T, Y> extends ReactiveLiveData<Y> {

    public FlatMapLiveData(@NonNull LiveData<T> source, @NonNull Supplier<LiveData<Y>> switchMapSupplier) {
        this(source, val -> switchMapSupplier.get());
    }

    public FlatMapLiveData(@NonNull LiveData<T> source, @NonNull Function1<T, LiveData<Y>> flatMapFunction) {
        super(Transformations.switchMap(source, flatMapFunction));
    }
}