summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/accessibility
diff options
context:
space:
mode:
authorPETER LIANG <peterliang@google.com>2020-05-12 11:29:11 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-05-12 11:29:11 +0000
commita85f5dc80b47883ac698de513de70074cd109aeb (patch)
tree88c27d81dde761a46db43dff53f32c79734a5bcd /src/com/android/settings/accessibility
parentb0230a61066bc8cc24f401f592d4f60e43a9316d (diff)
parent785af0c15ab9e2177da43ecf081498877243e558 (diff)
downloadpackages_apps_Settings-a85f5dc80b47883ac698de513de70074cd109aeb.tar.gz
packages_apps_Settings-a85f5dc80b47883ac698de513de70074cd109aeb.tar.bz2
packages_apps_Settings-a85f5dc80b47883ac698de513de70074cd109aeb.zip
Merge "Add the settings content observer for shortcut preference." into rvc-dev
Diffstat (limited to 'src/com/android/settings/accessibility')
-rw-r--r--src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java19
-rw-r--r--src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java6
2 files changed, 21 insertions, 4 deletions
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 6b0759a92e..f8b64fb794 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -30,6 +30,7 @@ import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Handler;
import android.os.UserHandle;
import android.provider.Settings;
import android.text.Html;
@@ -96,6 +97,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
private int mUserShortcutTypes = UserShortcutType.EMPTY;
private CheckBox mSoftwareTypeCheckBox;
private CheckBox mHardwareTypeCheckBox;
+ private SettingsContentObserver mSettingsContentObserver;
// For html description of accessibility service, must follow the rule, such as
// <img src="R.drawable.fileName"/>, a11y settings will get the resources successfully.
@@ -133,6 +135,17 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
removeDialog(DialogEnums.EDIT_SHORTCUT);
mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
};
+
+ final List<String> shortcutFeatureKeys = new ArrayList<>();
+ shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS);
+ shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
+ mSettingsContentObserver = new SettingsContentObserver(new Handler(), shortcutFeatureKeys) {
+ @Override
+ public void onChange(boolean selfChange, Uri uri) {
+ updateShortcutPreferenceData();
+ updateShortcutPreference();
+ }
+ };
return super.onCreateView(inflater, container, savedInstanceState);
}
@@ -229,6 +242,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
final AccessibilityManager am = getPrefContext().getSystemService(
AccessibilityManager.class);
am.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+ mSettingsContentObserver.register(getContentResolver());
updateShortcutPreferenceData();
updateShortcutPreference();
}
@@ -238,6 +252,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
final AccessibilityManager am = getPrefContext().getSystemService(
AccessibilityManager.class);
am.removeTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+ mSettingsContentObserver.unregister(getContentResolver());
super.onPause();
}
@@ -618,7 +633,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
getShortcutTypeSummary(getPrefContext()));
}
- private void updateShortcutPreferenceData() {
+ protected void updateShortcutPreferenceData() {
if (mComponentName == null) {
return;
}
@@ -651,7 +666,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
mShortcutPreference.setTitle(title);
}
- private void updateShortcutPreference() {
+ protected void updateShortcutPreference() {
if (mComponentName == null) {
return;
}
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 23fb153b5b..52f8f71d57 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -467,7 +467,8 @@ public class ToggleScreenMagnificationPreferenceFragment extends
showDialog(DialogEnums.MAGNIFICATION_EDIT_SHORTCUT);
}
- private void updateShortcutPreferenceData() {
+ @Override
+ protected void updateShortcutPreferenceData() {
// Get the user shortcut type from settings provider.
mUserShortcutType = getUserShortcutTypeFromSettings(getPrefContext());
if (mUserShortcutType != UserShortcutType.EMPTY) {
@@ -489,7 +490,8 @@ public class ToggleScreenMagnificationPreferenceFragment extends
mShortcutPreference.setTitle(title);
}
- private void updateShortcutPreference() {
+ @Override
+ protected void updateShortcutPreference() {
final int shortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
mShortcutPreference.setChecked(
hasMagnificationValuesInSettings(getPrefContext(), shortcutTypes));