Fix a crash in accessibiility settings.

Change-Id: I27920668191742ab032de7b71c8f71cc35432e9f
This commit is contained in:
Svetoslav
2013-08-08 12:35:36 -07:00
parent 88afb32fc6
commit 3f257c4dfb
2 changed files with 8 additions and 1 deletions

View File

@@ -33,7 +33,8 @@ import java.util.Set;
*/ */
class AccessibilityUtils { class AccessibilityUtils {
/** /**
* @return the set of enabled accessibility services * @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) { static Set<ComponentName> getEnabledServicesFromSettings(Context context) {
final String enabledServicesSetting = Settings.Secure.getString( final String enabledServicesSetting = Settings.Secure.getString(

View File

@@ -39,6 +39,8 @@ import android.widget.TextView;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.accessibility.ToggleSwitch.OnBeforeCheckedChangeListener; import com.android.settings.accessibility.ToggleSwitch.OnBeforeCheckedChangeListener;
import java.util.Collections;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@@ -81,6 +83,10 @@ public class ToggleAccessibilityServicePreferenceFragment
Set<ComponentName> enabledServices = AccessibilityUtils.getEnabledServicesFromSettings( Set<ComponentName> enabledServices = AccessibilityUtils.getEnabledServicesFromSettings(
getActivity()); getActivity());
if (enabledServices == (Set<?>) Collections.emptySet()) {
enabledServices = new HashSet<ComponentName>();
}
// Determine enabled services and accessibility state. // Determine enabled services and accessibility state.
ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey); ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey);
boolean accessibilityEnabled = false; boolean accessibilityEnabled = false;