diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-01-19 23:10:24 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-01-19 23:10:24 +0000 |
commit | 274b285b60fe2e054bcfb5f22e2f3bfa0340b1ce (patch) | |
tree | a90f1a29600bea4d937435fdd40424c7f0fece12 /java/com/android/dialer/searchfragment/list/NewSearchFragment.java | |
parent | f101f6da201042951341939875be285348ae2425 (diff) | |
parent | a6523ddb1db3d456ba4d16a120dea1ccd6c72d24 (diff) |
Merge "Improve & reorganize logic related to directories/remote contacts in the search fragment."
Diffstat (limited to 'java/com/android/dialer/searchfragment/list/NewSearchFragment.java')
-rw-r--r-- | java/com/android/dialer/searchfragment/list/NewSearchFragment.java | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java index 30949d38f..c62d40e59 100644 --- a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java +++ b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java @@ -63,11 +63,11 @@ import com.android.dialer.precall.PreCall; import com.android.dialer.searchfragment.common.RowClickListener; import com.android.dialer.searchfragment.common.SearchCursor; import com.android.dialer.searchfragment.cp2.SearchContactsCursorLoader; +import com.android.dialer.searchfragment.directories.DirectoriesCursorLoader; +import com.android.dialer.searchfragment.directories.DirectoriesCursorLoader.Directory; import com.android.dialer.searchfragment.list.SearchActionViewHolder.Action; import com.android.dialer.searchfragment.nearbyplaces.NearbyPlacesCursorLoader; import com.android.dialer.searchfragment.remote.RemoteContactsCursorLoader; -import com.android.dialer.searchfragment.remote.RemoteDirectoriesCursorLoader; -import com.android.dialer.searchfragment.remote.RemoteDirectoriesCursorLoader.Directory; import com.android.dialer.storage.StorageComponent; import com.android.dialer.util.CallUtil; import com.android.dialer.util.DialerUtils; @@ -196,13 +196,13 @@ public final class NewSearchFragment extends Fragment // Directories represent contact data sources on the device, but since nearby places aren't // stored on the device, they don't have a directory ID. We pass the list of all existing IDs // so that we can find one that doesn't collide. - List<Integer> directoryIds = new ArrayList<>(); + List<Long> directoryIds = new ArrayList<>(); for (Directory directory : directories) { directoryIds.add(directory.getId()); } return new NearbyPlacesCursorLoader(getContext(), query, directoryIds); } else if (id == REMOTE_DIRECTORIES_LOADER_ID) { - return new RemoteDirectoriesCursorLoader(getContext()); + return new DirectoriesCursorLoader(getContext()); } else if (id == REMOTE_CONTACTS_LOADER_ID) { return new RemoteContactsCursorLoader(getContext(), query, directories); } else { @@ -214,7 +214,7 @@ public final class NewSearchFragment extends Fragment public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { LogUtil.i("NewSearchFragment.onLoadFinished", "Loader finished: " + loader); if (cursor != null - && !(loader instanceof RemoteDirectoriesCursorLoader) + && !(loader instanceof DirectoriesCursorLoader) && !(cursor instanceof SearchCursor)) { throw Assert.createIllegalStateFailException("Cursors must implement SearchCursor"); } @@ -228,12 +228,9 @@ public final class NewSearchFragment extends Fragment } else if (loader instanceof RemoteContactsCursorLoader) { adapter.setRemoteContactsCursor((SearchCursor) cursor); - } else if (loader instanceof RemoteDirectoriesCursorLoader) { + } else if (loader instanceof DirectoriesCursorLoader) { directories.clear(); - cursor.moveToPosition(-1); - while (cursor.moveToNext()) { - directories.add(RemoteDirectoriesCursorLoader.readDirectory(cursor)); - } + directories.addAll(DirectoriesCursorLoader.toDirectories(cursor)); loadNearbyPlacesCursor(); loadRemoteContactsCursors(); |