diff options
author | Chris Wren <cwren@android.com> | 2014-05-02 18:50:09 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-05-02 18:50:09 +0000 |
commit | 2e657c63dec623700b9e156f4876a516f1005df4 (patch) | |
tree | 55172f7e556d26d08a2e1ee6939690c3e789befa /InCallUI | |
parent | 4f1eb2fe9642199ca8b5b0745f0ef7f9b97eddc7 (diff) | |
parent | 451537557c033c9fd36904d9bd95938546408563 (diff) |
am b8980824: Merge "Add EXTRA_PEOPLE to the dialer notifications."
* commit 'b898082403ca6ae562aa1437230981295dc0877f':
Add EXTRA_PEOPLE to the dialer notifications.
Diffstat (limited to 'InCallUI')
-rw-r--r-- | InCallUI/src/com/android/incallui/CallerInfo.java | 9 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/ContactInfoCache.java | 8 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/StatusBarNotifier.java | 12 |
3 files changed, 29 insertions, 0 deletions
diff --git a/InCallUI/src/com/android/incallui/CallerInfo.java b/InCallUI/src/com/android/incallui/CallerInfo.java index 4f3898a26..069b4210e 100644 --- a/InCallUI/src/com/android/incallui/CallerInfo.java +++ b/InCallUI/src/com/android/incallui/CallerInfo.java @@ -91,6 +91,7 @@ public class CallerInfo { public int photoResource; public long person_id; + public String lookupKey; public boolean needUpdate; public Uri contactRefUri; @@ -205,6 +206,14 @@ public class CallerInfo { if (columnIndex != -1) { info.person_id = cursor.getLong(columnIndex); Log.v(TAG, "==> got info.person_id: " + info.person_id); + + // cache the lookup key for later use with person_id to create lookup URIs + columnIndex = cursor.getColumnIndex(PhoneLookup.LOOKUP_KEY); + if ((columnIndex != -1) && (cursor.getString(columnIndex) != null)) { + info.lookupKey = cursor.getString(columnIndex); + } else { + info.lookupKey = null; + } } else { // No valid columnIndex, so we can't look up person_id. Log.v(TAG, "Couldn't find person_id column for " + contactRef); diff --git a/InCallUI/src/com/android/incallui/ContactInfoCache.java b/InCallUI/src/com/android/incallui/ContactInfoCache.java index 99c468341..7015d2bd3 100644 --- a/InCallUI/src/com/android/incallui/ContactInfoCache.java +++ b/InCallUI/src/com/android/incallui/ContactInfoCache.java @@ -330,6 +330,13 @@ public class ContactInfoCache implements ContactsAsyncHelper.OnImageLoadComplete } else { cce.personUri = personUri; } + + if (info.lookupKey == null) { + Log.v(TAG, "lookup key is null. Don't create a lookup uri."); + cce.lookupUri = null; + } else { + cce.lookupUri = Contacts.getLookupUri(info.person_id, info.lookupKey); + } } cce.photo = photo; @@ -505,6 +512,7 @@ public class ContactInfoCache implements ContactsAsyncHelper.OnImageLoadComplete public Drawable photo; public boolean isSipCall; public Uri personUri; // Used for local photo load + public Uri lookupUri; // Sent to NotificationMananger @Override public String toString() { diff --git a/InCallUI/src/com/android/incallui/StatusBarNotifier.java b/InCallUI/src/com/android/incallui/StatusBarNotifier.java index 7b5ba0750..c28b98de2 100644 --- a/InCallUI/src/com/android/incallui/StatusBarNotifier.java +++ b/InCallUI/src/com/android/incallui/StatusBarNotifier.java @@ -16,6 +16,7 @@ package com.android.incallui; +import android.net.Uri; import com.google.common.base.Preconditions; import android.app.Notification; @@ -306,6 +307,8 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener { addAnswerAction(builder); } + addPersonReference(builder, contactInfo, call); + /* * Fire off the notification */ @@ -368,6 +371,15 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener { return contactInfo.name; } + private void addPersonReference(Notification.Builder builder, ContactCacheEntry contactInfo, + Call call) { + if (contactInfo.lookupUri != null) { + builder.addPerson(contactInfo.lookupUri.toString()); + } else if (!TextUtils.isEmpty(call.getNumber())) { + builder.addPerson(Uri.fromParts("tel", call.getNumber(), null).toString()); + } + } + /** * Gets a large icon from the contact info object to display in the notification. */ |