Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 525d757c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Apply checkbox enable state on viewholder bind"

parents 2c93b071 cd7e9bcb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ public class MasterCheckBoxPreference extends TwoTargetPreference {
        if (mCheckBox != null) {
            mCheckBox.setContentDescription(getTitle());
            mCheckBox.setChecked(mChecked);
            mCheckBox.setEnabled(mEnableCheckBox);
        }
    }

+18 −0
Original line number Diff line number Diff line
@@ -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);