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

Unified Diff: chrome/browser/notifications/notification_ui_manager_android.cc

Issue 1620203004: Notification action icons prototype. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make it work on Android and clean up. Created 4 years, 11 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/browser/notifications/notification_ui_manager_android.cc
diff --git a/chrome/browser/notifications/notification_ui_manager_android.cc b/chrome/browser/notifications/notification_ui_manager_android.cc
index f2aefc966768f4a0eae16d669239a0c46ed83cea..f36f5303466b347996bacdb04ad7e97404dd1b46 100644
--- a/chrome/browser/notifications/notification_ui_manager_android.cc
+++ b/chrome/browser/notifications/notification_ui_manager_android.cc
@@ -131,11 +131,10 @@ void NotificationUIManagerAndroid::Add(const Notification& notification,
ScopedJavaLocalRef<jstring> body = ConvertUTF16ToJavaString(
env, notification.message());
- ScopedJavaLocalRef<jobject> icon;
-
- SkBitmap icon_bitmap = notification.icon().AsBitmap();
- if (!icon_bitmap.isNull())
- icon = gfx::ConvertToJavaBitmap(&icon_bitmap);
+ ScopedJavaLocalRef<jobject> notification_icon;
+ SkBitmap notification_icon_bitmap = notification.icon().AsBitmap();
+ if (!notification_icon_bitmap.isNull())
+ notification_icon = gfx::ConvertToJavaBitmap(&notification_icon_bitmap);
std::vector<base::string16> action_titles_vector;
for (const message_center::ButtonInfo& button : notification.buttons())
@@ -143,6 +142,12 @@ void NotificationUIManagerAndroid::Add(const Notification& notification,
ScopedJavaLocalRef<jobjectArray> action_titles =
base::android::ToJavaArrayOfStrings(env, action_titles_vector);
+ std::vector<SkBitmap> action_icons_vector;
+ for (const message_center::ButtonInfo& button : notification.buttons())
+ action_icons_vector.push_back(button.icon.AsBitmap());
+ ScopedJavaLocalRef<jobjectArray> action_icons =
+ gfx::ConvertToJavaBitmaps(action_icons_vector);
+
ScopedJavaLocalRef<jintArray> vibration_pattern =
base::android::ToJavaIntArray(env, notification.vibration_pattern());
@@ -152,8 +157,8 @@ void NotificationUIManagerAndroid::Add(const Notification& notification,
Java_NotificationUIManager_displayNotification(
env, java_object_.obj(), persistent_notification_id, origin.obj(),
profile_id.obj(), profile->IsOffTheRecord(), tag.obj(), title.obj(),
- body.obj(), icon.obj(), vibration_pattern.obj(), notification.silent(),
- action_titles.obj());
+ body.obj(), notification_icon.obj(), vibration_pattern.obj(),
+ notification.silent(), action_titles.obj(), action_icons.obj());
regenerated_notification_infos_[persistent_notification_id] =
std::make_pair(origin_url.spec(), notification.tag());

Powered by Google App Engine
This is Rietveld 408576698