summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daniel Nishi <dhnishi@google.com> 2017-01-27 00:35:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-01-27 00:35:24 +0000
commit56d29925acf566535738aa93f0397a43202eecc8 (patch)
tree3a7b08714cdb8e22803bce0a852b28628991d3dc
parent6470caa2e21a0be2ad17522369e2eb410f4dad0f (diff)
parent88e45dcd1f8827f1eec399b7a0e1b38d44dd7747 (diff)
Merge "Add a flag to enable/disable the diskstats logging service." into nyc-mr2-dev
-rwxr-xr-xcore/java/android/provider/Settings.java6
-rw-r--r--services/core/java/com/android/server/storage/DiskStatsLoggingService.java10
2 files changed, 15 insertions, 1 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index ee79331a6588..f38a72f1b536 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -9395,6 +9395,12 @@ public final class Settings {
* @hide
*/
public static final String WARNING_TEMPERATURE = "warning_temperature";
+
+ /**
+ * Whether the diskstats logging task is enabled/disabled.
+ * @hide
+ */
+ public static final String ENABLE_DISKSTATS_LOGGING = "enable_diskstats_logging";
}
/**
diff --git a/services/core/java/com/android/server/storage/DiskStatsLoggingService.java b/services/core/java/com/android/server/storage/DiskStatsLoggingService.java
index 0a3abf31ff15..7c43162ec692 100644
--- a/services/core/java/com/android/server/storage/DiskStatsLoggingService.java
+++ b/services/core/java/com/android/server/storage/DiskStatsLoggingService.java
@@ -21,6 +21,7 @@ import android.app.job.JobParameters;
import android.app.job.JobScheduler;
import android.app.job.JobService;
import android.content.ComponentName;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.PackageStats;
import android.os.AsyncTask;
@@ -28,6 +29,7 @@ import android.os.BatteryManager;
import android.os.Environment;
import android.os.Environment.UserEnvironment;
import android.os.UserHandle;
+import android.provider.Settings;
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
@@ -54,7 +56,7 @@ public class DiskStatsLoggingService extends JobService {
public boolean onStartJob(JobParameters params) {
// We need to check the preconditions again because they may not be enforced for
// subsequent runs.
- if (!isCharging(this)) {
+ if (!isCharging(this) || !isDumpsysTaskEnabled(getContentResolver())) {
jobFinished(params, true);
return false;
}
@@ -105,6 +107,12 @@ public class DiskStatsLoggingService extends JobService {
}
@VisibleForTesting
+ static boolean isDumpsysTaskEnabled(ContentResolver resolver) {
+ // The default is to treat the task as enabled.
+ return Settings.Global.getInt(resolver, Settings.Global.ENABLE_DISKSTATS_LOGGING, 1) != 0;
+ }
+
+ @VisibleForTesting
static class LogRunnable implements Runnable {
private static final long TIMEOUT_MILLIS = TimeUnit.MINUTES.toMillis(10);