Fix requestSurfacePackage statsD log
Bug: b/250534483
Test: atest SdkSandboxManagerServiceUnitTest#testLatencyMetrics_SystemServerSandboxToApp_RequestSurfacePackage
Change-Id: Icd625d12922c2d38868929602a6e564970ca58e0
diff --git a/sdksandbox/service/java/com/android/server/sdksandbox/SdkSandboxManagerService.java b/sdksandbox/service/java/com/android/server/sdksandbox/SdkSandboxManagerService.java
index 415a514..07fa01e 100644
--- a/sdksandbox/service/java/com/android/server/sdksandbox/SdkSandboxManagerService.java
+++ b/sdksandbox/service/java/com/android/server/sdksandbox/SdkSandboxManagerService.java
@@ -1712,7 +1712,7 @@
final long timeSystemServerCalledApp = mInjector.getCurrentTime();
SdkSandboxStatsLog.write(
SdkSandboxStatsLog.SANDBOX_API_CALLED,
- SdkSandboxStatsLog.SANDBOX_API_CALLED__METHOD__LOAD_SDK,
+ SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
(int) (timeSystemServerCalledApp - timeSystemServerReceivedCallFromSandbox),
/*success=*/ true,
SANDBOX_API_CALLED__STAGE__SYSTEM_SERVER_SANDBOX_TO_APP);
diff --git a/sdksandbox/tests/unittest/src/com/android/server/sdksandbox/SdkSandboxManagerServiceUnitTest.java b/sdksandbox/tests/unittest/src/com/android/server/sdksandbox/SdkSandboxManagerServiceUnitTest.java
index b4a5beb..e121c26 100644
--- a/sdksandbox/tests/unittest/src/com/android/server/sdksandbox/SdkSandboxManagerServiceUnitTest.java
+++ b/sdksandbox/tests/unittest/src/com/android/server/sdksandbox/SdkSandboxManagerServiceUnitTest.java
@@ -20,6 +20,7 @@
import static com.android.sdksandbox.service.stats.SdkSandboxStatsLog.SANDBOX_API_CALLED__METHOD__ADD_SDK_SANDBOX_LIFECYCLE_CALLBACK;
import static com.android.sdksandbox.service.stats.SdkSandboxStatsLog.SANDBOX_API_CALLED__METHOD__REMOVE_SDK_SANDBOX_LIFECYCLE_CALLBACK;
+import static com.android.sdksandbox.service.stats.SdkSandboxStatsLog.SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE;
import static com.android.sdksandbox.service.stats.SdkSandboxStatsLog.SANDBOX_API_CALLED__STAGE__SANDBOX_TO_SYSTEM_SERVER;
import static com.android.sdksandbox.service.stats.SdkSandboxStatsLog.SANDBOX_API_CALLED__STAGE__SYSTEM_SERVER_SANDBOX_TO_APP;
import static com.android.sdksandbox.service.stats.SdkSandboxStatsLog.SANDBOX_API_CALLED__STAGE__SYSTEM_SERVER_TO_SANDBOX;
@@ -1210,8 +1211,7 @@
() ->
SdkSandboxStatsLog.write(
SdkSandboxStatsLog.SANDBOX_API_CALLED,
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
+ SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
(int)
(TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_APP
- TIME_APP_CALLED_SYSTEM_SERVER),
@@ -1604,8 +1604,7 @@
() ->
SdkSandboxStatsLog.write(
SdkSandboxStatsLog.SANDBOX_API_CALLED,
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
+ SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
(int)
(TIME_SYSTEM_SERVER_CALLED_SANDBOX
- TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_APP),
@@ -1617,9 +1616,7 @@
() ->
SdkSandboxStatsLog.write(
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED),
- Mockito.eq(
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
+ Mockito.eq(SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
Mockito.anyInt(),
Mockito.eq(/*success=*/ true),
Mockito.eq(SANDBOX_API_CALLED__STAGE__SYSTEM_SERVER_TO_SANDBOX)));
@@ -1628,9 +1625,7 @@
() ->
SdkSandboxStatsLog.write(
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED),
- Mockito.eq(
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
+ Mockito.eq(SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
Mockito.anyInt(),
Mockito.eq(/*success=*/ true),
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED__STAGE__SANDBOX)));
@@ -1639,9 +1634,7 @@
() ->
SdkSandboxStatsLog.write(
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED),
- Mockito.eq(
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
+ Mockito.eq(SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
Mockito.anyInt(),
Mockito.eq(/*success=*/ true),
Mockito.eq(SANDBOX_API_CALLED__STAGE__SANDBOX_TO_SYSTEM_SERVER)));
@@ -1683,8 +1676,7 @@
() ->
SdkSandboxStatsLog.write(
SdkSandboxStatsLog.SANDBOX_API_CALLED,
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
+ SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
(int)
(TIME_SYSTEM_SERVER_CALLED_SANDBOX
- TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_APP),
@@ -1696,9 +1688,7 @@
() ->
SdkSandboxStatsLog.write(
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED),
- Mockito.eq(
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
+ Mockito.eq(SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
Mockito.anyInt(),
Mockito.eq(/*success=*/ true),
Mockito.eq(SANDBOX_API_CALLED__STAGE__SYSTEM_SERVER_TO_SANDBOX)));
@@ -1707,9 +1697,7 @@
() ->
SdkSandboxStatsLog.write(
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED),
- Mockito.eq(
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
+ Mockito.eq(SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
Mockito.anyInt(),
Mockito.eq(/*success=*/ true),
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED__STAGE__SANDBOX)));
@@ -1718,9 +1706,7 @@
() ->
SdkSandboxStatsLog.write(
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED),
- Mockito.eq(
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
+ Mockito.eq(SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
Mockito.anyInt(),
Mockito.eq(/*success=*/ true),
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED__STAGE__SDK)));
@@ -1729,15 +1715,58 @@
() ->
SdkSandboxStatsLog.write(
Mockito.eq(SdkSandboxStatsLog.SANDBOX_API_CALLED),
- Mockito.eq(
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
+ Mockito.eq(SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE),
Mockito.anyInt(),
Mockito.eq(/*success=*/ true),
Mockito.eq(SANDBOX_API_CALLED__STAGE__SANDBOX_TO_SYSTEM_SERVER)));
}
@Test
+ public void testLatencyMetrics_SystemServerSandboxToApp_RequestSurfacePackage()
+ throws RemoteException {
+ Mockito.when(mInjector.getCurrentTime())
+ .thenReturn(
+ TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_APP,
+ START_TIME_TO_LOAD_SANDBOX,
+ END_TIME_TO_LOAD_SANDBOX,
+ TIME_SYSTEM_SERVER_CALLED_SANDBOX,
+ TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_SANDBOX,
+ TIME_SYSTEM_SERVER_CALLED_APP,
+ TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_APP,
+ TIME_SYSTEM_SERVER_CALLED_SANDBOX,
+ TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_SANDBOX,
+ TIME_SYSTEM_SERVER_CALLED_APP);
+ loadSdk(SDK_NAME);
+
+ // 2. Call request package
+ FakeRequestSurfacePackageCallbackBinder surfacePackageCallback =
+ new FakeRequestSurfacePackageCallbackBinder();
+ mService.requestSurfacePackage(
+ TEST_PACKAGE,
+ SDK_NAME,
+ new Binder(),
+ 0,
+ 500,
+ 500,
+ TIME_APP_CALLED_SYSTEM_SERVER,
+ new Bundle(),
+ surfacePackageCallback);
+ mSdkSandboxService.sendSurfacePackageReady(
+ new SandboxLatencyInfo(TIME_SYSTEM_SERVER_CALLED_SANDBOX));
+
+ ExtendedMockito.verify(
+ () ->
+ SdkSandboxStatsLog.write(
+ SdkSandboxStatsLog.SANDBOX_API_CALLED,
+ SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
+ (int)
+ (TIME_SYSTEM_SERVER_CALLED_APP
+ - TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_SANDBOX),
+ /*success=*/ true,
+ SANDBOX_API_CALLED__STAGE__SYSTEM_SERVER_SANDBOX_TO_APP));
+ }
+
+ @Test
public void testLatencyMetrics_SystemServerAppToSandbox_GetSandboxedSdks() {
// TODO(b/242149555): Update tests to use fake for getting time series.
Mockito.when(mInjector.getCurrentTime())
@@ -1767,8 +1796,7 @@
() ->
SdkSandboxStatsLog.write(
SdkSandboxStatsLog.SANDBOX_API_CALLED,
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
+ SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
/*latency=*/ 1,
/*success=*/ true,
SdkSandboxStatsLog
@@ -1884,8 +1912,7 @@
() ->
SdkSandboxStatsLog.write(
SdkSandboxStatsLog.SANDBOX_API_CALLED,
- SdkSandboxStatsLog
- .SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
+ SANDBOX_API_CALLED__METHOD__REQUEST_SURFACE_PACKAGE,
(int)
(TIME_FAILURE_HANDLED
- TIME_SYSTEM_SERVER_RECEIVED_CALL_FROM_APP),