From bcb15f99dff4e01343bb7470135f5392a65a01f4 Mon Sep 17 00:00:00 2001 From: Ta-wei Yen Date: Mon, 7 Mar 2016 15:29:13 -0800 Subject: Add contact photo for missed call notifications + ContactPhotoLoader to create the appropriate icon from a ContactInfo - NameLookupQuery in CallLogNotificationsHelper#getContactInfo To show a photo the name is not enough. Full query need to be made to retrieve the photoUri. + class Assert in util + Gradle directory setup for dialer tests (Note: this is just for project setup in Android Studio, tests are still not runnable in gradle) Bug:27276108 Change-Id: I0ed2147f2bb60454fe5a5ad6c25fe99727441880 --- src/com/android/dialer/calllog/MissedCallNotifier.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/com/android/dialer/calllog/MissedCallNotifier.java') diff --git a/src/com/android/dialer/calllog/MissedCallNotifier.java b/src/com/android/dialer/calllog/MissedCallNotifier.java index a9dfd442f..c422dd58d 100644 --- a/src/com/android/dialer/calllog/MissedCallNotifier.java +++ b/src/com/android/dialer/calllog/MissedCallNotifier.java @@ -21,6 +21,7 @@ import android.app.PendingIntent; import android.content.ContentValues; import android.content.Context; import android.content.Intent; +import android.graphics.Bitmap; import android.os.AsyncTask; import android.provider.CallLog.Calls; import android.text.TextUtils; @@ -28,13 +29,14 @@ import android.util.Log; import com.android.contacts.common.ContactsUtils; import com.android.contacts.common.util.PhoneNumberHelper; -import com.android.dialer.calllog.CallLogNotificationsHelper.NewCall; import com.android.dialer.DialtactsActivity; +import com.android.dialer.R; +import com.android.dialer.calllog.CallLogNotificationsHelper.NewCall; +import com.android.dialer.contactinfo.ContactPhotoLoader; import com.android.dialer.list.ListsFragment; import com.android.dialer.util.DialerUtils; import com.android.dialer.util.IntentUtil; import com.android.dialer.util.IntentUtil.CallIntentBuilder; -import com.android.dialer.R; import java.util.List; @@ -94,6 +96,7 @@ public class MissedCallNotifier { NewCall newestCall = useCallLog ? newCalls.get(0) : null; long timeMs = useCallLog ? newestCall.dateMs : System.currentTimeMillis(); + Notification.Builder builder = new Notification.Builder(mContext); // Display the first line of the notification: // 1 missed call: // More than 1 missed call: + "missed calls" @@ -110,6 +113,11 @@ public class MissedCallNotifier { : R.string.notification_missedCallTitle; expandedText = contactInfo.name; + ContactPhotoLoader loader = new ContactPhotoLoader(mContext, contactInfo); + Bitmap photoIcon = loader.loadPhotoIcon(); + if (photoIcon != null) { + builder.setLargeIcon(photoIcon); + } } else { titleResId = R.string.notification_missedCallsTitle; expandedText = @@ -132,7 +140,6 @@ public class MissedCallNotifier { .setDeleteIntent(createClearMissedCallsPendingIntent()); // Create the notification suitable for display when sensitive information is showing. - Notification.Builder builder = new Notification.Builder(mContext); builder.setSmallIcon(android.R.drawable.stat_notify_missed_call) .setColor(mContext.getResources().getColor(R.color.dialer_theme_color)) .setContentTitle(mContext.getText(titleResId)) @@ -161,7 +168,6 @@ public class MissedCallNotifier { createSendSmsFromNotificationPendingIntent(number)); } } - //TODO: add photo } Notification notification = builder.build(); -- cgit v1.2.3