Use radio button style for single selection
1. First day of week page 2. Temperature page 3. Numbering system page Bug: 375979373 Flag: EXEMPT bugfix Test: atest FirstDayOfWeekItemListControllerTest, TemperatureUnitListControllerTest, NumberingSystemItemControllerTest Change-Id: I645c5399e49caf880fa83f33a44ff974a602080c
This commit is contained in:
committed by
Daniel Huang
parent
e72b2d2be1
commit
689e0e4a17
@@ -35,8 +35,8 @@ import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.TickButtonPreference;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.widget.SelectorWithWidgetPreference;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -138,13 +138,13 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
for (String localeTag : locales) {
|
||||
Locale supportedLocale = Locale.forLanguageTag(localeTag);
|
||||
if (isSameBaseLocale(targetLocale, supportedLocale)) {
|
||||
TickButtonPreference pref = new TickButtonPreference(mContext);
|
||||
SelectorWithWidgetPreference pref = new SelectorWithWidgetPreference(mContext);
|
||||
String numberingName = getNumberingSystem(supportedLocale);
|
||||
pref.setTitle(numberingName);
|
||||
String key = supportedLocale.getUnicodeLocaleType(
|
||||
ExtensionTypes.NUMBERING_SYSTEM);
|
||||
pref.setKey(key == null ? RegionalPreferencesDataUtils.DEFAULT_VALUE : key);
|
||||
pref.setSelected(isSameNumberingSystem(targetLocale, supportedLocale));
|
||||
pref.setChecked(isSameNumberingSystem(targetLocale, supportedLocale));
|
||||
screen.addPreference(pref);
|
||||
}
|
||||
}
|
||||
@@ -168,11 +168,12 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
|
||||
private void handleNumberSystemSelect(Preference preference) {
|
||||
for (int i = 0; i < mPreferenceScreen.getPreferenceCount(); i++) {
|
||||
TickButtonPreference pref = (TickButtonPreference) mPreferenceScreen.getPreference(i);
|
||||
SelectorWithWidgetPreference pref =
|
||||
(SelectorWithWidgetPreference) mPreferenceScreen.getPreference(i);
|
||||
Log.i(TAG, "[onPreferenceClick] key is " + pref.getKey());
|
||||
if (pref.getKey().equals(preference.getKey())) {
|
||||
String numberingSystem = pref.getKey();
|
||||
pref.setSelected(true);
|
||||
pref.setChecked(true);
|
||||
Locale updatedLocale =
|
||||
saveNumberingSystemToLocale(Locale.forLanguageTag(mSelectedLanguage),
|
||||
numberingSystem);
|
||||
@@ -188,7 +189,7 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
mParentFragment.setArguments(bundle);
|
||||
continue;
|
||||
}
|
||||
pref.setSelected(false);
|
||||
pref.setChecked(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user