Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91e3e434 authored by Matthew Fritze's avatar Matthew Fritze
Browse files

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
parent 0a2a3a6a
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -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() {