| 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 73ed7e637435e7c005253a2d181002876d69c249..7b1a31692f6eab14f2b6adac13775d82b40d026f 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
|
| @@ -63,6 +63,11 @@ public class NotificationUIManager {
|
| // uniqueness of pending intents when necessary.
|
| private static final int PENDING_INTENT_REQUEST_CODE = 0;
|
|
|
| + // When a notification is clicked, passing this value for {@code actionIndex} indicates that the
|
| + // main body of the notification was clicked, rather than an action button. Must be kept in sync
|
| + // with {@code content::kNotificationClickWasNotAnAction}.
|
| + private static final int CLICK_WAS_NOT_AN_ACTION = -1;
|
| +
|
| private static NotificationUIManager sInstance;
|
| private static NotificationManagerProxy sNotificationManagerOverride;
|
|
|
| @@ -172,7 +177,8 @@ public class NotificationUIManager {
|
|
|
| if (NotificationConstants.ACTION_CLICK_NOTIFICATION.equals(intent.getAction())) {
|
| int actionIndex = intent.getIntExtra(
|
| - NotificationConstants.EXTRA_NOTIFICATION_INFO_ACTION_INDEX, -1);
|
| + NotificationConstants.EXTRA_NOTIFICATION_INFO_ACTION_INDEX,
|
| + CLICK_WAS_NOT_AN_ACTION);
|
| return sInstance.onNotificationClicked(persistentNotificationId, origin, tag,
|
| actionIndex);
|
| } else if (NotificationConstants.ACTION_CLOSE_NOTIFICATION.equals(intent.getAction())) {
|
| @@ -240,7 +246,8 @@ public class NotificationUIManager {
|
| *
|
| * @param persistentNotificationId The persistent id of the notification.
|
| * @param origin The origin to whom the notification belongs.
|
| - * @param actionIndex The zero-based index of the action button, or -1 if not applicable.
|
| + * @param actionIndex The zero-based index of the action button, or
|
| + * {@link CLICK_WAS_NOT_AN_ACTION} if not applicable.
|
| */
|
| private Uri makeIntentData(long persistentNotificationId, String origin, int actionIndex) {
|
| return Uri.parse(origin).buildUpon().fragment(
|
| @@ -255,7 +262,8 @@ public class NotificationUIManager {
|
| * @param persistentNotificationId The persistent id of the notification.
|
| * @param origin The origin to whom the notification belongs.
|
| * @param tag The tag of the notification. May be NULL.
|
| - * @param actionIndex The zero-based index of the action button, or -1 if not applicable.
|
| + * @param actionIndex The zero-based index of the action button, or
|
| + * {@link CLICK_WAS_NOT_AN_ACTION} if not applicable.
|
| */
|
| private PendingIntent makePendingIntent(String action, long persistentNotificationId,
|
| String origin, @Nullable String tag, int actionIndex) {
|
| @@ -412,7 +420,7 @@ public class NotificationUIManager {
|
| Intent settingsIntent = PreferencesLauncher.createIntentForSettingsPage(
|
| mAppContext, SingleWebsitePreferences.class.getName());
|
| settingsIntent.setData(makeIntentData(persistentNotificationId, origin,
|
| - -1 /* actionIndex */));
|
| + CLICK_WAS_NOT_AN_ACTION));
|
| settingsIntent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS,
|
| SingleWebsitePreferences.createFragmentArgsForSite(origin));
|
|
|
| @@ -426,10 +434,10 @@ public class NotificationUIManager {
|
| .setSmallIcon(R.drawable.ic_chrome)
|
| .setContentIntent(makePendingIntent(
|
| NotificationConstants.ACTION_CLICK_NOTIFICATION,
|
| - persistentNotificationId, origin, tag, -1 /* actionIndex */))
|
| + persistentNotificationId, origin, tag, CLICK_WAS_NOT_AN_ACTION))
|
| .setDeleteIntent(makePendingIntent(
|
| NotificationConstants.ACTION_CLOSE_NOTIFICATION,
|
| - persistentNotificationId, origin, tag, -1 /* actionIndex */))
|
| + persistentNotificationId, origin, tag, CLICK_WAS_NOT_AN_ACTION))
|
| .setTicker(createTickerText(title, body))
|
| .setOrigin(origin);
|
|
|
|
|