summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/app/src/com/android/bluetooth/gatt/AppAdvertiseStats.java49
-rw-r--r--android/app/src/com/android/bluetooth/le_scan/AppScanStats.java193
-rw-r--r--android/app/src/com/android/bluetooth/le_scan/ScanManager.java12
-rw-r--r--android/app/tests/unit/src/com/android/bluetooth/gatt/AppAdvertiseStatsTest.java1
-rw-r--r--android/app/tests/unit/src/com/android/bluetooth/le_scan/ScanManagerTest.java2
-rw-r--r--flags/gap.aconfig7
6 files changed, 108 insertions, 156 deletions
diff --git a/android/app/src/com/android/bluetooth/gatt/AppAdvertiseStats.java b/android/app/src/com/android/bluetooth/gatt/AppAdvertiseStats.java
index d997426cd5..44154b31bd 100644
--- a/android/app/src/com/android/bluetooth/gatt/AppAdvertiseStats.java
+++ b/android/app/src/com/android/bluetooth/gatt/AppAdvertiseStats.java
@@ -35,7 +35,6 @@ import androidx.annotation.VisibleForTesting;
import com.android.bluetooth.BluetoothStatsLog;
import com.android.bluetooth.btservice.MetricsLogger;
-import com.android.bluetooth.flags.Flags;
import java.time.Duration;
import java.time.Instant;
@@ -219,15 +218,13 @@ class AppAdvertiseStats {
}
void recordAdvertiseErrorCount(int status) {
- if (Flags.bleScanAdvMetricsRedesign()) {
- BluetoothStatsLog.write(
- BluetoothStatsLog.LE_ADV_ERROR_REPORTED,
- new int[] {mAppUid},
- new String[] {mAppName},
- BluetoothStatsLog.LE_ADV_ERROR_REPORTED__LE_ADV_OP_CODE__ERROR_CODE_ON_START,
- convertStatusCode(status),
- getAttributionTag());
- }
+ BluetoothStatsLog.write(
+ BluetoothStatsLog.LE_ADV_ERROR_REPORTED,
+ new int[] {mAppUid},
+ new String[] {mAppName},
+ BluetoothStatsLog.LE_ADV_ERROR_REPORTED__LE_ADV_OP_CODE__ERROR_CODE_ON_START,
+ convertStatusCode(status),
+ getAttributionTag());
MetricsLogger.getInstance().cacheCount(BluetoothProtoEnums.LE_ADV_ERROR_ON_START_COUNT, 1);
}
@@ -421,23 +418,21 @@ class AppAdvertiseStats {
}
private void recordAdvertiseEnableCount(boolean enable, int instanceCount, long durationMs) {
- if (Flags.bleScanAdvMetricsRedesign()) {
- MetricsLogger.getInstance()
- .logAdvStateChanged(
- new int[] {mAppUid},
- new String[] {mAppName},
- enable /* enabled */,
- convertAdvInterval(mInterval),
- convertTxPowerLevel(mTxPowerLevel),
- mConnectable,
- mPeriodicAdvertisingEnabled,
- mScanResponseData != null && mScannable /* hasScanResponse */,
- !mLegacy /* isExtendedAdv */,
- instanceCount,
- durationMs,
- mAppImportance,
- getAttributionTag());
- }
+ MetricsLogger.getInstance()
+ .logAdvStateChanged(
+ new int[] {mAppUid},
+ new String[] {mAppName},
+ enable /* enabled */,
+ convertAdvInterval(mInterval),
+ convertTxPowerLevel(mTxPowerLevel),
+ mConnectable,
+ mPeriodicAdvertisingEnabled,
+ mScanResponseData != null && mScannable /* hasScanResponse */,
+ !mLegacy /* isExtendedAdv */,
+ instanceCount,
+ durationMs,
+ mAppImportance,
+ getAttributionTag());
if (enable) {
MetricsLogger.getInstance().cacheCount(BluetoothProtoEnums.LE_ADV_COUNT_ENABLE, 1);
if (mConnectable) {
diff --git a/android/app/src/com/android/bluetooth/le_scan/AppScanStats.java b/android/app/src/com/android/bluetooth/le_scan/AppScanStats.java
index b5090eabd7..07d7209b40 100644
--- a/android/app/src/com/android/bluetooth/le_scan/AppScanStats.java
+++ b/android/app/src/com/android/bluetooth/le_scan/AppScanStats.java
@@ -34,7 +34,6 @@ import com.android.bluetooth.BluetoothStatsLog;
import com.android.bluetooth.Utils.TimeProvider;
import com.android.bluetooth.btservice.AdapterService;
import com.android.bluetooth.btservice.MetricsLogger;
-import com.android.bluetooth.flags.Flags;
import com.android.bluetooth.util.WorkSourceUtil;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
@@ -395,24 +394,22 @@ class AppScanStats {
private void recordScanAppCountMetricsStart(LastScan scan) {
MetricsLogger logger = MetricsLogger.getInstance();
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_COUNT_TOTAL_ENABLE, 1);
- if (Flags.bleScanAdvMetricsRedesign()) {
- logger.logAppScanStateChanged(
- mWorkSourceUtil.getUids(),
- mWorkSourceUtil.getTags(),
- true /* enabled */,
- scan.isFilterScan,
- scan.isCallbackScan,
- convertScanCallbackType(scan.scanCallbackType),
- convertScanType(scan),
- convertScanMode(scan.scanMode),
- scan.reportDelayMillis,
- 0 /* app_scan_duration_ms */,
- mOngoingScans.size(),
- sIsScreenOn,
- isAppDead,
- mAppImportance,
- scan.getAttributionTag());
- }
+ logger.logAppScanStateChanged(
+ mWorkSourceUtil.getUids(),
+ mWorkSourceUtil.getTags(),
+ true /* enabled */,
+ scan.isFilterScan,
+ scan.isCallbackScan,
+ convertScanCallbackType(scan.scanCallbackType),
+ convertScanType(scan),
+ convertScanMode(scan.scanMode),
+ scan.reportDelayMillis,
+ 0 /* app_scan_duration_ms */,
+ mOngoingScans.size(),
+ sIsScreenOn,
+ isAppDead,
+ mAppImportance,
+ scan.getAttributionTag());
if (scan.isAutoBatchScan) {
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_COUNT_AUTO_BATCH_ENABLE, 1);
} else if (scan.isBatchScan) {
@@ -429,24 +426,22 @@ class AppScanStats {
private void recordScanAppCountMetricsStop(LastScan scan) {
MetricsLogger logger = MetricsLogger.getInstance();
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_COUNT_TOTAL_DISABLE, 1);
- if (Flags.bleScanAdvMetricsRedesign()) {
- logger.logAppScanStateChanged(
- mWorkSourceUtil.getUids(),
- mWorkSourceUtil.getTags(),
- false /* enabled */,
- scan.isFilterScan,
- scan.isCallbackScan,
- convertScanCallbackType(scan.scanCallbackType),
- convertScanType(scan),
- convertScanMode(scan.scanMode),
- scan.reportDelayMillis,
- scan.duration,
- mOngoingScans.size(),
- sIsScreenOn,
- isAppDead,
- mAppImportance,
- scan.getAttributionTag());
- }
+ logger.logAppScanStateChanged(
+ mWorkSourceUtil.getUids(),
+ mWorkSourceUtil.getTags(),
+ false /* enabled */,
+ scan.isFilterScan,
+ scan.isCallbackScan,
+ convertScanCallbackType(scan.scanCallbackType),
+ convertScanType(scan),
+ convertScanMode(scan.scanMode),
+ scan.reportDelayMillis,
+ scan.duration,
+ mOngoingScans.size(),
+ sIsScreenOn,
+ isAppDead,
+ mAppImportance,
+ scan.getAttributionTag());
if (scan.isAutoBatchScan) {
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_COUNT_AUTO_BATCH_DISABLE, 1);
} else if (scan.isBatchScan) {
@@ -523,49 +518,43 @@ class AppScanStats {
}
synchronized void recordScanTimeoutCountMetrics(int scannerId, long scanTimeoutMillis) {
- if (Flags.bleScanAdvMetricsRedesign()) {
- BluetoothStatsLog.write(
- BluetoothStatsLog.LE_SCAN_ABUSED,
- mWorkSourceUtil.getUids(),
- mWorkSourceUtil.getTags(),
- convertScanType(getScanFromScannerId(scannerId)),
- BluetoothStatsLog.LE_SCAN_ABUSED__LE_SCAN_ABUSE_REASON__REASON_SCAN_TIMEOUT,
- scanTimeoutMillis,
- getAttributionTagFromScannerId(scannerId));
- }
+ BluetoothStatsLog.write(
+ BluetoothStatsLog.LE_SCAN_ABUSED,
+ mWorkSourceUtil.getUids(),
+ mWorkSourceUtil.getTags(),
+ convertScanType(getScanFromScannerId(scannerId)),
+ BluetoothStatsLog.LE_SCAN_ABUSED__LE_SCAN_ABUSE_REASON__REASON_SCAN_TIMEOUT,
+ scanTimeoutMillis,
+ getAttributionTagFromScannerId(scannerId));
MetricsLogger.getInstance()
.cacheCount(BluetoothProtoEnums.LE_SCAN_ABUSE_COUNT_SCAN_TIMEOUT, 1);
}
synchronized void recordHwFilterNotAvailableCountMetrics(
int scannerId, long numOfFilterSupported) {
- if (Flags.bleScanAdvMetricsRedesign()) {
- BluetoothStatsLog.write(
- BluetoothStatsLog.LE_SCAN_ABUSED,
- mWorkSourceUtil.getUids(),
- mWorkSourceUtil.getTags(),
- convertScanType(getScanFromScannerId(scannerId)),
- BluetoothStatsLog.LE_SCAN_ABUSED__LE_SCAN_ABUSE_REASON__REASON_HW_FILTER_NA,
- numOfFilterSupported,
- getAttributionTagFromScannerId(scannerId));
- }
+ BluetoothStatsLog.write(
+ BluetoothStatsLog.LE_SCAN_ABUSED,
+ mWorkSourceUtil.getUids(),
+ mWorkSourceUtil.getTags(),
+ convertScanType(getScanFromScannerId(scannerId)),
+ BluetoothStatsLog.LE_SCAN_ABUSED__LE_SCAN_ABUSE_REASON__REASON_HW_FILTER_NA,
+ numOfFilterSupported,
+ getAttributionTagFromScannerId(scannerId));
MetricsLogger.getInstance()
.cacheCount(BluetoothProtoEnums.LE_SCAN_ABUSE_COUNT_HW_FILTER_NOT_AVAILABLE, 1);
}
synchronized void recordTrackingHwFilterNotAvailableCountMetrics(
int scannerId, long numOfTrackableAdv) {
- if (Flags.bleScanAdvMetricsRedesign()) {
- BluetoothStatsLog.write(
- BluetoothStatsLog.LE_SCAN_ABUSED,
- mWorkSourceUtil.getUids(),
- mWorkSourceUtil.getTags(),
- convertScanType(getScanFromScannerId(scannerId)),
- BluetoothStatsLog
- .LE_SCAN_ABUSED__LE_SCAN_ABUSE_REASON__REASON_TRACKING_HW_FILTER_NA,
- numOfTrackableAdv,
- getAttributionTagFromScannerId(scannerId));
- }
+ BluetoothStatsLog.write(
+ BluetoothStatsLog.LE_SCAN_ABUSED,
+ mWorkSourceUtil.getUids(),
+ mWorkSourceUtil.getTags(),
+ convertScanType(getScanFromScannerId(scannerId)),
+ BluetoothStatsLog
+ .LE_SCAN_ABUSED__LE_SCAN_ABUSE_REASON__REASON_TRACKING_HW_FILTER_NA,
+ numOfTrackableAdv,
+ getAttributionTagFromScannerId(scannerId));
MetricsLogger.getInstance()
.cacheCount(
BluetoothProtoEnums.LE_SCAN_ABUSE_COUNT_TRACKING_HW_FILTER_NOT_AVAILABLE,
@@ -608,10 +597,6 @@ class AppScanStats {
return false;
}
recordScanRadioDurationMetrics(timeProvider);
- if (!Flags.bleScanAdvMetricsRedesign()) {
- sRadioStartTime = 0;
- sIsRadioStarted = false;
- }
}
return true;
}
@@ -627,21 +612,19 @@ class AppScanStats {
double scanWeight = getScanWeight(sRadioScanMode) * 0.01;
long weightedDuration = (long) (radioScanDuration * scanWeight);
- if (Flags.bleScanAdvMetricsRedesign()) {
- logger.logRadioScanStopped(
- getRadioScanUids(),
- getRadioScanTags(),
- sRadioScanType,
- convertScanMode(sRadioScanMode),
- sRadioScanIntervalMs,
- sRadioScanWindowMs,
- sIsScreenOn,
- radioScanDuration,
- sRadioScanAppImportance,
- getRadioScanAttributionTag());
- sRadioStartTime = 0;
- sIsRadioStarted = false;
- }
+ logger.logRadioScanStopped(
+ getRadioScanUids(),
+ getRadioScanTags(),
+ sRadioScanType,
+ convertScanMode(sRadioScanMode),
+ sRadioScanIntervalMs,
+ sRadioScanWindowMs,
+ sIsScreenOn,
+ radioScanDuration,
+ sRadioScanAppImportance,
+ getRadioScanAttributionTag());
+ sRadioStartTime = 0;
+ sIsRadioStarted = false;
if (weightedDuration > 0) {
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_RADIO_DURATION_REGULAR, weightedDuration);
if (sIsScreenOn) {
@@ -711,16 +694,14 @@ class AppScanStats {
if (!sIsRadioStarted) {
return;
}
- if (Flags.bleScanAdvMetricsRedesign()) {
- BluetoothStatsLog.write(
- BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED,
- getRadioScanUids(),
- getRadioScanTags(),
- 1 /* num_results */,
- BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED__LE_SCAN_TYPE__SCAN_TYPE_REGULAR,
- sIsScreenOn,
- getRadioScanAttributionTag());
- }
+ BluetoothStatsLog.write(
+ BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED,
+ getRadioScanUids(),
+ getRadioScanTags(),
+ 1 /* num_results */,
+ BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED__LE_SCAN_TYPE__SCAN_TYPE_REGULAR,
+ sIsScreenOn,
+ getRadioScanAttributionTag());
MetricsLogger logger = MetricsLogger.getInstance();
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_RESULTS_COUNT_REGULAR, 1);
if (sIsScreenOn) {
@@ -736,16 +717,14 @@ class AppScanStats {
synchronized (sLock) {
isScreenOn = sIsScreenOn;
}
- if (Flags.bleScanAdvMetricsRedesign()) {
- BluetoothStatsLog.write(
- BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED,
- getRadioScanUids(),
- getRadioScanTags(),
- numRecords,
- BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED__LE_SCAN_TYPE__SCAN_TYPE_BATCH,
- sIsScreenOn,
- getRadioScanAttributionTag());
- }
+ BluetoothStatsLog.write(
+ BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED,
+ getRadioScanUids(),
+ getRadioScanTags(),
+ numRecords,
+ BluetoothStatsLog.LE_SCAN_RESULT_RECEIVED__LE_SCAN_TYPE__SCAN_TYPE_BATCH,
+ sIsScreenOn,
+ getRadioScanAttributionTag());
MetricsLogger logger = MetricsLogger.getInstance();
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_RESULTS_COUNT_BATCH_BUNDLE, 1);
logger.cacheCount(BluetoothProtoEnums.LE_SCAN_RESULTS_COUNT_BATCH, numRecords);
diff --git a/android/app/src/com/android/bluetooth/le_scan/ScanManager.java b/android/app/src/com/android/bluetooth/le_scan/ScanManager.java
index f2e1799921..e31bd36bbb 100644
--- a/android/app/src/com/android/bluetooth/le_scan/ScanManager.java
+++ b/android/app/src/com/android/bluetooth/le_scan/ScanManager.java
@@ -1292,18 +1292,6 @@ public class ScanManager {
&& client.mSettings.getScanMode() != ScanSettings.SCAN_MODE_OPPORTUNISTIC) {
Log.d(TAG, "start gattClientScanNative from startRegularScan()");
mNativeInterface.gattClientScan(true);
- if (!Flags.bleScanAdvMetricsRedesign()) {
- if (client.mStats != null
- && !AppScanStats.recordScanRadioStart(
- client.mScanModeApp,
- client.mScannerId,
- client.mStats,
- getScanWindowMillis(client.mSettings),
- getScanIntervalMillis(client.mSettings),
- mTimeProvider)) {
- Log.w(TAG, "Scan radio already started");
- }
- }
}
}
diff --git a/android/app/tests/unit/src/com/android/bluetooth/gatt/AppAdvertiseStatsTest.java b/android/app/tests/unit/src/com/android/bluetooth/gatt/AppAdvertiseStatsTest.java
index 01c4000778..e2bcfb75e2 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/gatt/AppAdvertiseStatsTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/gatt/AppAdvertiseStatsTest.java
@@ -305,7 +305,6 @@ public class AppAdvertiseStatsTest {
}
@Test
- @EnableFlags(Flags.FLAG_BLE_SCAN_ADV_METRICS_REDESIGN)
public void testAdvertiseCounterMetrics() {
int appUid = 0;
int id = 1;
diff --git a/android/app/tests/unit/src/com/android/bluetooth/le_scan/ScanManagerTest.java b/android/app/tests/unit/src/com/android/bluetooth/le_scan/ScanManagerTest.java
index 7059517c66..54a3679ee6 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/le_scan/ScanManagerTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/le_scan/ScanManagerTest.java
@@ -1227,7 +1227,6 @@ public class ScanManagerTest {
}
@Test
- @EnableFlags(Flags.FLAG_BLE_SCAN_ADV_METRICS_REDESIGN)
public void testMetricsAppScanScreenOn() {
// Set filtered scan flag
final boolean isFiltered = true;
@@ -1324,7 +1323,6 @@ public class ScanManagerTest {
}
@Test
- @EnableFlags(Flags.FLAG_BLE_SCAN_ADV_METRICS_REDESIGN)
public void testMetricsRadioScanScreenOnOffMultiScan() {
// Set filtered scan flag
final boolean isFiltered = true;
diff --git a/flags/gap.aconfig b/flags/gap.aconfig
index d12e294ec7..4a03337332 100644
--- a/flags/gap.aconfig
+++ b/flags/gap.aconfig
@@ -30,13 +30,6 @@ flag {
}
flag {
- name: "ble_scan_adv_metrics_redesign"
- namespace: "bluetooth"
- description: "Reimplement BLE scan and advertisement metrics logging."
- bug: "328303508"
-}
-
-flag {
name: "msft_addr_tracking_quirk"
namespace: "bluetooth"
description: "Scanning with MSFT paddress tracking for Realtek BT controllers"