Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43c9dd10 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android (Google) Code Review
Browse files

Merge "Bug 3292797. Talkback accessibility doesn't work at times."

parents 6ecf3d16 51f36f2d
Loading
Loading
Loading
Loading
+5 −16
Original line number Diff line number Diff line
@@ -240,10 +240,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
                public void onChange(boolean selfChange) {
                    super.onChange(selfChange);

                    synchronized (mLock) {
                        mIsEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
                                Settings.Secure.ACCESSIBILITY_ENABLED, 0) == 1;

                    synchronized (mLock) {
                        if (mIsEnabled) {
                            manageServicesLocked();
                        } else {
@@ -452,9 +451,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
        } catch (RemoteException re) {
            if (re instanceof DeadObjectException) {
                Slog.w(LOG_TAG, "Dead " + service.mService + ". Cleaning up.");
                synchronized (mLock) {
                removeDeadServiceLocked(service);
                }
            } else {
                Slog.e(LOG_TAG, "Error during sending " + event + " to " + service.mService, re);
            }
@@ -468,19 +465,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
     * @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);
    }

    /**