summaryrefslogtreecommitdiff
path: root/InCallUI
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2014-05-02 18:50:09 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-05-02 18:50:09 +0000
commit2e657c63dec623700b9e156f4876a516f1005df4 (patch)
tree55172f7e556d26d08a2e1ee6939690c3e789befa /InCallUI
parent4f1eb2fe9642199ca8b5b0745f0ef7f9b97eddc7 (diff)
parent451537557c033c9fd36904d9bd95938546408563 (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.java9
-rw-r--r--InCallUI/src/com/android/incallui/ContactInfoCache.java8
-rw-r--r--InCallUI/src/com/android/incallui/StatusBarNotifier.java12
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.
*/