import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
-import android.text.TextUtils.SimpleStringSplitter;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.accessibility.AccessibilityManager;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.accessibility.AccessibilityUtils;
import java.util.ArrayList;
import java.util.HashMap;
private static final float LARGE_FONT_SCALE = 1.3f;
- static final char ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR = ':';
-
// Preference categories
private static final String SERVICES_CATEGORY = "services_category";
private static final String SYSTEM_CATEGORY = "system_category";
private static final long DELAY_UPDATE_SERVICES_MILLIS = 1000;
// Auxiliary members.
- final static SimpleStringSplitter sStringColonSplitter =
- new SimpleStringSplitter(ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR);
-
- static final Set<ComponentName> sInstalledServices = new HashSet<ComponentName>();
+ static final Set<ComponentName> sInstalledServices = new HashSet<>();
- private final Map<String, String> mLongPressTimeoutValuetoTitleMap =
- new HashMap<String, String>();
+ private final Map<String, String> mLongPressTimeoutValuetoTitleMap = new HashMap<>();
private final Configuration mCurConfig = new Configuration();
+++ /dev/null
-/*
- * 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);
- }
- }
-}
import com.android.settings.R;
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;
for (ComponentName enabledService : enabledServices) {
enabledServicesBuilder.append(enabledService.flattenToString());
enabledServicesBuilder.append(
- AccessibilitySettings.ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR);
+ AccessibilityUtils.ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR);
}
final int enabledServicesBuilderLength = enabledServicesBuilder.length();
if (enabledServicesBuilderLength > 0) {