diff options
author | Ta-wei Yen <twyen@google.com> | 2016-03-07 15:29:13 -0800 |
---|---|---|
committer | Ta-wei Yen <twyen@google.com> | 2016-03-07 15:29:13 -0800 |
commit | bcb15f99dff4e01343bb7470135f5392a65a01f4 (patch) | |
tree | 9b082d6cc0cd3e6f60e1270331d5a65fc4f03982 /src/com/android/dialer/calllog/MissedCallNotifier.java | |
parent | 40026e882fa3e5bdc897606e4cb96ed6ac1bfbb9 (diff) |
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
Diffstat (limited to 'src/com/android/dialer/calllog/MissedCallNotifier.java')
-rw-r--r-- | src/com/android/dialer/calllog/MissedCallNotifier.java | 14 |
1 files changed, 10 insertions, 4 deletions
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: <caller name || handle> // More than 1 missed call: <number of calls> + "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(); |