summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Svetoslav Ganov <svetoslavganov@google.com> 2012-10-03 16:30:31 -0700
committer Svetoslav Ganov <svetoslavganov@google.com> 2012-10-03 16:37:54 -0700
commitd288337cd4476b6bcfe416558924f5984984509a (patch)
tree39e69d3fd8fcb20dc84c3165db5cc12a71b375a0
parent26884df75c69587561e397ec4da6b5b463e37fe9 (diff)
Exception when performing the global gestrue to enable accessibility.
1. If there is a non-speaking accessibility service installed and the global gesture is performed an exception is thrown since an attempt is made to modify the list with services returned by the accessibility manager (to remove the non-speaking ones) but this list is immutable. Now the returned services are put into a mutable list before removing the non-speaking ones. bug:7280996 Change-Id: I2852a3e169c1d34d942b50fb439e0961394c92bc
-rw-r--r--policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java b/policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java
index 889463b7eec0..71b0d53572d2 100644
--- a/policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java
+++ b/policy/src/com/android/internal/policy/impl/EnableAccessibilityController.java
@@ -40,6 +40,7 @@ import android.view.accessibility.IAccessibilityManager;
import com.android.internal.R;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -131,8 +132,9 @@ public class EnableAccessibilityController {
private static List<AccessibilityServiceInfo> getInstalledSpeakingAccessibilityServices(
Context context) {
- List<AccessibilityServiceInfo> services = AccessibilityManager.getInstance(
- context).getInstalledAccessibilityServiceList();
+ List<AccessibilityServiceInfo> services = new ArrayList<AccessibilityServiceInfo>();
+ services.addAll(AccessibilityManager.getInstance(context)
+ .getInstalledAccessibilityServiceList());
Iterator<AccessibilityServiceInfo> iterator = services.iterator();
while (iterator.hasNext()) {
AccessibilityServiceInfo service = iterator.next();