Merge "Fix Auto click (dwell timing) the checked option isn't the same as the option before upgrading the OS" into rvc-dev

This commit is contained in:
Menghan Li
2020-04-23 13:57:45 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 20 deletions

View File

@@ -153,7 +153,7 @@ public class ToggleAutoclickCustomSeekbarController extends BasePreferenceContro
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (KEY_DELAY_MODE.equals(key)) { if (KEY_DELAY_MODE.equals(key)) {
int delayMillis = getSharedPreferenceForDelayValue(); final int delayMillis = getSharedPreferenceForDelayValue();
updateCustomDelayValue(delayMillis); updateCustomDelayValue(delayMillis);
} }
} }
@@ -172,10 +172,11 @@ public class ToggleAutoclickCustomSeekbarController extends BasePreferenceContro
} }
private int getSharedPreferenceForDelayValue() { private int getSharedPreferenceForDelayValue() {
int delayMillis = mSharedPreferences.getInt(KEY_CUSTOM_DELAY_VALUE, final int delayMillis = Settings.Secure.getInt(mContentResolver,
Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
AccessibilityManager.AUTOCLICK_DELAY_DEFAULT); AccessibilityManager.AUTOCLICK_DELAY_DEFAULT);
return delayMillis; return mSharedPreferences.getInt(KEY_CUSTOM_DELAY_VALUE, delayMillis);
} }
private void putSecureInt(String name, int value) { private void putSecureInt(String name, int value) {
@@ -190,14 +191,14 @@ public class ToggleAutoclickCustomSeekbarController extends BasePreferenceContro
} }
private void minusDelayByImageView() { private void minusDelayByImageView() {
int delayMillis = getSharedPreferenceForDelayValue(); final int delayMillis = getSharedPreferenceForDelayValue();
if (delayMillis > MIN_AUTOCLICK_DELAY_MS) { if (delayMillis > MIN_AUTOCLICK_DELAY_MS) {
updateCustomDelayValue(delayMillis - AUTOCLICK_DELAY_STEP); updateCustomDelayValue(delayMillis - AUTOCLICK_DELAY_STEP);
} }
} }
private void plusDelayByImageView() { private void plusDelayByImageView() {
int delayMillis = getSharedPreferenceForDelayValue(); final int delayMillis = getSharedPreferenceForDelayValue();
if (delayMillis < MAX_AUTOCLICK_DELAY_MS) { if (delayMillis < MAX_AUTOCLICK_DELAY_MS) {
updateCustomDelayValue(delayMillis + AUTOCLICK_DELAY_STEP); updateCustomDelayValue(delayMillis + AUTOCLICK_DELAY_STEP);
} }

View File

@@ -116,7 +116,7 @@ public class ToggleAutoclickPreferenceController extends BasePreferenceControlle
@Override @Override
public void onRadioButtonClicked(RadioButtonPreference preference) { public void onRadioButtonClicked(RadioButtonPreference preference) {
int value = mAccessibilityAutoclickKeyToValueMap.get(mPreferenceKey); final int value = mAccessibilityAutoclickKeyToValueMap.get(mPreferenceKey);
handleRadioButtonPreferenceChange(value); handleRadioButtonPreferenceChange(value);
if (mOnChangeListener != null) { if (mOnChangeListener != null) {
mOnChangeListener.onCheckedChanged(mDelayModePref); mOnChangeListener.onCheckedChanged(mDelayModePref);
@@ -137,11 +137,15 @@ public class ToggleAutoclickPreferenceController extends BasePreferenceControlle
public void updateState(Preference preference) { public void updateState(Preference preference) {
super.updateState(preference); super.updateState(preference);
mCurrentUiAutoClickMode = getSharedPreferenceForAutoClickMode(); final boolean enabled = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 0) == 1;
mCurrentUiAutoClickMode =
enabled ? getSharedPreferenceForAutoClickMode() : AUTOCLICK_OFF_MODE;
// Reset RadioButton. // Reset RadioButton.
mDelayModePref.setChecked(false); mDelayModePref.setChecked(false);
int mode = mAccessibilityAutoclickKeyToValueMap.get(mDelayModePref.getKey()); final int mode = mAccessibilityAutoclickKeyToValueMap.get(mDelayModePref.getKey());
updatePreferenceCheckedState(mode); updatePreferenceCheckedState(mode);
updatePreferenceVisibleState(mode); updatePreferenceVisibleState(mode);
} }
@@ -155,10 +159,10 @@ public class ToggleAutoclickPreferenceController extends BasePreferenceControlle
} }
private void setAutoclickModeToKeyMap() { private void setAutoclickModeToKeyMap() {
String[] autoclickKeys = mResources.getStringArray( final String[] autoclickKeys = mResources.getStringArray(
R.array.accessibility_autoclick_control_selector_keys); R.array.accessibility_autoclick_control_selector_keys);
int[] autoclickValues = mResources.getIntArray( final int[] autoclickValues = mResources.getIntArray(
R.array.accessibility_autoclick_selector_values); R.array.accessibility_autoclick_selector_values);
final int autoclickValueCount = autoclickValues.length; final int autoclickValueCount = autoclickValues.length;
@@ -168,26 +172,21 @@ public class ToggleAutoclickPreferenceController extends BasePreferenceControlle
} }
private void handleRadioButtonPreferenceChange(int preference) { private void handleRadioButtonPreferenceChange(int preference) {
if (preference == AUTOCLICK_OFF_MODE) { putSecureInt(Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED,
putSecureInt(Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, /*value= */ 0); (preference != AUTOCLICK_OFF_MODE) ? /* enabled */ 1 : /* disabled */ 0);
} else {
putSecureInt(Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, /*value= */ 1);
}
mSharedPreferences.edit().putInt(KEY_DELAY_MODE, preference).apply(); mSharedPreferences.edit().putInt(KEY_DELAY_MODE, preference).apply();
if (preference == AUTOCLICK_CUSTOM_MODE) { if (preference != AUTOCLICK_CUSTOM_MODE) {
return;
}
putSecureInt(CONTROL_AUTOCLICK_DELAY_SECURE, preference); putSecureInt(CONTROL_AUTOCLICK_DELAY_SECURE, preference);
} }
}
private void putSecureInt(String name, int value) { private void putSecureInt(String name, int value) {
Settings.Secure.putInt(mContentResolver, name, value); Settings.Secure.putInt(mContentResolver, name, value);
} }
private int getSharedPreferenceForAutoClickMode() { private int getSharedPreferenceForAutoClickMode() {
return mSharedPreferences.getInt(KEY_DELAY_MODE, AUTOCLICK_OFF_MODE); return mSharedPreferences.getInt(KEY_DELAY_MODE, AUTOCLICK_CUSTOM_MODE);
} }
} }