Remove unused listener
- Remove OnMainSwitchChangeListener and it's interface since the callback will duplicate with setCheck() method, cause the toggle on event come with twice while on and off, in futher to casue some duplicate work or error metrics logging Bug: 218405966 Test: make SettingsRoboTests Change-Id: If20ed6488d21443b9c623e8fe4de383a84ea673a
This commit is contained in:
@@ -22,9 +22,7 @@ import android.net.Uri;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.provider.Settings;
|
|
||||||
import android.provider.SettingsSlicesContract;
|
import android.provider.SettingsSlicesContract;
|
||||||
import android.widget.Switch;
|
|
||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
@@ -36,15 +34,13 @@ import com.android.settingslib.core.lifecycle.events.OnStart;
|
|||||||
import com.android.settingslib.core.lifecycle.events.OnStop;
|
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||||
import com.android.settingslib.fuelgauge.BatterySaverUtils;
|
import com.android.settingslib.fuelgauge.BatterySaverUtils;
|
||||||
import com.android.settingslib.widget.MainSwitchPreference;
|
import com.android.settingslib.widget.MainSwitchPreference;
|
||||||
import com.android.settingslib.widget.OnMainSwitchChangeListener;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller to update the battery saver button
|
* Controller to update the battery saver button
|
||||||
*/
|
*/
|
||||||
public class BatterySaverButtonPreferenceController extends
|
public class BatterySaverButtonPreferenceController extends
|
||||||
TogglePreferenceController implements OnMainSwitchChangeListener, LifecycleObserver,
|
TogglePreferenceController implements LifecycleObserver, OnStart, OnStop,
|
||||||
OnStart, OnStop, BatterySaverReceiver.BatterySaverListener {
|
BatterySaverReceiver.BatterySaverListener {
|
||||||
private static final long SWITCH_ANIMATION_DURATION = 350L;
|
private static final long SWITCH_ANIMATION_DURATION = 350L;
|
||||||
|
|
||||||
private final BatterySaverReceiver mBatterySaverReceiver;
|
private final BatterySaverReceiver mBatterySaverReceiver;
|
||||||
@@ -96,20 +92,9 @@ public class BatterySaverButtonPreferenceController extends
|
|||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
mPreference.addOnSwitchChangeListener(this);
|
|
||||||
mPreference.updateStatus(isChecked());
|
mPreference.updateStatus(isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
|
||||||
// Cancel preference's check state once it's first time launch
|
|
||||||
if (isChecked && (Settings.Secure.getInt(mContext.getContentResolver(),
|
|
||||||
Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED, 0) == 0)) {
|
|
||||||
mPreference.setChecked(false);
|
|
||||||
}
|
|
||||||
setChecked(isChecked);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
return mPowerManager.isPowerSaveMode();
|
return mPowerManager.isPowerSaveMode();
|
||||||
|
@@ -26,7 +26,6 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.provider.Settings;
|
|
||||||
import android.provider.SettingsSlicesContract;
|
import android.provider.SettingsSlicesContract;
|
||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
@@ -72,24 +71,6 @@ public class BatterySaverButtonPreferenceControllerTest {
|
|||||||
.isEqualTo(SettingsSlicesContract.AUTHORITY);
|
.isEqualTo(SettingsSlicesContract.AUTHORITY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onSwitchChanged_isCheckedButNotAcked_preferenceIsUnchecked() {
|
|
||||||
setLowPowerWarningAcked(/* acked= */ 0);
|
|
||||||
|
|
||||||
mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ true);
|
|
||||||
|
|
||||||
assertThat(mPreference.isChecked()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onSwitchChanged_isCheckedAndAcked_setPowerSaveMode() {
|
|
||||||
setLowPowerWarningAcked(/* acked= */ 1);
|
|
||||||
|
|
||||||
mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ true);
|
|
||||||
|
|
||||||
verify(mPowerManager).setPowerSaveModeEnabled(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_lowPowerOn_preferenceIsChecked() {
|
public void updateState_lowPowerOn_preferenceIsChecked() {
|
||||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||||
@@ -140,16 +121,4 @@ public class BatterySaverButtonPreferenceControllerTest {
|
|||||||
public void isPublicSlice_returnsTrue() {
|
public void isPublicSlice_returnsTrue() {
|
||||||
assertThat(mController.isPublicSlice()).isTrue();
|
assertThat(mController.isPublicSlice()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0 means not acked, 1 means acked.
|
|
||||||
private void setLowPowerWarningAcked(int acked) {
|
|
||||||
Settings.Secure.putInt(
|
|
||||||
mContext.getContentResolver(),
|
|
||||||
Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED,
|
|
||||||
acked);
|
|
||||||
Settings.Secure.putInt(
|
|
||||||
mContext.getContentResolver(),
|
|
||||||
Settings.Secure.EXTRA_LOW_POWER_WARNING_ACKNOWLEDGED,
|
|
||||||
acked);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user