summaryrefslogtreecommitdiff
path: root/src/com/android/dialer/calllog/MissedCallNotifier.java
diff options
context:
space:
mode:
authorTa-wei Yen <twyen@google.com>2016-03-07 15:29:13 -0800
committerTa-wei Yen <twyen@google.com>2016-03-07 15:29:13 -0800
commitbcb15f99dff4e01343bb7470135f5392a65a01f4 (patch)
tree9b082d6cc0cd3e6f60e1270331d5a65fc4f03982 /src/com/android/dialer/calllog/MissedCallNotifier.java
parent40026e882fa3e5bdc897606e4cb96ed6ac1bfbb9 (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.java14
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();