Update to use android:summary="%s" in ListPreference
* No need to call updateState() in onPreferenceChange() Bug: 274326713 Test: make RunSettingsRoboTests ROBOTEST_FILTER="(AccessibilityButtonGesturePreferenceControllerTest|CaptioningLocalePreferenceControllerTest|CaptioningFontSizeControllerTest|CaptioningTypefaceControllerTest|AccessibilityButtonLocationPreferenceControllerTest|FloatingMenuSizePreferenceControllerTest|SelectLongPressTimeoutPreferenceControllerTest)" Change-Id: I14a87597a44c5500ff7e676664b67feb9c352494
This commit is contained in:
@@ -22,7 +22,6 @@ import android.database.ContentObserver;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.provider.Settings;
|
||||
import android.util.ArrayMap;
|
||||
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -30,7 +29,6 @@ import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnPause;
|
||||
@@ -52,9 +50,6 @@ public class FloatingMenuSizePreferenceController extends BasePreferenceControll
|
||||
@VisibleForTesting
|
||||
ListPreference mPreference;
|
||||
|
||||
private final ArrayMap<String, String> mValueTitleMap = new ArrayMap<>();
|
||||
private int mDefaultSize;
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef({
|
||||
Size.SMALL,
|
||||
@@ -75,8 +70,6 @@ public class FloatingMenuSizePreferenceController extends BasePreferenceControll
|
||||
updateAvailabilityStatus();
|
||||
}
|
||||
};
|
||||
|
||||
initValueTitleMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -94,11 +87,9 @@ public class FloatingMenuSizePreferenceController extends BasePreferenceControll
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
final ListPreference listPreference = (ListPreference) preference;
|
||||
final Integer value = Ints.tryParse((String) newValue);
|
||||
if (value != null) {
|
||||
putAccessibilityFloatingMenuSize(value);
|
||||
updateState(listPreference);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -108,7 +99,7 @@ public class FloatingMenuSizePreferenceController extends BasePreferenceControll
|
||||
super.updateState(preference);
|
||||
final ListPreference listPreference = (ListPreference) preference;
|
||||
|
||||
listPreference.setValue(String.valueOf(getAccessibilityFloatingMenuSize(mDefaultSize)));
|
||||
listPreference.setValue(String.valueOf(getAccessibilityFloatingMenuSize()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -129,25 +120,10 @@ public class FloatingMenuSizePreferenceController extends BasePreferenceControll
|
||||
mPreference.setEnabled(AccessibilityUtil.isFloatingMenuEnabled(mContext));
|
||||
}
|
||||
|
||||
private void initValueTitleMap() {
|
||||
if (mValueTitleMap.size() == 0) {
|
||||
final String[] values = mContext.getResources().getStringArray(
|
||||
R.array.accessibility_button_size_selector_values);
|
||||
final String[] titles = mContext.getResources().getStringArray(
|
||||
R.array.accessibility_button_size_selector_titles);
|
||||
final int mapSize = values.length;
|
||||
|
||||
mDefaultSize = Integer.parseInt(values[0]);
|
||||
for (int i = 0; i < mapSize; i++) {
|
||||
mValueTitleMap.put(values[i], titles[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Size
|
||||
private int getAccessibilityFloatingMenuSize(@Size int defaultValue) {
|
||||
private int getAccessibilityFloatingMenuSize() {
|
||||
return Settings.Secure.getInt(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, defaultValue);
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, Size.SMALL);
|
||||
}
|
||||
|
||||
private void putAccessibilityFloatingMenuSize(@Size int value) {
|
||||
|
Reference in New Issue
Block a user