Index: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUIManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUIManager.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUIManager.java |
index d1dca9570238a54863c673ec6535c267f96ca279..1e13bbabb13a53672161f4f504bc4b2d13ce4a85 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUIManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationUIManager.java |
@@ -125,14 +125,17 @@ public class NotificationUIManager { |
String notificationId = intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_ID); |
if (NotificationConstants.ACTION_CLICK_NOTIFICATION.equals(intent.getAction())) { |
- if (!intent.hasExtra(NotificationConstants.EXTRA_NOTIFICATION_DATA)) { |
- Log.e(TAG, "No notification data has been provided."); |
+ if (!intent.hasExtra(NotificationConstants.EXTRA_NOTIFICATION_DATA) |
+ || !intent.hasExtra(NotificationConstants.EXTRA_NOTIFICATION_PLATFORM_ID)) { |
+ Log.e(TAG, "Not all required notification data has been set in the intent."); |
return false; |
} |
+ int platformId = |
+ intent.getIntExtra(NotificationConstants.EXTRA_NOTIFICATION_PLATFORM_ID, -1); |
byte[] notificationData = |
intent.getByteArrayExtra(NotificationConstants.EXTRA_NOTIFICATION_DATA); |
- return sInstance.onNotificationClicked(notificationId, notificationData); |
+ return sInstance.onNotificationClicked(notificationId, platformId, notificationData); |
} |
if (NotificationConstants.ACTION_CLOSE_NOTIFICATION.equals(intent.getAction())) { |
@@ -148,6 +151,7 @@ public class NotificationUIManager { |
Intent intent = new Intent(action); |
intent.setClass(mAppContext, NotificationService.Receiver.class); |
intent.putExtra(NotificationConstants.EXTRA_NOTIFICATION_ID, notificationId); |
+ intent.putExtra(NotificationConstants.EXTRA_NOTIFICATION_PLATFORM_ID, platformId); |
intent.putExtra(NotificationConstants.EXTRA_NOTIFICATION_DATA, notificationData); |
return PendingIntent.getBroadcast(mAppContext, platformId, intent, |
@@ -231,9 +235,10 @@ public class NotificationUIManager { |
mNotificationManager.cancel(platformId); |
} |
- private boolean onNotificationClicked(String notificationId, byte[] notificationData) { |
+ private boolean onNotificationClicked(String notificationId, int platformId, |
+ byte[] notificationData) { |
return nativeOnNotificationClicked( |
- mNativeNotificationManager, notificationId, notificationData); |
+ mNativeNotificationManager, notificationId, platformId, notificationData); |
} |
private boolean onNotificationClosed(String notificationId) { |
@@ -244,7 +249,7 @@ public class NotificationUIManager { |
private native boolean nativeOnNotificationClicked( |
long nativeNotificationUIManagerAndroid, String notificationId, |
- byte[] notificationData); |
+ int platformId, byte[] notificationData); |
private native boolean nativeOnNotificationClosed( |
long nativeNotificationUIManagerAndroid, String notificationId); |
} |