Migrate new() to SwitchPreferenceCompat

Bug: 306658427
Test: manual - on Settings pages
Change-Id: I258a8c63d5c46403c6d333a9d2f34c33cb35e27f
This commit is contained in:
Chaohui Wang
2023-10-24 11:38:26 +08:00
parent 5036a9cb17
commit cfdb3b1f1b
19 changed files with 93 additions and 83 deletions

View File

@@ -25,7 +25,8 @@ import android.hardware.input.KeyboardLayout;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import androidx.preference.SwitchPreferenceCompat;
import androidx.preference.TwoStatePreference;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -40,7 +41,7 @@ public class KeyboardLayoutPickerController extends BasePreferenceController imp
InputManager.InputDeviceListener, LifecycleObserver, OnStart, OnStop {
private final InputManager mIm;
private final Map<SwitchPreference, KeyboardLayout> mPreferenceMap;
private final Map<TwoStatePreference, KeyboardLayout> mPreferenceMap;
private Fragment mParent;
private int mInputDeviceId;
@@ -95,11 +96,10 @@ public class KeyboardLayoutPickerController extends BasePreferenceController imp
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (!(preference instanceof SwitchPreference)) {
if (!(preference instanceof TwoStatePreference switchPref)) {
return false;
}
final SwitchPreference switchPref = (SwitchPreference) preference;
final KeyboardLayout layout = mPreferenceMap.get(switchPref);
if (layout != null) {
final boolean checked = switchPref.isChecked();
@@ -138,7 +138,7 @@ public class KeyboardLayoutPickerController extends BasePreferenceController imp
mInputDeviceIdentifier);
Arrays.sort(enabledKeyboardLayouts);
for (Map.Entry<SwitchPreference, KeyboardLayout> entry : mPreferenceMap.entrySet()) {
for (Map.Entry<TwoStatePreference, KeyboardLayout> entry : mPreferenceMap.entrySet()) {
entry.getKey().setChecked(Arrays.binarySearch(enabledKeyboardLayouts,
entry.getValue().getDescriptor()) >= 0);
}
@@ -149,7 +149,7 @@ public class KeyboardLayoutPickerController extends BasePreferenceController imp
return;
}
for (KeyboardLayout layout : mKeyboardLayouts) {
final SwitchPreference pref = new SwitchPreference(mScreen.getContext());
final TwoStatePreference pref = new SwitchPreferenceCompat(mScreen.getContext());
pref.setTitle(layout.getLabel());
pref.setSummary(layout.getCollection());
// TODO: Waiting for new API to use a prefix with special number to setKey