diff options
Diffstat (limited to 'java/com/android/incallui/ContactInfoCache.java')
-rw-r--r-- | java/com/android/incallui/ContactInfoCache.java | 27 |
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. |