summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/phonenumbercache/ContactInfoHelper.java')
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfoHelper.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
index 66ddd06fd..dc11c1b21 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
@@ -31,6 +31,7 @@ import android.provider.ContactsContract.Directory;
import android.provider.ContactsContract.DisplayNameSources;
import android.provider.ContactsContract.PhoneLookup;
import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils;
@@ -38,6 +39,7 @@ import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.compat.DirectoryCompat;
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.oem.CequintCallerIdManager;
import com.android.dialer.oem.CequintCallerIdManager.CequintCallerIdContact;
@@ -596,7 +598,9 @@ public class ContactInfoHelper {
* Update ContactInfo by querying to Cequint Caller ID. Only name, geoDescription and photo uri
* will be updated if available.
*/
+ @WorkerThread
public void updateFromCequintCallerId(ContactInfo info, String number) {
+ Assert.isWorkerThread();
if (!CequintCallerIdManager.isCequintCallerIdEnabled(mContext)) {
return;
}
@@ -605,13 +609,14 @@ public class ContactInfoHelper {
if (cequintCallerIdContact == null) {
return;
}
- if (!TextUtils.isEmpty(cequintCallerIdContact.name)) {
+ if (TextUtils.isEmpty(info.name) && !TextUtils.isEmpty(cequintCallerIdContact.name)) {
info.name = cequintCallerIdContact.name;
}
if (!TextUtils.isEmpty(cequintCallerIdContact.geoDescription)) {
info.geoDescription = cequintCallerIdContact.geoDescription;
+ info.sourceType = CachedContactInfo.SOURCE_TYPE_CEQUINT_CALLER_ID;
}
- if (cequintCallerIdContact.imageUrl != null) {
+ if (info.photoUri == null && cequintCallerIdContact.imageUrl != null) {
info.photoUri = UriUtils.parseUriOrNull(cequintCallerIdContact.imageUrl);
}
}