diff options
| -rw-r--r-- | services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index e9b2ed30aa09..55490ce6825b 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -154,6 +154,8 @@ public class CompanionDeviceManagerService extends SystemService implements Bind private static final long DEVICE_DISAPPEARED_TIMEOUT_MS = 10 * 1000; private static final long DEVICE_DISAPPEARED_UNBIND_TIMEOUT_MS = 10 * 60 * 1000; + private static final long DEVICE_LISTENER_DIED_REBIND_TIMEOUT_MS = 10 * 1000; + private static final boolean DEBUG = false; private static final String LOG_TAG = "CompanionDeviceManagerService"; @@ -1131,6 +1133,14 @@ public class CompanionDeviceManagerService extends SystemService implements Bind // Service binding is managed manually based on corresponding device being nearby return Long.MAX_VALUE; } + + @Override + public void binderDied() { + super.binderDied(); + + // Re-connect to the service if process gets killed + mMainHandler.postDelayed(this::connect, DEVICE_LISTENER_DIED_REBIND_TIMEOUT_MS); + } }; } |