Loading src/com/android/contacts/SimImportFragment.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -477,7 +478,7 @@ public class SimImportFragment extends Fragment simLoadResult.accounts = accounts; return simLoadResult; } }); }, MoreExecutors.directExecutor()); } private LoaderResult loadFromSim() { Loading src/com/android/contacts/model/AccountTypeManager.java +6 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading Loading @@ -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>>, Loading @@ -560,7 +563,7 @@ class AccountTypeManagerImpl extends AccountTypeManager AccountInfo.sortAccounts(null, result); return result; } }); }, MoreExecutors.directExecutor()); } @Override Loading src/com/android/contacts/util/concurrent/FuturesUtil.java +5 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); } } Loading
src/com/android/contacts/SimImportFragment.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -477,7 +478,7 @@ public class SimImportFragment extends Fragment simLoadResult.accounts = accounts; return simLoadResult; } }); }, MoreExecutors.directExecutor()); } private LoaderResult loadFromSim() { Loading
src/com/android/contacts/model/AccountTypeManager.java +6 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading Loading @@ -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>>, Loading @@ -560,7 +563,7 @@ class AccountTypeManagerImpl extends AccountTypeManager AccountInfo.sortAccounts(null, result); return result; } }); }, MoreExecutors.directExecutor()); } @Override Loading
src/com/android/contacts/util/concurrent/FuturesUtil.java +5 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); } }