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

Side by Side Diff: chrome/browser/notifications/notification_platform_bridge_android.cc

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, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/notifications/notification_platform_bridge_android.h" 5 #include "chrome/browser/notifications/notification_platform_bridge_android.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/android/jni_array.h" 10 #include "base/android/jni_array.h"
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 ConvertUTF8ToJavaString(env, notification_id); 197 ConvertUTF8ToJavaString(env, notification_id);
198 ScopedJavaLocalRef<jstring> j_origin = 198 ScopedJavaLocalRef<jstring> j_origin =
199 ConvertUTF8ToJavaString(env, origin_url.spec()); 199 ConvertUTF8ToJavaString(env, origin_url.spec());
200 ScopedJavaLocalRef<jstring> tag = 200 ScopedJavaLocalRef<jstring> tag =
201 ConvertUTF8ToJavaString(env, notification.tag()); 201 ConvertUTF8ToJavaString(env, notification.tag());
202 ScopedJavaLocalRef<jstring> title = 202 ScopedJavaLocalRef<jstring> title =
203 ConvertUTF16ToJavaString(env, notification.title()); 203 ConvertUTF16ToJavaString(env, notification.title());
204 ScopedJavaLocalRef<jstring> body = 204 ScopedJavaLocalRef<jstring> body =
205 ConvertUTF16ToJavaString(env, notification.message()); 205 ConvertUTF16ToJavaString(env, notification.message());
206 206
207 ScopedJavaLocalRef<jobject> image;
208 SkBitmap image_bitmap = notification.image().AsBitmap();
209 if (!image_bitmap.drawsNothing())
210 image = gfx::ConvertToJavaBitmap(&image_bitmap);
211
207 ScopedJavaLocalRef<jobject> notification_icon; 212 ScopedJavaLocalRef<jobject> notification_icon;
208 SkBitmap notification_icon_bitmap = notification.icon().AsBitmap(); 213 SkBitmap notification_icon_bitmap = notification.icon().AsBitmap();
209 if (!notification_icon_bitmap.drawsNothing()) 214 if (!notification_icon_bitmap.drawsNothing())
210 notification_icon = gfx::ConvertToJavaBitmap(&notification_icon_bitmap); 215 notification_icon = gfx::ConvertToJavaBitmap(&notification_icon_bitmap);
211 216
212 ScopedJavaLocalRef<jobject> badge; 217 ScopedJavaLocalRef<jobject> badge;
213 SkBitmap badge_bitmap = notification.small_image().AsBitmap(); 218 SkBitmap badge_bitmap = notification.small_image().AsBitmap();
214 if (!badge_bitmap.drawsNothing()) 219 if (!badge_bitmap.drawsNothing())
215 badge = gfx::ConvertToJavaBitmap(&badge_bitmap); 220 badge = gfx::ConvertToJavaBitmap(&badge_bitmap);
216 221
217 std::vector<base::string16> action_titles_vector; 222 std::vector<base::string16> action_titles_vector;
218 for (const message_center::ButtonInfo& button : notification.buttons()) 223 for (const message_center::ButtonInfo& button : notification.buttons())
219 action_titles_vector.push_back(button.title); 224 action_titles_vector.push_back(button.title);
220 ScopedJavaLocalRef<jobjectArray> action_titles = 225 ScopedJavaLocalRef<jobjectArray> action_titles =
221 base::android::ToJavaArrayOfStrings(env, action_titles_vector); 226 base::android::ToJavaArrayOfStrings(env, action_titles_vector);
222 227
223 ScopedJavaLocalRef<jobjectArray> action_icons = 228 ScopedJavaLocalRef<jobjectArray> action_icons =
224 ConvertToJavaBitmaps(notification.buttons()); 229 ConvertToJavaBitmaps(notification.buttons());
225 230
226 ScopedJavaLocalRef<jintArray> vibration_pattern = 231 ScopedJavaLocalRef<jintArray> vibration_pattern =
227 base::android::ToJavaIntArray(env, notification.vibration_pattern()); 232 base::android::ToJavaIntArray(env, notification.vibration_pattern());
228 233
229 ScopedJavaLocalRef<jstring> j_profile_id = 234 ScopedJavaLocalRef<jstring> j_profile_id =
230 ConvertUTF8ToJavaString(env, profile_id); 235 ConvertUTF8ToJavaString(env, profile_id);
231 236
232 Java_NotificationPlatformBridge_displayNotification( 237 Java_NotificationPlatformBridge_displayNotification(
233 env, java_object_, j_notification_id, j_origin, j_profile_id, incognito, 238 env, java_object_, j_notification_id, j_origin, j_profile_id, incognito,
234 tag, webapk_package, title, body, notification_icon, badge, 239 tag, webapk_package, title, body, image, notification_icon, badge,
235 vibration_pattern, notification.timestamp().ToJavaTime(), 240 vibration_pattern, notification.timestamp().ToJavaTime(),
236 notification.renotify(), notification.silent(), action_titles, 241 notification.renotify(), notification.silent(), action_titles,
237 action_icons); 242 action_icons);
238 243
239 regenerated_notification_infos_[notification_id] = 244 regenerated_notification_infos_[notification_id] =
240 RegeneratedNotificationInfo(origin_url.spec(), notification.tag(), 245 RegeneratedNotificationInfo(origin_url.spec(), notification.tag(),
241 ConvertJavaStringToUTF8(env, webapk_package)); 246 ConvertJavaStringToUTF8(env, webapk_package));
242 } 247 }
243 248
244 void NotificationPlatformBridgeAndroid::Close( 249 void NotificationPlatformBridgeAndroid::Close(
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 RegeneratedNotificationInfo() {} 304 RegeneratedNotificationInfo() {}
300 305
301 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo:: 306 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo::
302 RegeneratedNotificationInfo(const std::string& origin, 307 RegeneratedNotificationInfo(const std::string& origin,
303 const std::string& tag, 308 const std::string& tag,
304 const std::string& webapk_package) 309 const std::string& webapk_package)
305 : origin(origin), tag(tag), webapk_package(webapk_package) {} 310 : origin(origin), tag(tag), webapk_package(webapk_package) {}
306 311
307 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo:: 312 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo::
308 ~RegeneratedNotificationInfo() {} 313 ~RegeneratedNotificationInfo() {}
OLDNEW
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilderTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698