Separate long press timeout preference controller form accessibility

Bug: 135056871
Test: manual, robotests
Change-Id: If49e4336b3461ec2a9568b8652c5aab0ff64ecfe
This commit is contained in:
Mill Chen
2019-07-02 00:20:35 +08:00
parent 08c4c4aadd
commit d2d1801e3b
4 changed files with 177 additions and 51 deletions

View File

@@ -40,7 +40,6 @@ import android.view.accessibility.AccessibilityManager;
import androidx.annotation.VisibleForTesting;
import androidx.core.content.ContextCompat;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
@@ -61,7 +60,6 @@ import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -70,8 +68,7 @@ import java.util.Set;
* Activity with the accessibility settings.
*/
@SearchIndexable
public class AccessibilitySettings extends DashboardFragment implements
Preference.OnPreferenceChangeListener {
public class AccessibilitySettings extends DashboardFragment {
private static final String TAG = "AccessibilitySettings";
@@ -97,8 +94,6 @@ public class AccessibilitySettings extends DashboardFragment implements
private static final String TOGGLE_LARGE_POINTER_ICON =
"toggle_large_pointer_icon";
private static final String TOGGLE_DISABLE_ANIMATIONS = "toggle_disable_animations";
private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE =
"select_long_press_timeout_preference";
private static final String HEARING_AID_PREFERENCE =
"hearing_aid_preference";
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
@@ -133,8 +128,6 @@ public class AccessibilitySettings extends DashboardFragment implements
static final String RAMPING_RINGER_ENABLED = "ramping_ringer_enabled";
private final Map<String, String> mLongPressTimeoutValueToTitleMap = new HashMap<>();
private final Handler mHandler = new Handler();
private final Runnable mUpdateRunnable = new Runnable() {
@@ -183,7 +176,6 @@ public class AccessibilitySettings extends DashboardFragment implements
private SwitchPreference mToggleLargePointerIconPreference;
private SwitchPreference mToggleDisableAnimationsPreference;
private ListPreference mSelectLongPressTimeoutPreference;
private Preference mDisplayMagnificationPreferenceScreen;
private Preference mDisplayDaltonizerPreferenceScreen;
private Preference mHearingAidPreference;
@@ -194,8 +186,6 @@ public class AccessibilitySettings extends DashboardFragment implements
private DarkUIPreferenceController mDarkUIPreferenceController;
private LiveCaptionPreferenceController mLiveCaptionPreferenceController;
private int mLongPressTimeoutDefault;
private DevicePolicyManager mDpm;
/**
@@ -271,22 +261,6 @@ public class AccessibilitySettings extends DashboardFragment implements
super.onStop();
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (mSelectLongPressTimeoutPreference == preference) {
handleLongPressTimeoutPreferenceChange((String) newValue);
return true;
}
return false;
}
private void handleLongPressTimeoutPreferenceChange(String stringValue) {
Settings.Secure.putInt(getContentResolver(),
Settings.Secure.LONG_PRESS_TIMEOUT, Integer.parseInt(stringValue));
mSelectLongPressTimeoutPreference.setSummary(
mLongPressTimeoutValueToTitleMap.get(stringValue));
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (mHearingAidPreferenceController.handlePreferenceTreeClick(preference)) {
@@ -344,22 +318,6 @@ public class AccessibilitySettings extends DashboardFragment implements
mToggleDisableAnimationsPreference =
(SwitchPreference) findPreference(TOGGLE_DISABLE_ANIMATIONS);
// Long press timeout.
mSelectLongPressTimeoutPreference =
(ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE);
mSelectLongPressTimeoutPreference.setOnPreferenceChangeListener(this);
if (mLongPressTimeoutValueToTitleMap.size() == 0) {
String[] timeoutValues = getResources().getStringArray(
R.array.long_press_timeout_selector_values);
mLongPressTimeoutDefault = Integer.parseInt(timeoutValues[0]);
String[] timeoutTitles = getResources().getStringArray(
R.array.long_press_timeout_selector_titles);
final int timeoutValueCount = timeoutValues.length;
for (int i = 0; i < timeoutValueCount; i++) {
mLongPressTimeoutValueToTitleMap.put(timeoutValues[i], timeoutTitles[i]);
}
}
// Hearing Aid.
mHearingAidPreference = findPreference(HEARING_AID_PREFERENCE);
mHearingAidPreferenceController.displayPreference(getPreferenceScreen());
@@ -590,13 +548,6 @@ public class AccessibilitySettings extends DashboardFragment implements
// Dark Mode
mDarkUIPreferenceController.updateState(mDarkUIModePreference);
// Long press timeout.
final int longPressTimeout = Settings.Secure.getInt(getContentResolver(),
Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault);
String value = String.valueOf(longPressTimeout);
mSelectLongPressTimeoutPreference.setValue(value);
mSelectLongPressTimeoutPreference.setSummary(mLongPressTimeoutValueToTitleMap.get(value));
mHearingAidPreferenceController.updateState(mHearingAidPreference);
mLiveCaptionPreferenceController.updateState(mLiveCaptionPreference);