summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/ContactInfoCache.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/ContactInfoCache.java')
-rw-r--r--java/com/android/incallui/ContactInfoCache.java27
1 files changed, 14 insertions, 13 deletions
diff --git a/java/com/android/incallui/ContactInfoCache.java b/java/com/android/incallui/ContactInfoCache.java
index e45eb9746..d7eea79bd 100644
--- a/java/com/android/incallui/ContactInfoCache.java
+++ b/java/com/android/incallui/ContactInfoCache.java
@@ -406,7 +406,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
} else {
ContactCacheEntry initialCacheEntry =
updateCallerInfoInCacheOnAnyThread(
- callId, call.getNumberPresentation(), callerInfo, isIncoming, false, queryToken);
+ callId, call.getNumberPresentation(), callerInfo, false, queryToken);
sendInfoNotifications(callId, initialCacheEntry);
}
}
@@ -416,7 +416,6 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
String callId,
int numberPresentation,
CallerInfo callerInfo,
- boolean isIncoming,
boolean didLocalLookup,
CallerInfoQueryToken queryToken) {
Log.d(
@@ -443,16 +442,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
Log.d(TAG, "Existing cacheEntry in hashMap " + existingCacheEntry);
if (didLocalLookup) {
- // Before issuing a request for more data from other services, we only check that the
- // contact wasn't found in the local DB. We don't check the if the cache entry already
- // has a name because we allow overriding cnap data with data from other services.
- if (!callerInfo.contactExists && mPhoneNumberService != null) {
- Log.d(TAG, "Contact lookup. Local contacts miss, checking remote");
- final PhoneNumberServiceListener listener =
- new PhoneNumberServiceListener(callId, queryToken.mQueryId);
- cacheEntry.hasPendingQuery = true;
- mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, listener, listener, isIncoming);
- } else if (cacheEntry.displayPhotoUri != null) {
+ if (cacheEntry.displayPhotoUri != null) {
// When the difference between 2 numbers is only the prefix (e.g. + or IDD),
// we will still trigger force query so that the number can be updated on
// the calling screen. We need not query the image again if the previous
@@ -789,7 +779,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
maybeUpdateFromCequintCallerId(ci, cw.cnapName, mIsIncoming);
long time = SystemClock.uptimeMillis() - start;
Log.d(TAG, "Cequint Caller Id look up takes " + time + " ms.");
- updateCallerInfoInCacheOnAnyThread(cw.callId, cw.numberPresentation, ci, mIsIncoming, true, mQueryToken);
+ updateCallerInfoInCacheOnAnyThread(cw.callId, cw.numberPresentation, ci, true, mQueryToken);
}
@Override
@@ -807,6 +797,16 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
clearCallbacks(callId);
return;
}
+ // Before issuing a request for more data from other services, we only check that the
+ // contact wasn't found in the local DB. We don't check the if the cache entry already
+ // has a name because we allow overriding cnap data with data from other services.
+ if (!callerInfo.contactExists && mPhoneNumberService != null) {
+ Log.d(TAG, "Contact lookup. Local contacts miss, checking remote");
+ final PhoneNumberServiceListener listener =
+ new PhoneNumberServiceListener(callId, mQueryToken.mQueryId);
+ cacheEntry.hasPendingQuery = true;
+ mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, listener, listener, mIsIncoming);
+ }
sendInfoNotifications(callId, cacheEntry);
if (!cacheEntry.hasPendingQuery) {
if (callerInfo.contactExists) {
@@ -870,6 +870,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
entry.shouldShowLocation = oldEntry.shouldShowLocation;
// Contact specific ringtone is obtained from local lookup.
entry.contactRingtoneUri = oldEntry.contactRingtoneUri;
+ entry.originalPhoneNumber = oldEntry.originalPhoneNumber;
}
// If no image and it's a business, switch to using the default business avatar.