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

Commit fc23a9d3 authored by Omair Kamil's avatar Omair Kamil Committed by Gerrit Code Review
Browse files

Merge "Log attribution tag for last scans in dumpsys." into main

parents 8dd628b4 c28ac667
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.bluetooth.le_scan;

import android.annotation.Nullable;
import android.bluetooth.BluetoothProtoEnums;
import android.bluetooth.le.ScanFilter;
import android.bluetooth.le.ScanSettings;
@@ -104,6 +105,7 @@ public class AppScanStats {
        public int scanMode;
        public int scanCallbackType;
        public StringBuilder filterString;
        @Nullable public String attributionTag;

        LastScan(
                long timestamp,
@@ -112,7 +114,8 @@ public class AppScanStats {
                boolean isCallbackScan,
                int scannerId,
                int scanMode,
                int scanCallbackType) {
                int scanCallbackType,
                @Nullable String attributionTag) {
            this.duration = 0;
            this.timestamp = timestamp;
            this.reportDelayMillis = reportDelayMillis;
@@ -126,6 +129,7 @@ public class AppScanStats {
            this.isAutoBatchScan = false;
            this.scanMode = scanMode;
            this.scanCallbackType = scanCallbackType;
            this.attributionTag = attributionTag;
            this.results = 0;
            this.scannerId = scannerId;
            this.suspendDuration = 0;
@@ -239,7 +243,8 @@ public class AppScanStats {
            List<ScanFilter> filters,
            boolean isFilterScan,
            boolean isCallbackScan,
            int scannerId) {
            int scannerId,
            @Nullable String attributionTag) {
        LastScan existingScan = getScanFromScannerId(scannerId);
        if (existingScan != null) {
            return;
@@ -255,7 +260,8 @@ public class AppScanStats {
                        isCallbackScan,
                        scannerId,
                        settings.getScanMode(),
                        settings.getCallbackType());
                        settings.getCallbackType(),
                        attributionTag);
        if (settings != null) {
            scan.isOpportunisticScan = scan.scanMode == ScanSettings.SCAN_MODE_OPPORTUNISTIC;
            scan.isBackgroundScan =
@@ -1065,6 +1071,9 @@ public class AppScanStats {
                }
                sb.append(scan.results).append(" results");
                sb.append(" (").append(scan.scannerId).append(") ");
                if (scan.attributionTag != null) {
                    sb.append(" [").append(scan.attributionTag).append("] ");
                }
                if (scan.isCallbackScan) {
                    sb.append("CB ");
                } else {
+13 −2
Original line number Diff line number Diff line
@@ -1246,7 +1246,13 @@ public class TransitionalScanHelper {
            if (cbApp != null) {
                isCallbackScan = cbApp.mCallback != null;
            }
            app.recordScanStart(settings, filters, isFilteredScan, isCallbackScan, scannerId);
            app.recordScanStart(
                    settings,
                    filters,
                    isFilteredScan,
                    isCallbackScan,
                    scannerId,
                    cbApp == null ? null : cbApp.mAttributionTag);
        }

        mScanManager.startScan(scanClient);
@@ -1353,7 +1359,12 @@ public class TransitionalScanHelper {
            scanClient.stats = scanStats;
            boolean isFilteredScan = (piInfo.filters != null) && !piInfo.filters.isEmpty();
            scanStats.recordScanStart(
                    piInfo.settings, piInfo.filters, isFilteredScan, false, scannerId);
                    piInfo.settings,
                    piInfo.filters,
                    isFilteredScan,
                    false,
                    scannerId,
                    app.mAttributionTag);
        }

        mScanManager.startScan(scanClient);
+2 −1
Original line number Diff line number Diff line
@@ -112,7 +112,8 @@ public class AppScanStatsTest {
        boolean isCallbackScan = false;
        int scannerId = 0;

        appScanStats.recordScanStart(settings, filters, isFilterScan, isCallbackScan, scannerId);
        appScanStats.recordScanStart(
                settings, filters, isFilterScan, isCallbackScan, scannerId, "tag");
        appScanStats.isRegistered = true;

        StringBuilder stringBuilder = new StringBuilder();
+2 −2
Original line number Diff line number Diff line
@@ -291,7 +291,7 @@ public class ScanManagerTest {

        ScanClient client = new ScanClient(id, scanSettings, scanFilterList, appUid);
        client.stats = appScanStats;
        client.stats.recordScanStart(scanSettings, scanFilterList, isFiltered, false, id);
        client.stats.recordScanStart(scanSettings, scanFilterList, isFiltered, false, id, null);
        return client;
    }

@@ -389,7 +389,7 @@ public class ScanManagerTest {

        ScanClient client = new ScanClient(id, scanSettings, scanFilterList);
        client.stats = mMockAppScanStats;
        client.stats.recordScanStart(scanSettings, scanFilterList, isFiltered, false, id);
        client.stats.recordScanStart(scanSettings, scanFilterList, isFiltered, false, id, null);
        return client;
    }

+2 −2
Original line number Diff line number Diff line
@@ -174,7 +174,7 @@ public class TransitionalScanHelperTest {
        mScanHelper.continuePiStartScan(scannerId, mApp);

        verify(appScanStats)
                .recordScanStart(mPiInfo.settings, mPiInfo.filters, false, false, scannerId);
                .recordScanStart(mPiInfo.settings, mPiInfo.filters, false, false, scannerId, null);
        verify(mScanManager).startScan(any());
    }

@@ -192,7 +192,7 @@ public class TransitionalScanHelperTest {
        mScanHelper.continuePiStartScan(scannerId, mApp);

        verify(appScanStats)
                .recordScanStart(mPiInfo.settings, mPiInfo.filters, false, false, scannerId);
                .recordScanStart(mPiInfo.settings, mPiInfo.filters, false, false, scannerId, null);
        verify(mScanManager)
                .startScan(
                        argThat(
Loading