From 539828045cf3397a98c5ed1d240585932330efc2 Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Tue, 23 May 2017 15:54:34 -0700 Subject: [PATCH] Change storage manager default to be a config. This allows OEMs to customize the default behavior of the automatic storage manager. Bug: 38499322 Test: SettingsLib Robotest Change-Id: I7d78865923fa7ff20b796a7075da0f35c7af1807 --- core/res/res/values/config.xml | 3 +++ core/res/res/values/symbols.xml | 2 ++ .../src/com/android/settingslib/Utils.java | 17 ++++++++++++++++ .../com/android/settingslib/UtilsTest.java | 20 +++++++++++++++++++ 4 files changed, 42 insertions(+) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index c7b0b35e27d4c..ddfd5f10cc4ae 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2958,4 +2958,7 @@ + + + 90 diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index aa586b7370067..245ba5cff9c1c 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -3040,4 +3040,6 @@ + + diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java index 3135f1db957de..b21f2fa860b1a 100644 --- a/packages/SettingsLib/src/com/android/settingslib/Utils.java +++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java @@ -21,6 +21,7 @@ import android.net.NetworkBadging; import android.os.BatteryManager; import android.os.UserManager; import android.print.PrintManager; +import android.provider.Settings; import android.view.View; import com.android.internal.util.UserIcons; @@ -313,4 +314,20 @@ public class Utils { "No badge resource found for badge value: " + badge); } } + + public static int getDefaultStorageManagerDaysToRetain(Resources resources) { + int defaultDays = Settings.Secure.AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN_DEFAULT; + try { + defaultDays = + resources.getInteger( + com.android + .internal + .R + .integer + .config_storageManagerDaystoRetainDefault); + } catch (Resources.NotFoundException e) { + // We are likely in a test environment. + } + return defaultDays; + } } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java index e42c35bc8d8be..0164f80e68f82 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java @@ -21,6 +21,12 @@ import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import android.content.res.Resources; + @RunWith(SettingLibRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class UtilsTest { @@ -54,4 +60,18 @@ public class UtilsTest { assertThat(percentage).isEqualTo(expectedPercentages[i]); } } + + @Test + public void testStorageManagerDaysToRetainUsesResources() { + Resources resources = mock(Resources.class); + when(resources.getInteger( + eq( + com.android + .internal + .R + .integer + .config_storageManagerDaystoRetainDefault))) + .thenReturn(60); + assertThat(Utils.getDefaultStorageManagerDaysToRetain(resources)).isEqualTo(60); + } }