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

Commit 325916c2 authored by Liang Li's avatar Liang Li Committed by lianglli
Browse files

Add null check for sRadioScanWorkSourceUtil

Bug: 326310753
Bug: 357742143
Bug: 328303508

Test: m com.android.btservices
Change-Id: I72aade3826e613372d2324d1c0244e5019e03226
parent 758055f8
Loading
Loading
Loading
Loading
+22 −6
Original line number Diff line number Diff line
@@ -619,8 +619,8 @@ public class AppScanStats {

        if (Flags.bleScanAdvMetricsRedesign()) {
            logger.logRadioScanStopped(
                    sRadioScanWorkSourceUtil.getUids(),
                    sRadioScanWorkSourceUtil.getTags(),
                    getRadioScanUids(),
                    getRadioScanTags(),
                    sRadioScanType,
                    convertScanMode(sRadioScanMode),
                    sRadioScanIntervalMs,
@@ -644,6 +644,22 @@ public class AppScanStats {
        }
    }

    private static int[] getRadioScanUids() {
        synchronized (sLock) {
            return sRadioScanWorkSourceUtil != null
                    ? sRadioScanWorkSourceUtil.getUids()
                    : new int[] {0};
        }
    }

    private static String[] getRadioScanTags() {
        synchronized (sLock) {
            return sRadioScanWorkSourceUtil != null
                    ? sRadioScanWorkSourceUtil.getTags()
                    : new String[] {""};
        }
    }

    @GuardedBy("sLock")
    private static void recordScreenOnOffMetrics(boolean isScreenOn) {
        if (isScreenOn) {
@@ -680,8 +696,8 @@ public class AppScanStats {
            if (Flags.bleScanAdvMetricsRedesign()) {
                BluetoothStatsLog.write(
                        BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED,
                        sRadioScanWorkSourceUtil.getUids(),
                        sRadioScanWorkSourceUtil.getTags(),
                        getRadioScanUids(),
                        getRadioScanTags(),
                        1 /* num_results */,
                        BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED__LE_SCAN_TYPE__SCAN_TYPE_REGULAR,
                        sIsScreenOn);
@@ -704,8 +720,8 @@ public class AppScanStats {
        if (Flags.bleScanAdvMetricsRedesign()) {
            BluetoothStatsLog.write(
                    BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED,
                    sRadioScanWorkSourceUtil.getUids(),
                    sRadioScanWorkSourceUtil.getTags(),
                    getRadioScanUids(),
                    getRadioScanTags(),
                    numRecords,
                    BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED__LE_SCAN_TYPE__SCAN_TYPE_BATCH,
                    sIsScreenOn);