diff options
-rw-r--r-- | services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java index 6cba3633b940..41733221cde1 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java @@ -310,6 +310,16 @@ class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnect } @Override + public void onNullBinding(ComponentName componentName) { + // Per guidance from ServiceConnection we must call Context#unbindService here to + // release the tracking resources associated with the ServiceConnection, to prevent + // Background Activity Launches (BAL). + synchronized (mLock) { + unbindLocked(); + } + } + + @Override protected boolean hasRightsToCurrentUserLocked() { // We treat calls from a profile as if made by its parent as profiles // share the accessibility state of the parent. The call below |