Hide automatic storage manager preference.

This preference should not be displayed to lower RAM device. Files
Go app will would provide this feature for low RAM devices.
Bug: 63333197
Test: visual

Change-Id: I48464884cf20acc632748e66f8183c276996828c
This commit is contained in:
Rajeev Kumar
2017-07-17 16:06:17 -07:00
parent 4ff09a2eec
commit 2156b26b2e
2 changed files with 16 additions and 8 deletions

View File

@@ -16,13 +16,13 @@
package com.android.settings.deviceinfo.storage; package com.android.settings.deviceinfo.storage;
import android.app.ActivityManager;
import android.app.FragmentManager; import android.app.FragmentManager;
import android.content.Context; import android.content.Context;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.provider.Settings; import android.provider.Settings;
import android.support.annotation.VisibleForTesting; import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.core.instrumentation.MetricsFeatureProvider;
@@ -61,7 +61,7 @@ public class AutomaticStorageManagementSwitchPreferenceController extends
@Override @Override
public boolean isAvailable() { public boolean isAvailable() {
return true; return !ActivityManager.isLowRamDeviceStatic();
} }
@Override @Override
@@ -71,6 +71,9 @@ public class AutomaticStorageManagementSwitchPreferenceController extends
@Override @Override
public void onResume() { public void onResume() {
if (!isAvailable()) {
return;
}
boolean isStorageManagerEnabled = Settings.Secure.getInt(mContext.getContentResolver(), boolean isStorageManagerEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, 0) != 0; Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, 0) != 0;
mSwitch.setChecked(isStorageManagerEnabled); mSwitch.setChecked(isStorageManagerEnabled);

View File

@@ -17,7 +17,6 @@
package com.android.settings.deviceinfo.storage; package com.android.settings.deviceinfo.storage;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any; import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq; import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@@ -33,17 +32,15 @@ import android.content.Context;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.deletionhelper.ActivationWarningFragment; import com.android.settings.deletionhelper.ActivationWarningFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowSystemProperties; import com.android.settings.testutils.shadow.SettingsShadowSystemProperties;
import com.android.settings.widget.MasterSwitchPreference; import com.android.settings.widget.MasterSwitchPreference;
import com.android.settings.overlay.FeatureFactory;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -84,10 +81,18 @@ public class AutomaticStorageManagementSwitchPreferenceControllerTest {
} }
@Test @Test
public void isAvailable_shouldAlwaysReturnTrue() { public void isAvailable_shouldReturnTrue_forHighRamDevice() {
assertThat(mController.isAvailable()).isTrue(); assertThat(mController.isAvailable()).isTrue();
} }
@Test
@Config(shadows = {SettingsShadowSystemProperties.class})
public void isAvailable_shouldAlwaysReturnFalse_forLowRamDevice() {
SettingsShadowSystemProperties.set("ro.config.low_ram", "true");
assertThat(mController.isAvailable()).isFalse();
SettingsShadowSystemProperties.clear();
}
@Test @Test
public void onResume_shouldReflectEnabledStatus() { public void onResume_shouldReflectEnabledStatus() {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);