Loading res/xml/smart_battery_detail.xml +7 −5 Original line number Diff line number Diff line Loading @@ -22,11 +22,6 @@ android:title="@string/smart_battery_manager_title" settings:searchable="false"> <com.android.settingslib.widget.MainSwitchPreference android:key="smart_battery" android:title="@string/adaptive_battery_main_switch_title" settings:controller="com.android.settings.fuelgauge.SmartBatteryPreferenceController"/> <com.android.settings.widget.VideoPreference android:key="auto_awesome_battery" android:title="@string/summary_placeholder" Loading @@ -34,6 +29,13 @@ settings:preview="@drawable/auto_awesome_battery" settings:controller="com.android.settings.widget.VideoPreferenceController"/> <SwitchPreference android:key="smart_battery" android:title="@string/smart_battery_title" android:summary="@string/smart_battery_summary" settings:controller="com.android.settings.fuelgauge.SmartBatteryPreferenceController" settings:allowDividerAbove="true"/> <SwitchPreference android:key="auto_restriction" android:title="@string/battery_auto_restriction_title" Loading src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java +7 −16 Original line number Diff line number Diff line Loading @@ -20,27 +20,23 @@ package com.android.settings.fuelgauge; import android.content.Context; import android.provider.Settings; import android.text.TextUtils; import android.widget.Switch; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.widget.MainSwitchPreference; import com.android.settingslib.widget.OnMainSwitchChangeListener; /** * Controller to change and update the smart battery toggle */ public class SmartBatteryPreferenceController extends BasePreferenceController implements OnMainSwitchChangeListener { Preference.OnPreferenceChangeListener { private static final String KEY_SMART_BATTERY = "smart_battery"; private static final int ON = 1; private static final int OFF = 0; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private MainSwitchPreference mPreference; public SmartBatteryPreferenceController(Context context) { super(context, KEY_SMART_BATTERY); Loading Loading @@ -70,19 +66,14 @@ public class SmartBatteryPreferenceController extends BasePreferenceController i super.updateState(preference); final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON) == ON; ((MainSwitchPreference) preference).updateStatus(smartBatteryOn); ((SwitchPreference) preference).setChecked(smartBatteryOn); } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreference = (MainSwitchPreference) screen.findPreference(getPreferenceKey()); mPreference.addOnSwitchChangeListener(this); } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean smartBatteryOn = (Boolean) newValue; Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, isChecked ? ON : OFF); Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, smartBatteryOn ? ON : OFF); return true; } } tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java +10 −11 Original line number Diff line number Diff line Loading @@ -21,9 +21,10 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import androidx.preference.SwitchPreference; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.widget.MainSwitchPreference; Loading @@ -42,50 +43,48 @@ public class SmartBatteryPreferenceControllerTest { private static final int OFF = 0; private SmartBatteryPreferenceController mController; private SwitchPreference mPreference; private ContentResolver mContentResolver; private FakeFeatureFactory mFeatureFactory; private Context mContext; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mFeatureFactory = FakeFeatureFactory.setupForTest(); mContentResolver = RuntimeEnvironment.application.getContentResolver(); mController = new SmartBatteryPreferenceController(RuntimeEnvironment.application); mPreference = new SwitchPreference(RuntimeEnvironment.application); } @Test public void testUpdateState_smartBatteryOn_preferenceChecked() { putSmartBatteryValue(ON); final MainSwitchPreference preference = new MainSwitchPreference(mContext); mController.updateState(preference); mController.updateState(mPreference); assertThat(preference.isChecked()).isTrue(); assertThat(mPreference.isChecked()).isTrue(); } @Test public void testUpdateState_smartBatteryOff_preferenceUnchecked() { putSmartBatteryValue(OFF); final MainSwitchPreference preference = new MainSwitchPreference(mContext); mController.updateState(preference); mController.updateState(mPreference); assertThat(preference.isChecked()).isFalse(); assertThat(mPreference.isChecked()).isFalse(); } @Test public void testUpdateState_checkPreference_smartBatteryOn() { mController.onSwitchChanged(null, true); mController.onPreferenceChange(mPreference, true); assertThat(getSmartBatteryValue()).isEqualTo(ON); } @Test public void testUpdateState_unCheckPreference_smartBatteryOff() { mController.onSwitchChanged(null, false); mController.onPreferenceChange(mPreference, false); assertThat(getSmartBatteryValue()).isEqualTo(OFF); } Loading Loading
res/xml/smart_battery_detail.xml +7 −5 Original line number Diff line number Diff line Loading @@ -22,11 +22,6 @@ android:title="@string/smart_battery_manager_title" settings:searchable="false"> <com.android.settingslib.widget.MainSwitchPreference android:key="smart_battery" android:title="@string/adaptive_battery_main_switch_title" settings:controller="com.android.settings.fuelgauge.SmartBatteryPreferenceController"/> <com.android.settings.widget.VideoPreference android:key="auto_awesome_battery" android:title="@string/summary_placeholder" Loading @@ -34,6 +29,13 @@ settings:preview="@drawable/auto_awesome_battery" settings:controller="com.android.settings.widget.VideoPreferenceController"/> <SwitchPreference android:key="smart_battery" android:title="@string/smart_battery_title" android:summary="@string/smart_battery_summary" settings:controller="com.android.settings.fuelgauge.SmartBatteryPreferenceController" settings:allowDividerAbove="true"/> <SwitchPreference android:key="auto_restriction" android:title="@string/battery_auto_restriction_title" Loading
src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java +7 −16 Original line number Diff line number Diff line Loading @@ -20,27 +20,23 @@ package com.android.settings.fuelgauge; import android.content.Context; import android.provider.Settings; import android.text.TextUtils; import android.widget.Switch; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.widget.MainSwitchPreference; import com.android.settingslib.widget.OnMainSwitchChangeListener; /** * Controller to change and update the smart battery toggle */ public class SmartBatteryPreferenceController extends BasePreferenceController implements OnMainSwitchChangeListener { Preference.OnPreferenceChangeListener { private static final String KEY_SMART_BATTERY = "smart_battery"; private static final int ON = 1; private static final int OFF = 0; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private MainSwitchPreference mPreference; public SmartBatteryPreferenceController(Context context) { super(context, KEY_SMART_BATTERY); Loading Loading @@ -70,19 +66,14 @@ public class SmartBatteryPreferenceController extends BasePreferenceController i super.updateState(preference); final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON) == ON; ((MainSwitchPreference) preference).updateStatus(smartBatteryOn); ((SwitchPreference) preference).setChecked(smartBatteryOn); } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreference = (MainSwitchPreference) screen.findPreference(getPreferenceKey()); mPreference.addOnSwitchChangeListener(this); } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean smartBatteryOn = (Boolean) newValue; Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, isChecked ? ON : OFF); Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, smartBatteryOn ? ON : OFF); return true; } }
tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java +10 −11 Original line number Diff line number Diff line Loading @@ -21,9 +21,10 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import androidx.preference.SwitchPreference; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.widget.MainSwitchPreference; Loading @@ -42,50 +43,48 @@ public class SmartBatteryPreferenceControllerTest { private static final int OFF = 0; private SmartBatteryPreferenceController mController; private SwitchPreference mPreference; private ContentResolver mContentResolver; private FakeFeatureFactory mFeatureFactory; private Context mContext; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mFeatureFactory = FakeFeatureFactory.setupForTest(); mContentResolver = RuntimeEnvironment.application.getContentResolver(); mController = new SmartBatteryPreferenceController(RuntimeEnvironment.application); mPreference = new SwitchPreference(RuntimeEnvironment.application); } @Test public void testUpdateState_smartBatteryOn_preferenceChecked() { putSmartBatteryValue(ON); final MainSwitchPreference preference = new MainSwitchPreference(mContext); mController.updateState(preference); mController.updateState(mPreference); assertThat(preference.isChecked()).isTrue(); assertThat(mPreference.isChecked()).isTrue(); } @Test public void testUpdateState_smartBatteryOff_preferenceUnchecked() { putSmartBatteryValue(OFF); final MainSwitchPreference preference = new MainSwitchPreference(mContext); mController.updateState(preference); mController.updateState(mPreference); assertThat(preference.isChecked()).isFalse(); assertThat(mPreference.isChecked()).isFalse(); } @Test public void testUpdateState_checkPreference_smartBatteryOn() { mController.onSwitchChanged(null, true); mController.onPreferenceChange(mPreference, true); assertThat(getSmartBatteryValue()).isEqualTo(ON); } @Test public void testUpdateState_unCheckPreference_smartBatteryOff() { mController.onSwitchChanged(null, false); mController.onPreferenceChange(mPreference, false); assertThat(getSmartBatteryValue()).isEqualTo(OFF); } Loading