summaryrefslogtreecommitdiff
path: root/java/com
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2017-08-04 12:35:55 -0700
committerEric Erfanian <erfanian@google.com>2017-08-09 11:47:02 -0700
commitcd49d581edf212045905b04331bc60d980697208 (patch)
tree65b80d80f9fcda3a66441d28321762934ff03a64 /java/com
parentc01b1729a02729125f4fd1dd60f26e1cc56c14d3 (diff)
Update Directory POJO to use AutoValue and removed type attribute.
Bug: 37209462 Test: RemoteDirectoriesCursorLoaderTest PiperOrigin-RevId: 164295668 Change-Id: I5d9c54fa748d19f09b62a33ff12a7de8a71d64d3
Diffstat (limited to 'java/com')
-rw-r--r--java/com/android/dialer/searchfragment/remote/RemoteContactsCursorLoader.java2
-rw-r--r--java/com/android/dialer/searchfragment/remote/RemoteDirectoriesCursorLoader.java70
2 files changed, 16 insertions, 56 deletions
diff --git a/java/com/android/dialer/searchfragment/remote/RemoteContactsCursorLoader.java b/java/com/android/dialer/searchfragment/remote/RemoteContactsCursorLoader.java
index d4b196389..c9cd7655d 100644
--- a/java/com/android/dialer/searchfragment/remote/RemoteContactsCursorLoader.java
+++ b/java/com/android/dialer/searchfragment/remote/RemoteContactsCursorLoader.java
@@ -41,7 +41,7 @@ final class RemoteContactsCursorLoader extends CursorLoader {
RemoteContactsCursorLoader(Context context, String query, Directory directory) {
super(
context,
- getContentFilterUri(query, directory.id),
+ getContentFilterUri(query, directory.getId()),
Projections.PHONE_PROJECTION,
IGNORE_NUMBER_TOO_LONG_CLAUSE,
null,
diff --git a/java/com/android/dialer/searchfragment/remote/RemoteDirectoriesCursorLoader.java b/java/com/android/dialer/searchfragment/remote/RemoteDirectoriesCursorLoader.java
index 0a4ca0ecd..630c73cd4 100644
--- a/java/com/android/dialer/searchfragment/remote/RemoteDirectoriesCursorLoader.java
+++ b/java/com/android/dialer/searchfragment/remote/RemoteDirectoriesCursorLoader.java
@@ -19,7 +19,6 @@ package com.android.dialer.searchfragment.remote;
import android.content.Context;
import android.content.CursorLoader;
-import android.content.pm.PackageManager.NameNotFoundException;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build.VERSION;
@@ -27,8 +26,7 @@ import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
-import android.text.TextUtils;
-import com.android.dialer.common.LogUtil;
+import com.google.auto.value.AutoValue;
/** CursorLoader to load the list of remote directories on the device. */
public final class RemoteDirectoriesCursorLoader extends CursorLoader {
@@ -36,16 +34,12 @@ public final class RemoteDirectoriesCursorLoader extends CursorLoader {
/** Positions of columns in {@code PROJECTIONS}. */
private static final int ID = 0;
- private static final int PACKAGE_NAME = 1;
- private static final int TYPE_RESOURCE_ID = 2;
- private static final int DISPLAY_NAME = 3;
- private static final int PHOTO_SUPPORT = 4;
+ private static final int DISPLAY_NAME = 1;
+ private static final int PHOTO_SUPPORT = 2;
@VisibleForTesting
static final String[] PROJECTION = {
ContactsContract.Directory._ID,
- ContactsContract.Directory.PACKAGE_NAME,
- ContactsContract.Directory.TYPE_RESOURCE_ID,
ContactsContract.Directory.DISPLAY_NAME,
ContactsContract.Directory.PHOTO_SUPPORT,
};
@@ -54,39 +48,10 @@ public final class RemoteDirectoriesCursorLoader extends CursorLoader {
super(context, getContentUri(), PROJECTION, null, null, ContactsContract.Directory._ID);
}
- /**
- * Returns the type of directory as a String (e.g. "Corporate Directory"). Null if the directory
- * type cannot be found.
- */
- @Nullable
- private static String getDirectoryType(Context context, Cursor cursor) {
- String packageName = cursor.getString(PACKAGE_NAME);
- int typeResourceId = cursor.getInt(TYPE_RESOURCE_ID);
- if (TextUtils.isEmpty(packageName) || typeResourceId == 0) {
- return null;
- }
-
- try {
- return context
- .getPackageManager()
- .getResourcesForApplication(packageName)
- .getString(typeResourceId);
- } catch (NameNotFoundException e) {
- LogUtil.e(
- "ContactEntryListAdapter.loadInBackground",
- "cannot obtain directory type from package: %s",
- packageName);
- return null;
- }
- }
-
/** @return current cursor row represented as a {@link Directory}. */
- public static Directory readDirectory(Context context, Cursor cursor) {
- return new Directory(
- cursor.getInt(ID),
- cursor.getString(DISPLAY_NAME),
- getDirectoryType(context, cursor),
- cursor.getInt(PHOTO_SUPPORT) != 0);
+ static Directory readDirectory(Cursor cursor) {
+ return Directory.create(
+ cursor.getInt(ID), cursor.getString(DISPLAY_NAME), cursor.getInt(PHOTO_SUPPORT) != 0);
}
private static Uri getContentUri() {
@@ -96,22 +61,17 @@ public final class RemoteDirectoriesCursorLoader extends CursorLoader {
}
/** POJO representing the results returned from {@link RemoteDirectoriesCursorLoader}. */
- public static class Directory {
+ @AutoValue
+ public abstract static class Directory {
+ static Directory create(int id, @Nullable String displayName, boolean supportsPhotos) {
+ return new AutoValue_RemoteDirectoriesCursorLoader_Directory(id, displayName, supportsPhotos);
+ }
- public final int id;
- // TODO(calderwoodra): investigate which of these fields will be used as the display name and
- // update the fields and javadoc accordingly.
- /** An optional name that can be used in the UI to represent the directory. */
- @Nullable public final String name;
+ abstract int getId();
- @Nullable public final String type;
- public final boolean supportsPhotos;
+ /** Returns a user facing display name of the directory. Null if none exists. */
+ abstract @Nullable String getDisplayName();
- public Directory(int id, String name, @Nullable String type, boolean supportsPhotos) {
- this.id = id;
- this.name = name;
- this.type = type;
- this.supportsPhotos = supportsPhotos;
- }
+ abstract boolean supportsPhotos();
}
}