Apply checkbox enable state on viewholder bind
Change-Id: I5b263f02fb6a1779fd567eade3776044fddb6b11 Fixes: 72809700 Test: SettingsRoboTests
This commit is contained in:
@@ -83,6 +83,7 @@ public class MasterCheckBoxPreference extends TwoTargetPreference {
|
||||
if (mCheckBox != null) {
|
||||
mCheckBox.setContentDescription(getTitle());
|
||||
mCheckBox.setChecked(mChecked);
|
||||
mCheckBox.setEnabled(mEnableCheckBox);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -105,6 +105,24 @@ public class MasterCheckBoxPreferenceTest {
|
||||
assertThat(checkBox.isEnabled()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBindViewHolder_shouldSetCheckboxEnabledState() {
|
||||
final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
|
||||
LayoutInflater.from(mContext).inflate(
|
||||
R.layout.preference_widget_master_checkbox, null));
|
||||
final CheckBox checkBox = (CheckBox) holder.findViewById(R.id.checkboxWidget);
|
||||
|
||||
mPreference.setCheckBoxEnabled(false);
|
||||
mPreference.onBindViewHolder(holder);
|
||||
|
||||
assertThat(mPreference.isEnabled()).isTrue();
|
||||
assertThat(checkBox.isEnabled()).isFalse();
|
||||
|
||||
mPreference.setCheckBoxEnabled(true);
|
||||
assertThat(mPreference.isEnabled()).isTrue();
|
||||
assertThat(checkBox.isEnabled()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void clickWidgetView_shouldToggleCheckBox() {
|
||||
final LayoutInflater inflater = LayoutInflater.from(mContext);
|
||||
|
Reference in New Issue
Block a user