blob: fac27030f6c90f3fdf138ac30af2c54132990573 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package it.niedermann.android.reactivelivedata.filter;
import androidx.annotation.NonNull;
import androidx.core.util.Predicate;
import androidx.core.util.Supplier;
import androidx.lifecycle.LiveData;
import it.niedermann.android.reactivelivedata.ReactiveLiveData;
public class FilterLiveData<T> extends ReactiveLiveData<T> {
public FilterLiveData(@NonNull LiveData<T> source, @NonNull Supplier<Boolean> supplier) {
this(source, val -> supplier.get());
}
public FilterLiveData(@NonNull LiveData<T> source, @NonNull Predicate<T> predicate) {
addSource(source, val -> {
if (predicate.test(val)) {
setValue(val);
}
});
}
}
|