diff --git a/res/values/config.xml b/res/values/config.xml
index 07f6432ed3d..ad92e76d895 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -553,7 +553,7 @@
com.android.cellbroadcastreceiver.module
-
+
content://com.android.providers.media.documents/root/images_root
@@ -695,4 +695,7 @@
false
+
+
+ false
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
index ff747e36791..a6575a58a3a 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
@@ -50,8 +50,13 @@ public class BatteryManagerPreferenceController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
- return mPowerUsageFeatureProvider.isBatteryManagerSupported()
- && mPowerUsageFeatureProvider.isAdaptiveChargingSupported()
+ if (!mPowerUsageFeatureProvider.isBatteryManagerSupported()) {
+ return UNSUPPORTED_ON_DEVICE;
+ }
+ if (!mContext.getResources().getBoolean(R.bool.config_battery_manager_consider_ac)) {
+ return AVAILABLE_UNSEARCHABLE;
+ }
+ return mPowerUsageFeatureProvider.isAdaptiveChargingSupported()
? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
index 881a18d6baf..4f26754b212 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
@@ -85,15 +85,6 @@ public class BatterySaverButtonPreferenceControllerTest {
assertThat(mPreference.isChecked()).isFalse();
}
- @Test
- public void onSwitchChanged_isCheckedAndAcked_setPowerSaveMode() {
- setLowPowerWarningAcked(/* acked= */ 1);
-
- mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ true);
-
- verify(mPowerManager).setPowerSaveModeEnabled(true);
- }
-
@Test
public void updateState_lowPowerOn_preferenceIsChecked() {
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java
index 218fa9e5a51..5cd137a6d3e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java
@@ -26,8 +26,10 @@ import android.provider.Settings;
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
import org.junit.Before;
import org.junit.Test;
@@ -36,8 +38,10 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = SettingsShadowResources.class)
public class BatteryManagerPreferenceControllerTest {
private static final int ON = 1;
private static final int OFF = 0;
@@ -85,6 +89,8 @@ public class BatteryManagerPreferenceControllerTest {
@Test
public void getAvailabilityStatus_supportBatteryManager_showPrefPage() {
+ SettingsShadowResources.overrideResource(
+ R.bool.config_battery_manager_consider_ac, true);
when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true);
when(mPowerUsageFeatureProvider.isAdaptiveChargingSupported()).thenReturn(true);
@@ -102,10 +108,23 @@ public class BatteryManagerPreferenceControllerTest {
@Test
public void getAvailabilityStatus_supportBatteryManagerWithoutAC_notShowPrefPage() {
+ SettingsShadowResources.overrideResource(
+ R.bool.config_battery_manager_consider_ac, true);
when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true);
when(mPowerUsageFeatureProvider.isAdaptiveChargingSupported()).thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BatteryManagerPreferenceController.UNSUPPORTED_ON_DEVICE);
}
+
+ @Test
+ public void getAvailabilityStatus_ignoreBatteryManagerWithoutAC_showPrefPage() {
+ SettingsShadowResources.overrideResource(
+ R.bool.config_battery_manager_consider_ac, false);
+ when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true);
+ when(mPowerUsageFeatureProvider.isAdaptiveChargingSupported()).thenReturn(false);
+
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(
+ BatteryManagerPreferenceController.AVAILABLE_UNSEARCHABLE);
+ }
}