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;