Merge "Fix a bug in show surface updates"

This commit is contained in:
Jeffrey Huang
2017-09-29 20:48:57 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 3 deletions

View File

@@ -81,8 +81,12 @@ public class ShowSurfaceUpdatesPreferenceController extends DeveloperOptionsPref
@Override @Override
protected void onDeveloperOptionsSwitchDisabled() { protected void onDeveloperOptionsSwitchDisabled() {
if (mPreference.isChecked()) {
// Writing false to the preference when the setting is already off will have a
// side effect of turning on the preference that we wish to avoid
writeShowUpdatesSetting(false); writeShowUpdatesSetting(false);
mPreference.setChecked(false); mPreference.setChecked(false);
}
mPreference.setEnabled(false); mPreference.setEnabled(false);
} }

View File

@@ -24,6 +24,7 @@ import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -110,7 +111,18 @@ public class ShowSurfaceUpdatesPreferenceControllerTest {
} }
@Test @Test
public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() { public void onDeveloperOptionsSwitchDisabled_preferenceUnchecked_shouldNotTurnOffPreference() {
when(mPreference.isChecked()).thenReturn(false);
mController.onDeveloperOptionsSwitchDisabled();
verify(mController, never()).writeShowUpdatesSetting(anyBoolean());
verify(mPreference, never()).setChecked(anyBoolean());
verify(mPreference).setEnabled(false);
}
@Test
public void onDeveloperOptionsSwitchDisabled_preferenceChecked_shouldTurnOffPreference() {
when(mPreference.isChecked()).thenReturn(true);
mController.onDeveloperOptionsSwitchDisabled(); mController.onDeveloperOptionsSwitchDisabled();
verify(mController).writeShowUpdatesSetting(false); verify(mController).writeShowUpdatesSetting(false);