summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/companion/java/com/android/server/companion/CompanionDeviceServiceConnector.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceServiceConnector.java b/services/companion/java/com/android/server/companion/CompanionDeviceServiceConnector.java
index 9bb1fb9ac9f5..a288f7b2993c 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceServiceConnector.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceServiceConnector.java
@@ -119,13 +119,23 @@ class CompanionDeviceServiceConnector extends ServiceConnector.Impl<ICompanionDe
}
}
+ // This method is only called when app is force-closed via settings,
+ // but does not handle crashes. Binder death should be handled in #binderDied()
@Override
public void onBindingDied(@NonNull ComponentName name) {
- // IMPORTANT: call super!
+ // IMPORTANT: call super! this will also invoke binderDied()
super.onBindingDied(name);
if (DEBUG) Log.d(TAG, "onBindingDied() " + mComponentName.toShortString());
+ }
+
+ @Override
+ public void binderDied() {
+ super.binderDied();
+
+ if (DEBUG) Log.d(TAG, "binderDied() " + mComponentName.toShortString());
+ // Handle primary process being killed
if (mListener != null) {
mListener.onBindingDied(mUserId, mComponentName.getPackageName());
}