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

Commit bbab97c9 authored by Stanley Wang's avatar Stanley Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix the problem of the TalkBack function can not be turned on." into sc-dev

parents 426e2cb3 fab609f8
Loading
Loading
Loading
Loading
+15 −14
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ import android.view.accessibility.AccessibilityManager;
import android.widget.Switch;

import androidx.annotation.Nullable;
import androidx.preference.Preference;

import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
@@ -233,14 +232,18 @@ public class ToggleAccessibilityServicePreferenceFragment extends

    @Override
    protected void updateSwitchBarToggleSwitch() {
        final boolean checked = AccessibilityUtils.getEnabledServicesFromSettings(getPrefContext())
                .contains(mComponentName);
        final boolean checked = isAccessibilityServiceEnabled();
        if (mToggleServiceSwitchPreference.isChecked() == checked) {
            return;
        }
        mToggleServiceSwitchPreference.setChecked(checked);
    }

    private boolean isAccessibilityServiceEnabled() {
        return AccessibilityUtils.getEnabledServicesFromSettings(getPrefContext())
                .contains(mComponentName);
    }

    /**
     * Return whether the device is encrypted with legacy full disk encryption. Newer devices
     * should be using File Based Encryption.
@@ -315,7 +318,6 @@ public class ToggleAccessibilityServicePreferenceFragment extends
    }

    private void handleConfirmServiceEnabled(boolean confirmed) {
        mToggleServiceSwitchPreference.setChecked(confirmed);
        getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, confirmed);
        onPreferenceToggled(mPreferenceKey, confirmed);
    }
@@ -339,8 +341,8 @@ public class ToggleAccessibilityServicePreferenceFragment extends

    @Override
    public void onSwitchChanged(Switch switchView, boolean isChecked) {
        if (isChecked != mToggleServiceSwitchPreference.isChecked()) {
            onPreferenceClick(mToggleServiceSwitchPreference);
        if (isChecked != isAccessibilityServiceEnabled()) {
            onPreferenceClick(isChecked);
        }
    }

@@ -534,14 +536,8 @@ public class ToggleAccessibilityServicePreferenceFragment extends
        mDialog.dismiss();
    }

    private boolean onPreferenceClick(Preference preference) {
        boolean checked = ((SettingsMainSwitchPreference) preference).isChecked();
        if (checked) {
            mToggleServiceSwitchPreference.setChecked(true);
            getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
                    /* enableService */ true);
            showDialog(DialogEnums.DISABLE_WARNING_FROM_TOGGLE);
        } else {
    private boolean onPreferenceClick(boolean isChecked) {
        if (isChecked) {
            mToggleServiceSwitchPreference.setChecked(false);
            getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
                    /* disableService */ false);
@@ -553,6 +549,11 @@ public class ToggleAccessibilityServicePreferenceFragment extends
                    showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
                }
            }
        } else {
            mToggleServiceSwitchPreference.setChecked(true);
            getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
                    /* enableService */ true);
            showDialog(DialogEnums.DISABLE_WARNING_FROM_TOGGLE);
        }
        return true;
    }