mirror of https://github.com/M66B/FairEmail.git
Updated AndroidX
This commit is contained in:
parent
21488514ed
commit
2e8f6ebbd0
|
@ -175,22 +175,22 @@ dependencies {
|
|||
|
||||
def core_version = "1.2.0-beta01"
|
||||
def appcompat_version = "1.1.0"
|
||||
def fragment_version = "1.2.0-beta02"
|
||||
def recyclerview_version = "1.1.0-beta05"
|
||||
def coordinatorlayout_version = "1.1.0-beta01"
|
||||
def fragment_version = "1.2.0-rc01"
|
||||
def recyclerview_version = "1.1.0-rc01"
|
||||
def coordinatorlayout_version = "1.1.0-rc01"
|
||||
def constraintlayout_version = "2.0.0-beta2"
|
||||
def material_version = "1.1.0-beta01"
|
||||
def browser_version = "1.2.0-alpha08"
|
||||
def browser_version = "1.2.0-alpha09"
|
||||
def lbm_version = "1.0.0"
|
||||
def swiperefresh_version = "1.0.0"
|
||||
def documentfile_version = "1.0.1"
|
||||
def lifecycle_version = "2.2.0-beta01"
|
||||
def room_version = "2.2.0"
|
||||
def lifecycle_version = "2.2.0-rc01"
|
||||
def room_version = "2.2.1"
|
||||
def paging_version = "2.1.0"
|
||||
def preference_version = "1.1.0"
|
||||
def work_version = "2.2.0"
|
||||
def exif_version = "1.1.0-rc01"
|
||||
def biometric_version = "1.0.0-rc01"
|
||||
def biometric_version = "1.0.0-rc02"
|
||||
def billingclient_version = "2.0.3"
|
||||
def javamail_version = "1.6.5-SNAPSHOT"
|
||||
def jsoup_version = "1.12.1"
|
||||
|
|
|
@ -37,7 +37,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||
* @param <T> The type of the live data
|
||||
* @hide internal
|
||||
*/
|
||||
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
|
||||
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
|
||||
public abstract class ComputableLiveData<T> {
|
||||
@SuppressWarnings("WeakerAccess") /* synthetic access */
|
||||
final Executor mExecutor;
|
||||
|
|
|
@ -65,6 +65,7 @@ public class Transformations {
|
|||
* {@code mapFunction} to each value set.
|
||||
*/
|
||||
@MainThread
|
||||
@NonNull
|
||||
public static <X, Y> LiveData<Y> map(
|
||||
@NonNull LiveData<X> source,
|
||||
@NonNull final Function<X, Y> mapFunction) {
|
||||
|
@ -129,6 +130,7 @@ public class Transformations {
|
|||
* value set
|
||||
*/
|
||||
@MainThread
|
||||
@NonNull
|
||||
public static <X, Y> LiveData<Y> switchMap(
|
||||
@NonNull LiveData<X> source,
|
||||
@NonNull final Function<X, LiveData<Y>> switchMapFunction) {
|
||||
|
@ -158,4 +160,35 @@ public class Transformations {
|
|||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link LiveData} object that does not emit a value until the source LiveData
|
||||
* value has been changed. The value is considered changed if {@code equals()} yields
|
||||
* {@code false}.
|
||||
*
|
||||
* @param source the input {@link LiveData}
|
||||
* @param <X> the generic type parameter of {@code source}
|
||||
* @return a new {@link LiveData} of type {@code X}
|
||||
*/
|
||||
@MainThread
|
||||
@NonNull
|
||||
public static <X> LiveData<X> distinctUntilChanged(@NonNull LiveData<X> source) {
|
||||
final MediatorLiveData<X> outputLiveData = new MediatorLiveData<>();
|
||||
outputLiveData.addSource(source, new Observer<X>() {
|
||||
|
||||
boolean mFirstTime = true;
|
||||
|
||||
@Override
|
||||
public void onChanged(X currentValue) {
|
||||
final X previousValue = outputLiveData.getValue();
|
||||
if (mFirstTime
|
||||
|| (previousValue == null && currentValue != null)
|
||||
|| (previousValue != null && !previousValue.equals(currentValue))) {
|
||||
mFirstTime = false;
|
||||
outputLiveData.setValue(currentValue);
|
||||
}
|
||||
}
|
||||
});
|
||||
return outputLiveData;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue