Move AccessibilityUtils to SettingsLib
Change-Id: I1ad6b89e6dce1f7cad337b49774694f16479342b
This commit is contained in:
@@ -38,7 +38,6 @@ import android.support.v7.preference.Preference;
|
|||||||
import android.support.v7.preference.PreferenceCategory;
|
import android.support.v7.preference.PreferenceCategory;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.text.TextUtils.SimpleStringSplitter;
|
|
||||||
import android.view.KeyCharacterMap;
|
import android.view.KeyCharacterMap;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.accessibility.AccessibilityManager;
|
import android.view.accessibility.AccessibilityManager;
|
||||||
@@ -54,6 +53,7 @@ import com.android.settings.Utils;
|
|||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.search.Indexable;
|
import com.android.settings.search.Indexable;
|
||||||
import com.android.settings.search.SearchIndexableRaw;
|
import com.android.settings.search.SearchIndexableRaw;
|
||||||
|
import com.android.settingslib.accessibility.AccessibilityUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -70,8 +70,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
|
|
||||||
private static final float LARGE_FONT_SCALE = 1.3f;
|
private static final float LARGE_FONT_SCALE = 1.3f;
|
||||||
|
|
||||||
static final char ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR = ':';
|
|
||||||
|
|
||||||
// Preference categories
|
// Preference categories
|
||||||
private static final String SERVICES_CATEGORY = "services_category";
|
private static final String SERVICES_CATEGORY = "services_category";
|
||||||
private static final String SYSTEM_CATEGORY = "system_category";
|
private static final String SYSTEM_CATEGORY = "system_category";
|
||||||
@@ -118,13 +116,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
private static final long DELAY_UPDATE_SERVICES_MILLIS = 1000;
|
private static final long DELAY_UPDATE_SERVICES_MILLIS = 1000;
|
||||||
|
|
||||||
// Auxiliary members.
|
// Auxiliary members.
|
||||||
final static SimpleStringSplitter sStringColonSplitter =
|
static final Set<ComponentName> sInstalledServices = new HashSet<>();
|
||||||
new SimpleStringSplitter(ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR);
|
|
||||||
|
|
||||||
static final Set<ComponentName> sInstalledServices = new HashSet<ComponentName>();
|
private final Map<String, String> mLongPressTimeoutValuetoTitleMap = new HashMap<>();
|
||||||
|
|
||||||
private final Map<String, String> mLongPressTimeoutValuetoTitleMap =
|
|
||||||
new HashMap<String, String>();
|
|
||||||
|
|
||||||
private final Configuration mCurConfig = new Configuration();
|
private final Configuration mCurConfig = new Configuration();
|
||||||
|
|
||||||
|
@@ -1,78 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.android.settings.accessibility;
|
|
||||||
|
|
||||||
import android.content.ComponentName;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.res.Configuration;
|
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.provider.Settings;
|
|
||||||
import android.text.TextUtils.SimpleStringSplitter;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Utility methods used within accessibility settings.
|
|
||||||
*/
|
|
||||||
class AccessibilityUtils {
|
|
||||||
/**
|
|
||||||
* @return the set of enabled accessibility services. If there are not services
|
|
||||||
* it returned the unmodifiable {@link Collections#emptySet()}.
|
|
||||||
*/
|
|
||||||
static Set<ComponentName> getEnabledServicesFromSettings(Context context) {
|
|
||||||
final String enabledServicesSetting = Settings.Secure.getString(
|
|
||||||
context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
|
|
||||||
if (enabledServicesSetting == null) {
|
|
||||||
return Collections.emptySet();
|
|
||||||
}
|
|
||||||
|
|
||||||
final Set<ComponentName> enabledServices = new HashSet<ComponentName>();
|
|
||||||
final SimpleStringSplitter colonSplitter = AccessibilitySettings.sStringColonSplitter;
|
|
||||||
colonSplitter.setString(enabledServicesSetting);
|
|
||||||
|
|
||||||
while (colonSplitter.hasNext()) {
|
|
||||||
final String componentNameString = colonSplitter.next();
|
|
||||||
final ComponentName enabledService = ComponentName.unflattenFromString(
|
|
||||||
componentNameString);
|
|
||||||
if (enabledService != null) {
|
|
||||||
enabledServices.add(enabledService);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return enabledServices;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return a localized version of the text resource specified by resId
|
|
||||||
*/
|
|
||||||
static CharSequence getTextForLocale(Context context, Locale locale, int resId) {
|
|
||||||
final Resources res = context.getResources();
|
|
||||||
final Configuration config = res.getConfiguration();
|
|
||||||
final Locale prevLocale = config.locale;
|
|
||||||
try {
|
|
||||||
config.locale = locale;
|
|
||||||
res.updateConfiguration(config, null);
|
|
||||||
return res.getText(resId);
|
|
||||||
} finally {
|
|
||||||
config.locale = prevLocale;
|
|
||||||
res.updateConfiguration(config, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -44,6 +44,7 @@ import com.android.settings.accessibility.ListDialogPreference.OnValueChangedLis
|
|||||||
import com.android.settings.widget.SwitchBar;
|
import com.android.settings.widget.SwitchBar;
|
||||||
import com.android.settings.widget.ToggleSwitch;
|
import com.android.settings.widget.ToggleSwitch;
|
||||||
import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
|
import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
|
||||||
|
import com.android.settingslib.accessibility.AccessibilityUtils;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
@@ -47,6 +47,7 @@ import com.android.settings.ConfirmDeviceCredentialActivity;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.widget.ToggleSwitch;
|
import com.android.settings.widget.ToggleSwitch;
|
||||||
import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
|
import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
|
||||||
|
import com.android.settingslib.accessibility.AccessibilityUtils;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -138,7 +139,7 @@ public class ToggleAccessibilityServicePreferenceFragment
|
|||||||
for (ComponentName enabledService : enabledServices) {
|
for (ComponentName enabledService : enabledServices) {
|
||||||
enabledServicesBuilder.append(enabledService.flattenToString());
|
enabledServicesBuilder.append(enabledService.flattenToString());
|
||||||
enabledServicesBuilder.append(
|
enabledServicesBuilder.append(
|
||||||
AccessibilitySettings.ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR);
|
AccessibilityUtils.ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR);
|
||||||
}
|
}
|
||||||
final int enabledServicesBuilderLength = enabledServicesBuilder.length();
|
final int enabledServicesBuilderLength = enabledServicesBuilder.length();
|
||||||
if (enabledServicesBuilderLength > 0) {
|
if (enabledServicesBuilderLength > 0) {
|
||||||
|
Reference in New Issue
Block a user