Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java

Issue 2273033002: Add Notification images (Android without custom layouts) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@herodesktop
Patch Set: Fix EXTRA_PICTURE test Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java
index e631071264bb40a8fe085c074a233775823e710b..fec668ac99dca204ddca52b976a67af99de4e52a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.notifications;
import android.app.Notification;
import android.content.Context;
+import android.os.Build;
/**
* Builds a notification using the standard Notification.BigTextStyle layout.
@@ -23,9 +24,23 @@ public class StandardNotificationBuilder extends NotificationBuilderBase {
// API level of methods you call on the builder.
Notification.Builder builder = new Notification.Builder(mContext);
builder.setContentTitle(mTitle);
- builder.setContentText(mBody).setStyle(new Notification.BigTextStyle().bigText(mBody));
+ builder.setContentText(mBody);
builder.setSubText(mOrigin);
builder.setTicker(mTickerText);
+ if (mImage != null) {
+ Notification.BigPictureStyle style =
+ new Notification.BigPictureStyle().bigPicture(mImage);
+ if (Build.VERSION.CODENAME.equals("N")
+ || Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
+ // Android N doesn't show content text when expanded, so duplicate body text as a
+ // summary for the big picture.
+ style.setSummaryText(mBody);
+ }
+ builder.setStyle(style);
+ } else {
+ // If there is no image, let the body text wrap only multiple lines when expanded.
+ builder.setStyle(new Notification.BigTextStyle().bigText(mBody));
+ }
builder.setLargeIcon(mLargeIcon);
setSmallIconOnBuilder(builder, mSmallIconId, mSmallIconBitmap);
builder.setContentIntent(mContentIntent);

Powered by Google App Engine
This is Rietveld 408576698