Re-connect to the CDM service if process gets killed

If an app gets force stopped, we want to revive it

Bug: 181344542
Test: presubmit
Change-Id: If89fe8e8302b3f7566a8f38c2622790e68140cb3
This commit is contained in:
Eugene Susla
2021-04-07 08:53:02 -07:00
parent 6c84cf58d9
commit a98efadb48

View File

@@ -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);
}
};
}