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

Commit 0be607cd authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Avoid runtime restart after vold reconnects.

Rely on behavior of already-released CountDownLatch instead of
clearing the reference.

Bug: 7290521
Change-Id: I787e673b97d18be412d5b37e279fbf1275b49151
parent 0349ae92
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -198,8 +198,8 @@ class MountService extends IMountService.Stub
    // Used as a lock for methods that register/unregister listeners.
    final private ArrayList<MountServiceBinderListener> mListeners =
            new ArrayList<MountServiceBinderListener>();
    private CountDownLatch                        mConnectedSignal = new CountDownLatch(1);
    private CountDownLatch                        mAsecsScanned = new CountDownLatch(1);
    private final CountDownLatch mConnectedSignal = new CountDownLatch(1);
    private final CountDownLatch mAsecsScanned = new CountDownLatch(1);
    private boolean                               mSendUmsConnectedOnBoot = false;

    /**
@@ -495,10 +495,6 @@ class MountService extends IMountService.Stub
    }

    private void waitForLatch(CountDownLatch latch) {
        if (latch == null) {
            return;
        }

        for (;;) {
            try {
                if (latch.await(5000, TimeUnit.MILLISECONDS)) {
@@ -738,14 +734,12 @@ class MountService extends IMountService.Stub
                 * the hounds!
                 */
                mConnectedSignal.countDown();
                mConnectedSignal = null;

                // Let package manager load internal ASECs.
                mPms.scanAvailableAsecs();

                // Notify people waiting for ASECs to be scanned that it's done.
                mAsecsScanned.countDown();
                mAsecsScanned = null;
            }
        }.start();
    }