| Index: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
|
| index 5bc1221c9ca81374c76449e1818badff75a434e6..e22d92d52e6fd0c20c6f4c51c138ee0efa0b5fb6 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
|
| @@ -43,6 +43,7 @@ import org.chromium.webapk.lib.client.WebApkValidator;
|
|
|
| import java.net.URI;
|
| import java.net.URISyntaxException;
|
| +import java.util.concurrent.TimeUnit;
|
|
|
| import javax.annotation.Nullable;
|
|
|
| @@ -175,6 +176,7 @@ public class NotificationPlatformBridge {
|
| return false;
|
| }
|
| }
|
| + recordJobStartDelayUMA(intent);
|
|
|
| String notificationId = intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_ID);
|
|
|
| @@ -214,6 +216,17 @@ public class NotificationPlatformBridge {
|
| return false;
|
| }
|
|
|
| + private static void recordJobStartDelayUMA(Intent intent) {
|
| + if (intent.hasExtra(NotificationConstants.EXTRA_JOB_SCHEDULED_TIME_MS)
|
| + && intent.hasExtra(NotificationConstants.EXTRA_JOB_STARTED_TIME_MS)) {
|
| + long duration = intent.getLongExtra(NotificationConstants.EXTRA_JOB_STARTED_TIME_MS, -1)
|
| + - intent.getLongExtra(NotificationConstants.EXTRA_JOB_SCHEDULED_TIME_MS, -1);
|
| + if (duration < 0) return; // Possible if device rebooted before job started.
|
| + RecordHistogram.recordMediumTimesHistogram(
|
| + "Notifications.Android.JobStartDelay", duration, TimeUnit.MILLISECONDS);
|
| + }
|
| + }
|
| +
|
| @Nullable
|
| static String getNotificationReply(Intent intent) {
|
| if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
|
|
|