summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/phonenumbercache
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-05-03 10:27:13 -0700
committerEric Erfanian <erfanian@google.com>2017-05-03 12:01:21 -0700
commit8369df095a73a77b3715f8ae7ba06089cebca4ce (patch)
tree1a45d60921e293c6088efeaf4d9c408456f3e0e2 /java/com/android/dialer/phonenumbercache
parentafa29d4a8659eeffc8d92a6216b154f594eeb895 (diff)
This change reflects the Dialer V10 RC00 branch.
RC00 is based on: branch: dialer-android_release_branch/153304843.1 synced to: 153304843 following the instructions at go/dialer-aosp-release. In this release: * Removes final apache sources. * Uses native lite compilation. More drops will follow with subsequent release candidates until we reach our final v10 release, in cadence with our prebuilt drops. Test: TreeHugger, on device Change-Id: Ic9684057230f9b579c777820c746cd21bf45ec0f
Diffstat (limited to 'java/com/android/dialer/phonenumbercache')
-rw-r--r--java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java28
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfo.java9
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfoHelper.java11
3 files changed, 18 insertions, 30 deletions
diff --git a/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java b/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
index e589a6882..2aed9e75e 100644
--- a/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
+++ b/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
@@ -18,13 +18,11 @@ package com.android.dialer.phonenumbercache;
import android.content.Context;
import android.net.Uri;
-import android.support.annotation.IntDef;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
+import com.android.dialer.logging.ContactSource;
import java.io.InputStream;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
public interface CachedNumberLookupService {
@@ -47,9 +45,9 @@ public interface CachedNumberLookupService {
boolean isCacheUri(String uri);
- boolean isBusiness(int sourceType);
+ boolean isBusiness(ContactSource.Type sourceType);
- boolean canReportAsInvalid(int sourceType, String objectId);
+ boolean canReportAsInvalid(ContactSource.Type sourceType, String objectId);
/** @return return {@link Uri} to the photo or return {@code null} when failing to add photo */
@Nullable
@@ -64,28 +62,10 @@ public interface CachedNumberLookupService {
interface CachedContactInfo {
- int SOURCE_TYPE_DIRECTORY = 1;
- int SOURCE_TYPE_EXTENDED = 2;
- int SOURCE_TYPE_PLACES = 3;
- int SOURCE_TYPE_PROFILE = 4;
- int SOURCE_TYPE_CNAP = 5;
- int SOURCE_TYPE_CEQUINT_CALLER_ID = 6;
-
- @Retention(RetentionPolicy.SOURCE)
- @IntDef({
- SOURCE_TYPE_DIRECTORY,
- SOURCE_TYPE_EXTENDED,
- SOURCE_TYPE_PLACES,
- SOURCE_TYPE_PROFILE,
- SOURCE_TYPE_CNAP,
- SOURCE_TYPE_CEQUINT_CALLER_ID
- })
- public @interface ContactSourceType {}
-
@NonNull
ContactInfo getContactInfo();
- void setSource(@ContactSourceType int sourceType, String name, long directoryId);
+ void setSource(ContactSource.Type sourceType, String name, long directoryId);
void setDirectorySource(String name, long directoryId);
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfo.java b/java/com/android/dialer/phonenumbercache/ContactInfo.java
index dab5e4b4c..9def939ca 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfo.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfo.java
@@ -20,7 +20,7 @@ import android.net.Uri;
import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.util.UriUtils;
-import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo.ContactSourceType;
+import com.android.dialer.logging.ContactSource;
/** Information for a contact as needed by the Call Log. */
public class ContactInfo {
@@ -58,7 +58,12 @@ public class ContactInfo {
public boolean isBadData;
public String objectId;
public @UserType long userType;
- public @ContactSourceType int sourceType = 0;
+ public ContactSource.Type sourceType;
+ /**
+ * True if local contact exists. This is only used for Cequint Caller ID so it won't overwrite
+ * photo if local contact exists.
+ */
+ boolean contactExists;
/** @see android.provider.ContactsContract.CommonDataKinds.Phone#CARRIER_PRESENCE */
public int carrierPresence;
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
index dc11c1b21..a9a5edce5 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
@@ -41,6 +41,7 @@ import com.android.contacts.common.util.Constants;
import com.android.contacts.common.util.UriUtils;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.ContactSource;
import com.android.dialer.oem.CequintCallerIdManager;
import com.android.dialer.oem.CequintCallerIdManager.CequintCallerIdContact;
import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo;
@@ -370,6 +371,7 @@ public class ContactInfoHelper {
info.formattedNumber = null;
info.userType =
ContactsUtils.determineUserType(null, phoneLookupCursor.getLong(PhoneQuery.PERSON_ID));
+ info.contactExists = true;
return info;
}
@@ -577,7 +579,7 @@ public class ContactInfoHelper {
* @param sourceType sourceType of the contact. This is usually populated by {@link
* #mCachedNumberLookupService}.
*/
- public boolean isBusiness(int sourceType) {
+ public boolean isBusiness(ContactSource.Type sourceType) {
return mCachedNumberLookupService != null && mCachedNumberLookupService.isBusiness(sourceType);
}
@@ -589,7 +591,7 @@ public class ContactInfoHelper {
* @param objectId The ID of the Contact object.
* @return true if contacts from this source can be marked with an invalid caller id
*/
- public boolean canReportAsInvalid(int sourceType, String objectId) {
+ public boolean canReportAsInvalid(ContactSource.Type sourceType, String objectId) {
return mCachedNumberLookupService != null
&& mCachedNumberLookupService.canReportAsInvalid(sourceType, objectId);
}
@@ -614,9 +616,10 @@ public class ContactInfoHelper {
}
if (!TextUtils.isEmpty(cequintCallerIdContact.geoDescription)) {
info.geoDescription = cequintCallerIdContact.geoDescription;
- info.sourceType = CachedContactInfo.SOURCE_TYPE_CEQUINT_CALLER_ID;
+ info.sourceType = ContactSource.Type.SOURCE_TYPE_CEQUINT_CALLER_ID;
}
- if (info.photoUri == null && cequintCallerIdContact.imageUrl != null) {
+ // Only update photo if local lookup has no result.
+ if (!info.contactExists && info.photoUri == null && cequintCallerIdContact.imageUrl != null) {
info.photoUri = UriUtils.parseUriOrNull(cequintCallerIdContact.imageUrl);
}
}