Add the size of optimized artifacts to OptimizeResult.
Bug: 255566429
Test: m test-art-host-gtest-art_artd_tests
Test: atest ArtServiceTests
Test: adb shell pm art optimize-package -m speed-profile -f com.google.android.gms
Ignore-AOSP-First: ART Services
Change-Id: Icbffe6d56dcecdbac8154284f43d16828373db20
diff --git a/libartservice/service/java/com/android/server/art/DexOptimizer.java b/libartservice/service/java/com/android/server/art/DexOptimizer.java
index 356d74b..efc25f1 100644
--- a/libartservice/service/java/com/android/server/art/DexOptimizer.java
+++ b/libartservice/service/java/com/android/server/art/DexOptimizer.java
@@ -147,6 +147,8 @@
@OptimizeResult.OptimizeStatus int status = OptimizeResult.OPTIMIZE_SKIPPED;
long wallTimeMs = 0;
long cpuTimeMs = 0;
+ long sizeBytes = 0;
+ long sizeBeforeBytes = 0;
try {
var target = DexoptTarget.<DexInfoType>builder()
.setDexInfo(dexInfo)
@@ -186,6 +188,8 @@
: OptimizeResult.OPTIMIZE_PERFORMED;
wallTimeMs = dexoptResult.wallTimeMs;
cpuTimeMs = dexoptResult.cpuTimeMs;
+ sizeBytes = dexoptResult.sizeBytes;
+ sizeBeforeBytes = dexoptResult.sizeBeforeBytes;
if (status == OptimizeResult.OPTIMIZE_CANCELLED) {
return results;
@@ -202,7 +206,7 @@
} finally {
results.add(new DexContainerFileOptimizeResult(dexInfo.dexPath(),
abi.isPrimaryAbi(), abi.name(), compilerFilter, status, wallTimeMs,
- cpuTimeMs));
+ cpuTimeMs, sizeBytes, sizeBeforeBytes));
if (status != OptimizeResult.OPTIMIZE_SKIPPED
&& status != OptimizeResult.OPTIMIZE_PERFORMED) {
succeeded = false;