Rename RadioButtonPreference -> SelectorWithWidgetPreference.

This change is to reduce ambiguity as we're adding the option to style the preference like a checkbox as well.

Bug: 190180868
Test: SelectorWithWidgetPreferenceTest, RunSettingsLibRoboTests
Change-Id: Ie414347bf67ed394ef495604890c5851fc42dbc7
This commit is contained in:
Yuri Lin
2021-07-20 11:42:39 -04:00
parent a113fdb727
commit e9f13fbd5e
65 changed files with 311 additions and 305 deletions

View File

@@ -38,7 +38,7 @@ import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.core.PreferenceXmlParserUtils;
import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
import com.android.settingslib.widget.CandidateInfo;
import com.android.settingslib.widget.RadioButtonPreference;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
import org.xmlpull.v1.XmlPullParserException;
@@ -47,7 +47,7 @@ import java.util.List;
import java.util.Map;
public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFragment implements
RadioButtonPreference.OnClickListener {
SelectorWithWidgetPreference.OnClickListener {
@VisibleForTesting
static final String EXTRA_FOR_WORK = "for_work";
@@ -110,7 +110,7 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr
protected abstract int getPreferenceScreenResId();
@Override
public void onRadioButtonClicked(RadioButtonPreference selected) {
public void onRadioButtonClicked(SelectorWithWidgetPreference selected) {
final String selectedKey = selected.getKey();
onRadioButtonConfirmed(selectedKey);
}
@@ -150,7 +150,7 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr
/**
* A chance for subclasses to bind additional things to the preference.
*/
public void bindPreferenceExtra(RadioButtonPreference pref,
public void bindPreferenceExtra(SelectorWithWidgetPreference pref,
String key, CandidateInfo info, String defaultKey, String systemDefaultKey) {
}
@@ -175,7 +175,8 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr
final int customLayoutResId = getRadioButtonPreferenceCustomLayoutResId();
if (shouldShowItemNone()) {
final RadioButtonPreference nonePref = new RadioButtonPreference(getPrefContext());
final SelectorWithWidgetPreference nonePref =
new SelectorWithWidgetPreference(getPrefContext());
if (customLayoutResId > 0) {
nonePref.setLayoutResource(customLayoutResId);
}
@@ -187,7 +188,8 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr
}
if (candidateList != null) {
for (CandidateInfo info : candidateList) {
RadioButtonPreference pref = new RadioButtonPreference(getPrefContext());
SelectorWithWidgetPreference pref =
new SelectorWithWidgetPreference(getPrefContext());
if (customLayoutResId > 0) {
pref.setLayoutResource(customLayoutResId);
}
@@ -202,7 +204,7 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr
}
}
public RadioButtonPreference bindPreference(RadioButtonPreference pref,
public SelectorWithWidgetPreference bindPreference(SelectorWithWidgetPreference pref,
String key, CandidateInfo info, String defaultKey) {
pref.setTitle(info.loadLabel());
pref.setIcon(Utils.getSafeIcon(info.loadIcon()));
@@ -221,8 +223,9 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr
final int count = screen.getPreferenceCount();
for (int i = 0; i < count; i++) {
final Preference pref = screen.getPreference(i);
if (pref instanceof RadioButtonPreference) {
final RadioButtonPreference radioPref = (RadioButtonPreference) pref;
if (pref instanceof SelectorWithWidgetPreference) {
final SelectorWithWidgetPreference radioPref =
(SelectorWithWidgetPreference) pref;
final boolean newCheckedState = TextUtils.equals(pref.getKey(), selectedKey);
if (radioPref.isChecked() != newCheckedState) {
radioPref.setChecked(TextUtils.equals(pref.getKey(), selectedKey));
@@ -237,8 +240,8 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr
// If there is only 1 thing on screen, select it.
if (screen != null && screen.getPreferenceCount() == 1) {
final Preference onlyPref = screen.getPreference(0);
if (onlyPref instanceof RadioButtonPreference) {
((RadioButtonPreference) onlyPref).setChecked(true);
if (onlyPref instanceof SelectorWithWidgetPreference) {
((SelectorWithWidgetPreference) onlyPref).setChecked(true);
}
}
}