Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b239b66a authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge "Update Contacts for guava 27.1"

parents 5a1b1a1b 20f2da31
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import com.android.contacts.util.concurrent.ListenableFutureLoader;
import com.google.common.base.Function;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;

import java.util.ArrayList;
import java.util.Arrays;
@@ -477,7 +478,7 @@ public class SimImportFragment extends Fragment
                    simLoadResult.accounts = accounts;
                    return simLoadResult;
                }
            });
            }, MoreExecutors.directExecutor());
        }

        private LoaderResult loadFromSim() {
+6 −3
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;

import java.util.ArrayList;
import java.util.Collections;
@@ -503,7 +504,8 @@ class AccountTypeManagerImpl extends AccountTypeManager
    private synchronized void reloadAccountTypes() {
        loadAccountTypes();
        Futures.addCallback(
                Futures.transform(mAccountTypesFuture, mAccountsExtractor),
                Futures.transform(mAccountTypesFuture, mAccountsExtractor,
                        MoreExecutors.directExecutor()),
                newAccountsUpdatedCallback(mAccountManagerAccounts),
                mMainThreadExecutor);
    }
@@ -534,7 +536,8 @@ class AccountTypeManagerImpl extends AccountTypeManager
        final ListenableFuture<List<List<AccountWithDataSet>>> all =
                Futures.nonCancellationPropagating(
                        Futures.successfulAsList(
                                Futures.transform(mAccountTypesFuture, mAccountsExtractor),
                                Futures.transform(mAccountTypesFuture, mAccountsExtractor,
                                        MoreExecutors.directExecutor()),
                                mLocalAccountsFuture));

        return Futures.transform(all, new Function<List<List<AccountWithDataSet>>,
@@ -560,7 +563,7 @@ class AccountTypeManagerImpl extends AccountTypeManager
                AccountInfo.sortAccounts(null, result);
                return result;
            }
        });
        }, MoreExecutors.directExecutor());
    }

    @Override
+5 −4
Original line number Diff line number Diff line
@@ -3,9 +3,10 @@ package com.android.contacts.util.concurrent;

import android.os.Handler;

import com.google.common.util.concurrent.FutureFallback;
import com.google.common.util.concurrent.AsyncFunction;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;

import java.util.concurrent.CancellationException;
import java.util.concurrent.ScheduledExecutorService;
@@ -46,14 +47,14 @@ public class FuturesUtil {
            }
        }, time, unit);

        return Futures.withFallback(future, new FutureFallback<V>() {
        return Futures.catchingAsync(future, Throwable.class, new AsyncFunction<Throwable, V>() {
            @Override
            public ListenableFuture<V> create(Throwable t) throws Exception {
            public ListenableFuture<V> apply(Throwable t) throws Exception {
                if ((t instanceof CancellationException) && didTimeout.get()) {
                    return Futures.immediateFailedFuture(new TimeoutException("Timeout expired"));
                }
                return Futures.immediateFailedFuture(t);
            }
        });
        }, MoreExecutors.directExecutor());
    }
}