From 514b81d2331ec3309b6f41d1971124ef1eba9ad8 Mon Sep 17 00:00:00 2001 From: Tony Mantler Date: Fri, 30 Oct 2015 12:44:23 -0700 Subject: [PATCH] Move more Accessibility stuff to SettingsLib Change-Id: Id5dec8af86c1d4b0d98b169c4365410c2cee10b6 --- res/values/arrays.xml | 63 ---------- res/values/strings.xml | 118 ------------------ .../accessibility/AccessibilitySettings.java | 24 ---- ...ccessibilityServicePreferenceFragment.java | 53 +------- 4 files changed, 1 insertion(+), 257 deletions(-) diff --git a/res/values/arrays.xml b/res/values/arrays.xml index e5f19888eb2..b3e2655b755 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -150,69 +150,6 @@ 1.30 - - - - - Very slow - Slow - Normal - Fast - Faster - Very fast - Rapid - Very rapid - Fastest - - - - 60 - 80 - 100 - 150 - 200 - 250 - 300 - 350 - 400 - - - - - Very low - Low - Normal - High - Very high - - - - 50 - 80 - 100 - 120 - 150 - - - - - This is an example of speech synthesis in English. - Voici un échantillon de synthèse vocale en français. - Dies ist ein Beispiel für Sprachsynthese in Deutsch. - Questo è un esempio di sintesi vocale in italiano. - Este es un ejemplo de síntesis de voz en español. - 이것은 한국어 음성 합성의 예입니다. - - - eng - fra - deu - ita - spa - kor - - - diff --git a/res/values/strings.xml b/res/values/strings.xml index 9c314c3165e..2dcbe566f89 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4459,124 +4459,6 @@ behalf. It comes from the %s application. Enable the use of this service? - - - Text-to-speech settings - - Text-to-speech output - - Always use my settings - - Default settings below override app settings - - Default settings - - Default engine - - Set the speech synthesis engine to be used for spoken text - - Speech rate - - Speed at which the text is spoken - - Pitch - - Affects the tone of the spoken text - - - Language - - Use system language - - Language not selected - - Sets the language-specific voice for the spoken text - - Listen to an example - - Play a short demonstration of speech synthesis - - Install voice data - - Install the voice data required for speech synthesis - - Voices required for speech synthesis already properly installed - - Your settings have changed. This is an example of how they sound. - - The engine you chose can\u2019t run. - - Configure - - Choose another engine - - This speech synthesis engine may be able to collect - all the text that will be spoken, including personal data like passwords and credit - card numbers. It comes from the %s engine. - Enable the use of this speech synthesis engine? - - This language requires a working network connection for text-to-speech output. - - This is an example of speech synthesis - - Default language status - - %1$s is fully supported - - %1$s requires network connection - - %1$s is not supported - - Checking... - - Engines - - %s settings - - %s is enabled - - %s is disabled - - Engine settings - - Settings for %s - - Languages and voices - - Installed - - Not installed - - Female - - Male - - Speech synthesis engine installed - - Enable new engine before use. - - Launch engine settings - - Preferred engine - - General - Power control Updating Wi\u2011Fi setting diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java index 52e1b8ac61a..870cb204f68 100644 --- a/src/com/android/settings/accessibility/AccessibilitySettings.java +++ b/src/com/android/settings/accessibility/AccessibilitySettings.java @@ -127,7 +127,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements private final Runnable mUpdateRunnable = new Runnable() { @Override public void run() { - loadInstalledServices(); updateServicesPreferences(); } }; @@ -162,7 +161,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements new SettingsContentObserver(mHandler) { @Override public void onChange(boolean selfChange, Uri uri) { - loadInstalledServices(); updateServicesPreferences(); } }; @@ -218,7 +216,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements @Override public void onResume() { super.onResume(); - loadInstalledServices(); updateAllPreferences(); mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false); @@ -624,27 +621,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements } } - private void loadInstalledServices() { - Set installedServices = sInstalledServices; - installedServices.clear(); - - List installedServiceInfos = - AccessibilityManager.getInstance(getActivity()) - .getInstalledAccessibilityServiceList(); - if (installedServiceInfos == null) { - return; - } - - final int installedServiceInfoCount = installedServiceInfos.size(); - for (int i = 0; i < installedServiceInfoCount; i++) { - ResolveInfo resolveInfo = installedServiceInfos.get(i).getResolveInfo(); - ComponentName installedService = new ComponentName( - resolveInfo.serviceInfo.packageName, - resolveInfo.serviceInfo.name); - installedServices.add(installedService); - } - } - public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java index e7896e41154..c19e220b376 100644 --- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java @@ -49,10 +49,7 @@ import com.android.settings.widget.ToggleSwitch; import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener; import com.android.settingslib.accessibility.AccessibilityUtils; -import java.util.Collections; -import java.util.HashSet; import java.util.List; -import java.util.Set; public class ToggleAccessibilityServicePreferenceFragment extends ToggleFeaturePreferenceFragment implements DialogInterface.OnClickListener { @@ -102,56 +99,8 @@ public class ToggleAccessibilityServicePreferenceFragment @Override public void onPreferenceToggled(String preferenceKey, boolean enabled) { - // Parse the enabled services. - Set enabledServices = AccessibilityUtils.getEnabledServicesFromSettings( - getActivity()); - - if (enabledServices == (Set) Collections.emptySet()) { - enabledServices = new HashSet(); - } - - // Determine enabled services and accessibility state. ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey); - boolean accessibilityEnabled = false; - if (enabled) { - enabledServices.add(toggledService); - // Enabling at least one service enables accessibility. - accessibilityEnabled = true; - } else { - enabledServices.remove(toggledService); - // Check how many enabled and installed services are present. - Set installedServices = AccessibilitySettings.sInstalledServices; - for (ComponentName enabledService : enabledServices) { - if (installedServices.contains(enabledService)) { - // Disabling the last service disables accessibility. - accessibilityEnabled = true; - break; - } - } - } - - // Update the enabled services setting. - StringBuilder enabledServicesBuilder = new StringBuilder(); - // Keep the enabled services even if they are not installed since we - // have no way to know whether the application restore process has - // completed. In general the system should be responsible for the - // clean up not settings. - for (ComponentName enabledService : enabledServices) { - enabledServicesBuilder.append(enabledService.flattenToString()); - enabledServicesBuilder.append( - AccessibilityUtils.ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR); - } - final int enabledServicesBuilderLength = enabledServicesBuilder.length(); - if (enabledServicesBuilderLength > 0) { - enabledServicesBuilder.deleteCharAt(enabledServicesBuilderLength - 1); - } - Settings.Secure.putString(getContentResolver(), - Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, - enabledServicesBuilder.toString()); - - // Update accessibility enabled. - Settings.Secure.putInt(getContentResolver(), - Settings.Secure.ACCESSIBILITY_ENABLED, accessibilityEnabled ? 1 : 0); + AccessibilityUtils.setAccessibilityServiceState(getActivity(), toggledService, enabled); } // IMPORTANT: Refresh the info since there are dynamically changing