From 5acff9a98ab0b0042bf1f55eac191fedbc72606f Mon Sep 17 00:00:00 2001 From: Chiao Cheng Date: Wed, 9 Oct 2013 16:49:59 -0700 Subject: Pull login protected images for profiles. Some GAL photos are login protected. The server supports oauth via http header. Change the reverse lookup api to lookup images by account if the image is identified to be login protected. Bug: 11106770 Change-Id: I92b506d325835a74f846829b0c03eed330938952 --- InCallUI/src/com/android/incallui/ContactInfoCache.java | 15 +++++---------- .../com/android/incallui/service/PhoneNumberService.java | 13 +++---------- 2 files changed, 8 insertions(+), 20 deletions(-) (limited to 'InCallUI') diff --git a/InCallUI/src/com/android/incallui/ContactInfoCache.java b/InCallUI/src/com/android/incallui/ContactInfoCache.java index 4b482cb4c..45a38c7cf 100644 --- a/InCallUI/src/com/android/incallui/ContactInfoCache.java +++ b/InCallUI/src/com/android/incallui/ContactInfoCache.java @@ -172,8 +172,8 @@ public class ContactInfoCache implements ContactsAsyncHelper.OnImageLoadComplete if (!callerInfo.contactExists && cacheEntry.name == null && mPhoneNumberService != null) { Log.d(TAG, "Contact lookup. Local contacts miss, checking remote"); - mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, - new PhoneNumberServiceListener(callId)); + final PhoneNumberServiceListener listener = new PhoneNumberServiceListener(callId); + mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, listener, listener); } else if (cacheEntry.personUri != null) { Log.d(TAG, "Contact lookup. Local contact found, starting image load"); // Load the image with a callback to update the image state. @@ -244,14 +244,9 @@ public class ContactInfoCache implements ContactsAsyncHelper.OnImageLoadComplete mInfoMap.put(mCallId, entry); sendInfoNotifications(mCallId, entry); - // If there's an associated image, fetch that - if (info.getImageUrl() != null) { - Log.d(TAG, "Contact lookup. Remote contact found, loading image."); - mPhoneNumberService.fetchImage(info.getNormalizedNumber(), - info.getImageUrl(), this); - } else { - // Otherwise, we're done, so clear callbacks - Log.d(TAG, "Contact lookup. Remote contact found, no image."); + // If there is no image then we should not expect another callback. + if (info.getImageUrl() == null) { + // We're done, so clear callbacks clearCallbacks(mCallId); } } diff --git a/InCallUI/src/com/android/incallui/service/PhoneNumberService.java b/InCallUI/src/com/android/incallui/service/PhoneNumberService.java index 24303cdfd..d5f809c3a 100644 --- a/InCallUI/src/com/android/incallui/service/PhoneNumberService.java +++ b/InCallUI/src/com/android/incallui/service/PhoneNumberService.java @@ -28,17 +28,10 @@ public interface PhoneNumberService { * * @param phoneNumber The phone number to lookup. * @param listener The listener to notify when the phone number lookup is complete. + * @param imageListener The listener to notify when the image lookup is complete. */ - public void getPhoneNumberInfo(String phoneNumber, NumberLookupListener listener); - - /** - * Get an image asynchronously. - * - * @param number The phone number for the image. - * @param url The url to fetch the image from. - * @param listener The listener to notify when the image lookup is complete. - */ - public void fetchImage(String number, String url, ImageLookupListener listener); + public void getPhoneNumberInfo(String phoneNumber, NumberLookupListener listener, + ImageLookupListener imageListener); public interface NumberLookupListener { -- cgit v1.2.3