Loading src/com/android/settings/notification/NotificationSettingsBase.java +3 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.settings.applications.LayoutPreference; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import com.android.settings.widget.MasterCheckBoxPreference; import com.android.settings.widget.MasterSwitchPreference; import com.android.settings.widget.SwitchBar; import com.android.settings.wrapper.NotificationChannelGroupWrapper; Loading Loading @@ -277,9 +278,9 @@ abstract public class NotificationSettingsBase extends DashboardFragment { protected Preference populateSingleChannelPrefs(PreferenceGroup parent, final NotificationChannel channel, final boolean groupBlocked) { MasterSwitchPreference channelPref = new MasterSwitchPreference( MasterCheckBoxPreference channelPref = new MasterCheckBoxPreference( getPrefContext()); channelPref.setSwitchEnabled(mSuspendedAppsAdmin == null channelPref.setCheckBoxEnabled(mSuspendedAppsAdmin == null && isChannelBlockable(channel) && isChannelConfigurable(channel) && !groupBlocked); Loading src/com/android/settings/widget/MasterCheckBoxPreference.java +9 −3 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class MasterCheckBoxPreference extends TwoTargetPreference { private CheckBox mCheckBox; private boolean mChecked; private boolean mEnableCheckBox = true; public MasterCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { Loading Loading @@ -88,9 +89,7 @@ public class MasterCheckBoxPreference extends TwoTargetPreference { @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); if (mCheckBox != null) { mCheckBox.setEnabled(enabled); } setCheckBoxEnabled(enabled); } public boolean isChecked() { Loading @@ -104,6 +103,13 @@ public class MasterCheckBoxPreference extends TwoTargetPreference { } } public void setCheckBoxEnabled(boolean enabled) { mEnableCheckBox = enabled; if (mCheckBox != null) { mCheckBox.setEnabled(enabled); } } public CheckBox getCheckBox() { return mCheckBox; } Loading tests/robotests/src/com/android/settings/widget/MasterCheckBoxPreferenceTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,23 @@ public class MasterCheckBoxPreferenceTest { assertThat(checkBox.isEnabled()).isFalse(); } @Test public void setCheckboxEnabled_shouldOnlyUpdateCheckBoxEnabledState() { 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.onBindViewHolder(holder); mPreference.setCheckBoxEnabled(false); 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); Loading Loading
src/com/android/settings/notification/NotificationSettingsBase.java +3 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.settings.applications.LayoutPreference; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import com.android.settings.widget.MasterCheckBoxPreference; import com.android.settings.widget.MasterSwitchPreference; import com.android.settings.widget.SwitchBar; import com.android.settings.wrapper.NotificationChannelGroupWrapper; Loading Loading @@ -277,9 +278,9 @@ abstract public class NotificationSettingsBase extends DashboardFragment { protected Preference populateSingleChannelPrefs(PreferenceGroup parent, final NotificationChannel channel, final boolean groupBlocked) { MasterSwitchPreference channelPref = new MasterSwitchPreference( MasterCheckBoxPreference channelPref = new MasterCheckBoxPreference( getPrefContext()); channelPref.setSwitchEnabled(mSuspendedAppsAdmin == null channelPref.setCheckBoxEnabled(mSuspendedAppsAdmin == null && isChannelBlockable(channel) && isChannelConfigurable(channel) && !groupBlocked); Loading
src/com/android/settings/widget/MasterCheckBoxPreference.java +9 −3 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class MasterCheckBoxPreference extends TwoTargetPreference { private CheckBox mCheckBox; private boolean mChecked; private boolean mEnableCheckBox = true; public MasterCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { Loading Loading @@ -88,9 +89,7 @@ public class MasterCheckBoxPreference extends TwoTargetPreference { @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); if (mCheckBox != null) { mCheckBox.setEnabled(enabled); } setCheckBoxEnabled(enabled); } public boolean isChecked() { Loading @@ -104,6 +103,13 @@ public class MasterCheckBoxPreference extends TwoTargetPreference { } } public void setCheckBoxEnabled(boolean enabled) { mEnableCheckBox = enabled; if (mCheckBox != null) { mCheckBox.setEnabled(enabled); } } public CheckBox getCheckBox() { return mCheckBox; } Loading
tests/robotests/src/com/android/settings/widget/MasterCheckBoxPreferenceTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,23 @@ public class MasterCheckBoxPreferenceTest { assertThat(checkBox.isEnabled()).isFalse(); } @Test public void setCheckboxEnabled_shouldOnlyUpdateCheckBoxEnabledState() { 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.onBindViewHolder(holder); mPreference.setCheckBoxEnabled(false); 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); Loading