OSDN Git Service

Log deferred jobs metrics to batterystats
[android-x86/frameworks-base.git] / services / core / java / com / android / server / am / BatteryStatsService.java
index 9d1adb2..dd2358c 100644 (file)
@@ -202,6 +202,12 @@ public final class BatteryStatsService extends IBatteryStats.Stub
         public String[] getMobileIfaces() {
             return mStats.getMobileIfaces().clone();
         }
+
+        @Override
+        public void noteJobsDeferred(int uid, int numDeferred, long sinceLast) {
+            if (DBG) Slog.d(TAG, "Jobs deferred " + uid + ": " + numDeferred + " " + sinceLast);
+            BatteryStatsService.this.noteJobsDeferred(uid, numDeferred, sinceLast);
+        }
     }
 
     private static void awaitUninterruptibly(Future<?> future) {
@@ -456,6 +462,13 @@ public final class BatteryStatsService extends IBatteryStats.Stub
         }
     }
 
+    void noteJobsDeferred(int uid, int numDeferred, long sinceLast) {
+        // No need to enforce calling permission, as it is called from an internal interface
+        synchronized (mStats) {
+            mStats.noteJobsDeferredLocked(uid, numDeferred, sinceLast);
+        }
+    }
+
     public void noteWakupAlarm(String name, int uid, WorkSource workSource, String tag) {
         enforceCallingPermission();
         synchronized (mStats) {