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

Commit 2c400837 authored by Joe Bolinger's avatar Joe Bolinger
Browse files

Execute show overlay method immediatly.

Prevents the server request from being reset in an interleaved operation.

Fix: 189289808
Test: manual (did not crash)
Change-Id: I0c5b197937ead40f87e9cd245b4483727fb720da
parent 0954cfe6
Loading
Loading
Loading
Loading
+31 −28
Original line number Diff line number Diff line
@@ -596,8 +596,10 @@ public class UdfpsController implements DozeReceiver {
    }

    private void updateOverlay() {
        mExecution.assertIsMainThread();

        if (mServerRequest != null) {
            showUdfpsOverlay(mServerRequest.mRequestReason);
            showUdfpsOverlay(mServerRequest);
        } else {
            hideUdfpsOverlay();
        }
@@ -658,8 +660,10 @@ public class UdfpsController implements DozeReceiver {
        updateOverlay();
    }

    private void showUdfpsOverlay(int reason) {
        mFgExecutor.execute(() -> {
    private void showUdfpsOverlay(@NonNull ServerRequest request) {
        mExecution.assertIsMainThread();

        final int reason = request.mRequestReason;
        if (mView == null) {
            try {
                Log.v(TAG, "showUdfpsOverlay | adding window reason=" + reason);
@@ -687,7 +691,6 @@ public class UdfpsController implements DozeReceiver {
        } else {
            Log.v(TAG, "showUdfpsOverlay | the overlay is already showing");
        }
        });
    }

    private UdfpsAnimationViewController inflateUdfpsAnimation(int reason) {