summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChiao Cheng <chiaocheng@google.com>2013-10-09 16:49:59 -0700
committerChiao Cheng <chiaocheng@google.com>2013-10-09 16:49:59 -0700
commit5acff9a98ab0b0042bf1f55eac191fedbc72606f (patch)
treed8e174b1ae539ea467433dac858e45a8a6add8d5
parent0c09e53d0f5cbaaab22628b93708911de979e8a6 (diff)
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
-rw-r--r--InCallUI/src/com/android/incallui/ContactInfoCache.java15
-rw-r--r--InCallUI/src/com/android/incallui/service/PhoneNumberService.java13
2 files changed, 8 insertions, 20 deletions
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 {