Bug fix for UWB start event logging when it fails
Test: atest com.android.server.uwb
Bug: 236175866
Change-Id: I875aecc67f0ffe3ac1989f02eb0c2fa1858b6648
diff --git a/service/java/com/android/server/uwb/UwbMetrics.java b/service/java/com/android/server/uwb/UwbMetrics.java
index f2302ab..87dcbc8 100644
--- a/service/java/com/android/server/uwb/UwbMetrics.java
+++ b/service/java/com/android/server/uwb/UwbMetrics.java
@@ -280,18 +280,18 @@
return;
}
session.mStartCount++;
+ session.convertRangingStatus(status);
+ UwbStatsLog.write(UwbStatsLog.UWB_RANGING_START, uwbSession.getProfileType(),
+ session.mStsType, session.mIsInitiator,
+ session.mIsController, session.mIsDiscoveredByFramework, session.mIsOutOfBand,
+ session.mRangingStatus);
if (status != UwbUciConstants.STATUS_CODE_OK) {
session.mStartFailureCount++;
session.mStartTimeSinceBootMs = 0;
session.mHasValidRangingSinceStart = false;
return;
}
- session.convertRangingStatus(status);
session.mStartTimeSinceBootMs = mUwbInjector.getElapsedSinceBootMillis();
- UwbStatsLog.write(UwbStatsLog.UWB_RANGING_START, uwbSession.getProfileType(),
- session.mStsType, session.mIsInitiator,
- session.mIsController, session.mIsDiscoveredByFramework, session.mIsOutOfBand,
- session.mRangingStatus);
}
}
diff --git a/service/tests/src/com/android/server/uwb/UwbMetricsTest.java b/service/tests/src/com/android/server/uwb/UwbMetricsTest.java
index ce9340c..bd853c9 100644
--- a/service/tests/src/com/android/server/uwb/UwbMetricsTest.java
+++ b/service/tests/src/com/android/server/uwb/UwbMetricsTest.java
@@ -156,7 +156,8 @@
0, 0
));
- mUwbMetrics.longRangingStartEvent(mUwbSession, UwbUciConstants.STATUS_CODE_FAILED);
+ mUwbMetrics.longRangingStartEvent(mUwbSession,
+ UwbUciConstants.STATUS_CODE_RANGING_TX_FAILED);
addElapsedTimeMs(DEFAULT_RANGING_RESULT_LOG_INTERVAL_MS);
mUwbMetrics.longRangingStartEvent(mUwbSession, UwbUciConstants.STATUS_CODE_OK);
addElapsedTimeMs(DEFAULT_RANGING_RESULT_LOG_INTERVAL_MS);
@@ -175,6 +176,16 @@
addElapsedTimeMs(DEFAULT_RANGING_RESULT_LOG_INTERVAL_MS);
mUwbMetrics.logRangingCloseEvent(mUwbSession, UwbUciConstants.STATUS_CODE_OK);
+ ExtendedMockito.verify(() -> UwbStatsLog.write(UwbStatsLog.UWB_RANGING_START,
+ UwbStatsLog.UWB_SESSION_INITIATED__PROFILE__FIRA,
+ UwbStatsLog.UWB_SESSION_INITIATED__STS__STATIC, true, true, false, true,
+ UwbStatsLog.UWB_START_RANGING__STATUS__TX_FAILED));
+
+ ExtendedMockito.verify(() -> UwbStatsLog.write(UwbStatsLog.UWB_RANGING_START,
+ UwbStatsLog.UWB_SESSION_INITIATED__PROFILE__FIRA,
+ UwbStatsLog.UWB_SESSION_INITIATED__STS__STATIC, true, true, false, true,
+ UwbStatsLog.UWB_START_RANGING__STATUS__RANGING_SUCCESS));
+
ExtendedMockito.verify(() -> UwbStatsLog.write(UwbStatsLog.UWB_FIRST_RANGING_RECEIVED,
UwbStatsLog.UWB_SESSION_INITIATED__PROFILE__FIRA,
DEFAULT_RANGING_RESULT_LOG_INTERVAL_MS * 2,