Merge "Bug 3292797. Talkback accessibility doesn't work at times."
diff --git a/services/java/com/android/server/AccessibilityManagerService.java b/services/java/com/android/server/AccessibilityManagerService.java
index 83ce3e3..d38522c 100644
--- a/services/java/com/android/server/AccessibilityManagerService.java
+++ b/services/java/com/android/server/AccessibilityManagerService.java
@@ -240,10 +240,9 @@
public void onChange(boolean selfChange) {
super.onChange(selfChange);
- mIsEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_ENABLED, 0) == 1;
-
synchronized (mLock) {
+ mIsEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_ENABLED, 0) == 1;
if (mIsEnabled) {
manageServicesLocked();
} else {
@@ -452,9 +451,7 @@
} catch (RemoteException re) {
if (re instanceof DeadObjectException) {
Slog.w(LOG_TAG, "Dead " + service.mService + ". Cleaning up.");
- synchronized (mLock) {
- removeDeadServiceLocked(service);
- }
+ removeDeadServiceLocked(service);
} else {
Slog.e(LOG_TAG, "Error during sending " + event + " to " + service.mService, re);
}
@@ -468,19 +465,11 @@
* @return True if the service was removed, false otherwise.
*/
private boolean removeDeadServiceLocked(Service service) {
- mServices.remove(service);
- mHandler.removeMessages(service.mId);
-
if (Config.DEBUG) {
Slog.i(LOG_TAG, "Dead service " + service.mService + " removed");
}
-
- if (mServices.isEmpty()) {
- mIsEnabled = false;
- updateClientsLocked();
- }
-
- return true;
+ mHandler.removeMessages(service.mId);
+ return mServices.remove(service);
}
/**