Loading src/com/android/contacts/model/AccountTypeManager.java +17 −0 Original line number Diff line number Diff line Loading @@ -597,12 +597,29 @@ class AccountTypeManagerImpl extends AccountTypeManager result.add( typeProvider.getTypeForAccount(account).wrapAccount(mContext, account)); } filterDuplicateAccounts(result); AccountInfo.sortAccounts(null, result); return result; } }, MoreExecutors.directExecutor()); } private void filterDuplicateAccounts(List<AccountInfo> accountList) { final List<AccountInfo> uniqueList = new ArrayList<>(); for (AccountInfo resultInfo: accountList) { final boolean isPresent = uniqueList.stream().anyMatch(resultInfo::sameAccount); if (!isPresent) { uniqueList.add(resultInfo); } } accountList.clear(); accountList.addAll(uniqueList); } @Override public ListenableFuture<List<AccountInfo>> filterAccountsAsync( final Predicate<AccountInfo> filter) { Loading Loading
src/com/android/contacts/model/AccountTypeManager.java +17 −0 Original line number Diff line number Diff line Loading @@ -597,12 +597,29 @@ class AccountTypeManagerImpl extends AccountTypeManager result.add( typeProvider.getTypeForAccount(account).wrapAccount(mContext, account)); } filterDuplicateAccounts(result); AccountInfo.sortAccounts(null, result); return result; } }, MoreExecutors.directExecutor()); } private void filterDuplicateAccounts(List<AccountInfo> accountList) { final List<AccountInfo> uniqueList = new ArrayList<>(); for (AccountInfo resultInfo: accountList) { final boolean isPresent = uniqueList.stream().anyMatch(resultInfo::sameAccount); if (!isPresent) { uniqueList.add(resultInfo); } } accountList.clear(); accountList.addAll(uniqueList); } @Override public ListenableFuture<List<AccountInfo>> filterAccountsAsync( final Predicate<AccountInfo> filter) { Loading