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

Commit 516ddb6d authored by Jayden Kim's avatar Jayden Kim Committed by Gerrit Code Review
Browse files

Merge "Bug fix of NPE in isTimeoutScanClient()"

parents b5fd32c8 05f6dc00
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -163,14 +163,22 @@ import java.util.Objects;
        results++;
    }

    boolean isScanning() {
    synchronized boolean isScanning() {
        return !mOngoingScans.isEmpty();
    }

    LastScan getScanFromScannerId(int scannerId) {
    synchronized LastScan getScanFromScannerId(int scannerId) {
        return mOngoingScans.get(scannerId);
    }

    synchronized boolean isScanTimeout(int scannerId) {
        LastScan onGoingScan = getScanFromScannerId(scannerId);
        if (onGoingScan == null) {
            return false;
        }
        return onGoingScan.isTimeout;
    }

    synchronized void recordScanStart(ScanSettings settings, List<ScanFilter> filters,
            boolean isFilterScan, boolean isCallbackScan, int scannerId) {
        LastScan existingScan = getScanFromScannerId(scannerId);
+1 −3
Original line number Diff line number Diff line
@@ -905,9 +905,7 @@ public class ScanManager {
        }

        private boolean isTimeoutScanClient(ScanClient client) {
            return (client.stats != null)
                    && (client.stats.getScanFromScannerId(client.scannerId) != null)
                    && (client.stats.getScanFromScannerId(client.scannerId).isTimeout);
            return (client.stats != null) && client.stats.isScanTimeout(client.scannerId);
        }

        private boolean isFirstMatchScanClient(ScanClient client) {
+2 −2
Original line number Diff line number Diff line
@@ -427,7 +427,7 @@ public class ScanManagerTest {
            // Wait for scan timeout
            testSleep(DELAY_SCAN_TIMEOUT_MS + DELAY_ASYNC_MS);
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
            assertThat(client.stats.getScanFromScannerId(client.scannerId).isTimeout).isTrue();
            assertThat(client.stats.isScanTimeout(client.scannerId)).isTrue();
            // Turn off screen
            sendMessageWaitForProcessed(createScreenOnOffMessage(false));
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
@@ -472,7 +472,7 @@ public class ScanManagerTest {
            // Wait for scan timeout
            testSleep(DELAY_SCAN_TIMEOUT_MS + DELAY_ASYNC_MS);
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
            assertThat(client.stats.getScanFromScannerId(client.scannerId).isTimeout).isTrue();
            assertThat(client.stats.isScanTimeout(client.scannerId)).isTrue();
            // Turn off screen
            sendMessageWaitForProcessed(createScreenOnOffMessage(false));
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);