Merge "Fix the problem of the TalkBack function can not be turned on." into sc-dev
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user