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

Commit 2769ca76 authored by Diya Bera's avatar Diya Bera
Browse files

Mark cancel when client is interruptable

Marks the operation canceling only is it is interruptable or if it is
triggered by the watchdog.

Test: atest BiometricSchedulerOperationTest
Bug: 280045171
Change-Id: I39ecf8c04c0a888975c9f0946ece00e37a392266
parent eb6d0c35
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -555,7 +555,7 @@ public class BiometricScheduler {
        for (BiometricSchedulerOperation pendingOperation : mPendingOperations) {
            Slog.d(getTag(), "[Watchdog cancelling pending] "
                    + pendingOperation.getClientMonitor());
            pendingOperation.markCanceling();
            pendingOperation.markCancelingForWatchdog();
        }
        Slog.d(getTag(), "[Watchdog cancelling current] "
                + mCurrentOperation.getClientMonitor());
+5 −1
Original line number Diff line number Diff line
@@ -267,13 +267,17 @@ public class BiometricSchedulerOperation {

    /** Flags this operation as canceled, if possible, but does not cancel it until started. */
    public boolean markCanceling() {
        if (mState == STATE_WAITING_IN_QUEUE) {
        if (mState == STATE_WAITING_IN_QUEUE && isInterruptable()) {
            mState = STATE_WAITING_IN_QUEUE_CANCELING;
            return true;
        }
        return false;
    }

    @VisibleForTesting void markCancelingForWatchdog() {
        mState = STATE_WAITING_IN_QUEUE_CANCELING;
    }

    /**
     * Cancel the operation now.
     *
+184 −153

File changed.

Preview size limit exceeded, changes collapsed.