From 8369df095a73a77b3715f8ae7ba06089cebca4ce Mon Sep 17 00:00:00 2001 From: Eric Erfanian Date: Wed, 3 May 2017 10:27:13 -0700 Subject: 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 --- .../CachedNumberLookupService.java | 28 ++++------------------ .../dialer/phonenumbercache/ContactInfo.java | 9 +++++-- .../dialer/phonenumbercache/ContactInfoHelper.java | 11 +++++---- 3 files changed, 18 insertions(+), 30 deletions(-) (limited to 'java/com/android/dialer/phonenumbercache') 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); } } -- cgit v1.2.3