Assist and Voice Input SwitchPreferences animate with talkback

Toggling Use text from screen now animates the switch preference
and has the appropriate "on/off" talkback response.

Change-Id: Ib5f940f251c45ead3a908d7f762eebb5f76931fb
Fixes: 30205119
This commit is contained in:
Matthew Fritze
2016-07-27 16:52:49 -07:00
parent 0a2a3a6ac1
commit 91e3e434cf

View File

@@ -76,7 +76,7 @@ public class ManageAssist extends SettingsPreferenceFragment
if (preference == mContextPref) {
Settings.Secure.putInt(getContentResolver(), Settings.Secure.ASSIST_STRUCTURE_ENABLED,
(boolean) newValue ? 1 : 0);
postUpdateUi();
postGuardScreenshotPref();
return true;
}
if (preference == mScreenshotPref) {
@@ -101,15 +101,23 @@ public class ManageAssist extends SettingsPreferenceFragment
return false;
}
private void postUpdateUi() {
private void postGuardScreenshotPref() {
mHandler.post(new Runnable() {
@Override
public void run() {
updateUi();
guardScreenshotPref();
}
});
}
private void guardScreenshotPref() {
boolean isChecked = mContextPref.isChecked();
boolean screenshotPrefWasSet = Settings.Secure.getInt(
getContentResolver(), Settings.Secure.ASSIST_SCREENSHOT_ENABLED, 1) != 0;
mScreenshotPref.setEnabled(isChecked);
mScreenshotPref.setChecked(isChecked && screenshotPrefWasSet);
}
private void updateUi() {
mDefaultAssitPref.refreshAssistApps();
mVoiceInputPref.refreshVoiceInputs();
@@ -131,9 +139,7 @@ public class ManageAssist extends SettingsPreferenceFragment
mVoiceInputPref.setAssistRestrict(currentAssist);
}
mScreenshotPref.setEnabled(mContextPref.isChecked());
mScreenshotPref.setChecked(mContextPref.isChecked() && Settings.Secure.getInt(
getContentResolver(), Settings.Secure.ASSIST_SCREENSHOT_ENABLED, 1) != 0);
guardScreenshotPref();
}
private boolean isCurrentAssistVoiceService() {