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

Commit a98efadb authored by Eugene Susla's avatar Eugene Susla
Browse files

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
parent 6c84cf58
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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);
            }
        };
    }