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

Unified Diff: components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java

Issue 2911503002: [Android] Adding UMA for events in Background Task Scheduler (Closed)
Patch Set: Addressing CR feedback: Renaming metrics Created 3 years, 7 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: components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
index e690273845cec8b60d884414c42f4836b2c5325b..bf85375d2d20769ff61118d1e017d923b3e949ae 100644
--- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
+++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
@@ -77,6 +77,7 @@ public class BackgroundTaskScheduler {
public boolean schedule(Context context, TaskInfo taskInfo) {
ThreadUtils.assertOnUiThread();
boolean success = mSchedulerDelegate.schedule(context, taskInfo);
+ BackgroundTaskSchedulerUma.getInstance().reportTaskScheduled(taskInfo.getTaskId(), success);
if (success) {
BackgroundTaskSchedulerPrefs.addScheduledTask(taskInfo);
}
@@ -91,6 +92,7 @@ public class BackgroundTaskScheduler {
*/
public void cancel(Context context, int taskId) {
ThreadUtils.assertOnUiThread();
+ BackgroundTaskSchedulerUma.getInstance().reportTaskCanceled(taskId);
BackgroundTaskSchedulerPrefs.removeScheduledTask(taskId);
mSchedulerDelegate.cancel(context, taskId);
}
@@ -105,14 +107,19 @@ public class BackgroundTaskScheduler {
public void checkForOSUpgrade(Context context) {
int oldSdkInt = BackgroundTaskSchedulerPrefs.getLastSdkVersion();
int newSdkInt = Build.VERSION.SDK_INT;
- // No OS upgrade detected.
- if (oldSdkInt == newSdkInt) return;
- // Save the current SDK version to preferences.
- BackgroundTaskSchedulerPrefs.setLastSdkVersion(newSdkInt);
+ if (oldSdkInt != newSdkInt) {
+ // Save the current SDK version to preferences.
+ BackgroundTaskSchedulerPrefs.setLastSdkVersion(newSdkInt);
+ }
+
+ // No OS upgrade detected or OS upgrade does not change delegate.
+ if (oldSdkInt == newSdkInt || !osUpgradeChangesDelegateType(oldSdkInt, newSdkInt)) {
+ BackgroundTaskSchedulerUma.getInstance().flushStats();
+ return;
+ }
- // Check for OS upgrades forcing delegate change or "just in case" rescheduling.
- if (!osUpgradeChangesDelegateType(oldSdkInt, newSdkInt)) return;
+ BackgroundTaskSchedulerUma.getInstance().removeCachedStats();
// Explicitly create and invoke old delegate type to cancel all scheduled tasks.
// All preference entries are kept until reschedule call, which removes then then.

Powered by Google App Engine
This is Rietveld 408576698