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

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

Issue 1750083004: Add badge to web notifications. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test. Created 4 years, 9 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/CustomNotificationBuilder.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java
index b2c608d74d402858bf4392e87197db8a2def9dde..3c17745178f4f4808019d2c5eba6ccb738a54370 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java
@@ -107,23 +107,22 @@ public Notification build() {
view.setViewPadding(R.id.title, 0, scaledPadding, 0, 0);
view.setViewPadding(R.id.body_container, 0, scaledPadding, 0, scaledPadding);
addWorkProfileBadge(view);
+
+ int smallIconId = useMaterial() ? R.id.small_icon_overlay : R.id.small_icon_footer;
+ view.setViewVisibility(smallIconId, View.VISIBLE);
+ if (mSmallIconBitmap != null) {
+ view.setImageViewBitmap(smallIconId, mSmallIconBitmap);
+ } else {
+ view.setImageViewResource(smallIconId, mSmallIconId);
+ }
}
addActionButtons(bigView);
configureSettingsButton(bigView);
- if (useMaterial()) {
- compactView.setViewVisibility(R.id.small_icon_overlay, View.VISIBLE);
- bigView.setViewVisibility(R.id.small_icon_overlay, View.VISIBLE);
- } else {
- compactView.setViewVisibility(R.id.small_icon_footer, View.VISIBLE);
- bigView.setViewVisibility(R.id.small_icon_footer, View.VISIBLE);
- }
-
// Note: this is not a NotificationCompat builder so be mindful of the
// API level of methods you call on the builder.
Notification.Builder builder = new Notification.Builder(mContext);
builder.setTicker(mTickerText);
- builder.setSmallIcon(mSmallIconId);
builder.setContentIntent(mContentIntent);
builder.setDeleteIntent(mDeleteIntent);
builder.setDefaults(mDefaults);
@@ -138,6 +137,7 @@ public Notification build() {
builder.setContentText(mBody);
builder.setSubText(mOrigin);
builder.setLargeIcon(mLargeIcon);
+ setSmallIconOnBuilder(builder, mSmallIconId, mSmallIconBitmap);
for (Action action : mActions) {
addActionToBuilder(builder, action);
}
@@ -171,8 +171,6 @@ private void addActionButtons(RemoteViews bigView) {
// If there is an icon then set it and add some padding.
if (action.iconBitmap != null || action.iconId != 0) {
- // TODO(mvanouwerkerk): Scale down the bitmaps - crbug.com/586082.
- // TODO(mvanouwerkerk): Paint bitmaps white for Holo - crbug.com/585840.
if (useMaterial()) {
view.setInt(R.id.button_icon, "setColorFilter", BUTTON_ICON_COLOR_MATERIAL);
}
@@ -297,7 +295,8 @@ private static int pxToDp(float value, DisplayMetrics metrics) {
/**
* Whether to use the Material look and feel or fall back to Holo.
*/
- private static boolean useMaterial() {
+ @VisibleForTesting
+ static boolean useMaterial() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
}
}

Powered by Google App Engine
This is Rietveld 408576698