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

Commit 638d1538 authored by Jayden Kim's avatar Jayden Kim Committed by Android (Google) Code Review
Browse files

Merge "Bug fix of NPE in isTimeoutScanClient()" into tm-qpr-dev

parents e9583770 742fe5b0
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);