diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2010-12-28 15:48:52 -0800 |
---|---|---|
committer | Svetoslav Ganov <svetoslavganov@google.com> | 2010-12-28 15:50:32 -0800 |
commit | f2245aa5d7f5d6f0ea6d55fb2acc66624b2ef13f (patch) | |
tree | d75e190fe95f876b4ab86393c3ef63771d3ad939 | |
parent | e51f94cfe9f97e13dad0e564dfc92b22e70c296d (diff) | |
download | frameworks_base-f2245aa5d7f5d6f0ea6d55fb2acc66624b2ef13f.zip frameworks_base-f2245aa5d7f5d6f0ea6d55fb2acc66624b2ef13f.tar.gz frameworks_base-f2245aa5d7f5d6f0ea6d55fb2acc66624b2ef13f.tar.bz2 |
3304011 At times Talkback still works after disabling it.
Change-Id: If99ef28c6285a2d290d46518a07d69d5e22cca5b
-rw-r--r-- | services/java/com/android/server/AccessibilityManagerService.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/services/java/com/android/server/AccessibilityManagerService.java b/services/java/com/android/server/AccessibilityManagerService.java index d38522c..77b6dd0 100644 --- a/services/java/com/android/server/AccessibilityManagerService.java +++ b/services/java/com/android/server/AccessibilityManagerService.java @@ -587,15 +587,17 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub intalledService.name); Service service = componentNameToServiceMap.get(componentName); - if (isEnabled && enabledServices.contains(componentName)) { - if (service == null) { + if (isEnabled) { + if (enabledServices.contains(componentName) && service == null) { new Service(componentName).bind(); + } else if (!enabledServices.contains(componentName) && service != null) { + // clean up done in Service#onServiceDisconnected + service.unbind(); } } else { if (service != null) { + // clean up done in Service#onServiceDisconnected service.unbind(); - componentNameToServiceMap.remove(componentName); - services.remove(service); } } } |