Convert Smart Storage to BasePrefController

Convert Smart Storage (Storage manager) controller:
AutomaticStorageManagementSwitchPreferenceController
to BasePreferenceController for slices

Change-Id: Ieb22cb97cd46a43557dfbdd2c959e87842890fc6
Fixes: 74916013
Test: make RunSettingsRoboTests
This commit is contained in:
HJ ChangLiao
2018-04-13 16:46:34 +08:00
committed by hjchangliao
parent 90e7041170
commit ee06ef54ca
4 changed files with 42 additions and 37 deletions

View File

@@ -36,12 +36,12 @@ import androidx.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.RoSystemProperties;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.deletionhelper.ActivationWarningFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.widget.MasterSwitchPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.junit.Before;
import org.junit.Test;
@@ -72,22 +72,25 @@ public class AutomaticStorageManagementSwitchPreferenceControllerTest {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application.getApplicationContext();
final FeatureFactory factory = FeatureFactory.getFactory(mContext);
final MetricsFeatureProvider metricsFeature = factory.getMetricsFeatureProvider();
mController = new AutomaticStorageManagementSwitchPreferenceController(
mContext, metricsFeature, mFragmentManager);
mController = new AutomaticStorageManagementSwitchPreferenceController(mContext, "testkey");
mController.setFragmentManager(mFragmentManager);
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
}
@Test
public void isAvailable_shouldReturnTrue_forHighRamDevice() {
assertThat(mController.isAvailable()).isTrue();
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.AVAILABLE);
}
@Test
public void isAvailable_shouldAlwaysReturnFalse_forLowRamDevice() {
ReflectionHelpers.setStaticField(RoSystemProperties.class, "CONFIG_LOW_RAM", true);
assertThat(mController.isAvailable()).isFalse();
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.UNSUPPORTED_ON_DEVICE);
ReflectionHelpers.setStaticField(RoSystemProperties.class, "CONFIG_LOW_RAM", false);
}
@@ -117,8 +120,10 @@ public class AutomaticStorageManagementSwitchPreferenceControllerTest {
// the instance variables.
final FakeFeatureFactory factory = FakeFeatureFactory.setupForTest();
final AutomaticStorageManagementSwitchPreferenceController controller =
new AutomaticStorageManagementSwitchPreferenceController(
mMockContext, factory.metricsFeatureProvider, mFragmentManager);
new AutomaticStorageManagementSwitchPreferenceController(mMockContext, "testkey");
ReflectionHelpers.setField(controller, "mMetricsFeatureProvider",
factory.metricsFeatureProvider);
controller.setFragmentManager(mFragmentManager);
controller.onSwitchToggled(true);
@@ -158,7 +163,6 @@ public class AutomaticStorageManagementSwitchPreferenceControllerTest {
verify(transaction, never()).add(any(), eq(ActivationWarningFragment.TAG));
}
@Test
public void togglingOnShouldNotTriggerWarningFragmentIfEnabledByDefault() {
final FragmentTransaction transaction = mock(FragmentTransaction.class);