diff options
author | PETER LIANG <peterliang@google.com> | 2020-05-12 11:29:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-05-12 11:29:11 +0000 |
commit | a85f5dc80b47883ac698de513de70074cd109aeb (patch) | |
tree | 88c27d81dde761a46db43dff53f32c79734a5bcd /src/com/android/settings/accessibility | |
parent | b0230a61066bc8cc24f401f592d4f60e43a9316d (diff) | |
parent | 785af0c15ab9e2177da43ecf081498877243e558 (diff) | |
download | packages_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.java | 19 | ||||
-rw-r--r-- | src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java | 6 |
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)); |