diff options
| author | 2017-01-27 00:35:22 +0000 | |
|---|---|---|
| committer | 2017-01-27 00:35:24 +0000 | |
| commit | 56d29925acf566535738aa93f0397a43202eecc8 (patch) | |
| tree | 3a7b08714cdb8e22803bce0a852b28628991d3dc | |
| parent | 6470caa2e21a0be2ad17522369e2eb410f4dad0f (diff) | |
| parent | 88e45dcd1f8827f1eec399b7a0e1b38d44dd7747 (diff) | |
Merge "Add a flag to enable/disable the diskstats logging service." into nyc-mr2-dev
| -rwxr-xr-x | core/java/android/provider/Settings.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/storage/DiskStatsLoggingService.java | 10 |
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); |