From 0f703e64e3e111048acb7abf5792d589ce1e3eb7 Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Tue, 21 Feb 2017 15:19:27 -0800 Subject: Add a flag to enable/disable the cache quota calc. Bug: 34770259 Test: ServicesTests Change-Id: I74155203c4802b1a3b89117859002bf40b1ca435 --- .../java/com/android/server/usage/StorageStatsService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'services/usage/java') diff --git a/services/usage/java/com/android/server/usage/StorageStatsService.java b/services/usage/java/com/android/server/usage/StorageStatsService.java index a44860e4441d..632c045e2111 100644 --- a/services/usage/java/com/android/server/usage/StorageStatsService.java +++ b/services/usage/java/com/android/server/usage/StorageStatsService.java @@ -21,6 +21,7 @@ import android.app.usage.ExternalStorageStats; import android.app.usage.IStorageStatsManager; import android.app.usage.StorageStats; import android.app.usage.UsageStatsManagerInternal; +import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; @@ -39,9 +40,11 @@ import android.os.UserManager; import android.os.storage.StorageEventListener; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; +import android.provider.Settings; import android.text.format.DateUtils; import android.util.Slog; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; import com.android.server.IoThread; @@ -328,6 +331,11 @@ public class StorageStatsService extends IStorageStatsManager.Stub { if (DEBUG) { Slog.v(TAG, ">>> handling " + msg.what); } + + if (!isCacheQuotaCalculationsEnabled(mContext.getContentResolver())) { + return; + } + switch (msg.what) { case MSG_CHECK_STORAGE_DELTA: { long bytesDelta = Math.abs(mPreviousBytes - mStats.getFreeBytes()); @@ -359,4 +367,10 @@ public class StorageStatsService extends IStorageStatsManager.Stub { strategy.recalculateQuotas(); } } + + @VisibleForTesting + static boolean isCacheQuotaCalculationsEnabled(ContentResolver resolver) { + return Settings.Global.getInt( + resolver, Settings.Global.ENABLE_CACHE_QUOTA_CALCULATION, 1) != 0; + } } -- cgit v1.2.3-59-g8ed1b