Turn the optimization on for the terminal app
... but
* bytecode optimization
* pruning of unused classes and members (they are used by tests)
Bug: 375051310
Bug: 377100096
Test: atest TerminalAppTests
Change-Id: Iad31eabce7f5c7511320974ee0d1bc862dc14f06
diff --git a/android/TerminalApp/Android.bp b/android/TerminalApp/Android.bp
index bf93226..3b5f9b8 100644
--- a/android/TerminalApp/Android.bp
+++ b/android/TerminalApp/Android.bp
@@ -24,7 +24,10 @@
platform_apis: true,
privileged: true,
optimize: {
- enabled: false,
+ // TODO(b/377100096): enable bytecode optimization again
+ //optimize: true,
+ proguard_flags_files: ["proguard.flags"],
+ shrink_resources: true,
},
apex_available: [
"com.android.virt",
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java
index c8f5bab..a9102b0 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java
@@ -33,6 +33,8 @@
import android.widget.TextView;
import android.widget.Toast;
+import com.android.internal.annotations.VisibleForTesting;
+
import java.lang.ref.WeakReference;
import java.util.concurrent.ExecutorService;
@@ -98,6 +100,7 @@
super.onDestroy();
}
+ @VisibleForTesting
public boolean waitForInstallCompleted(long timeoutMillis) {
return mInstallCompleted.block(timeoutMillis);
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
index c006e7b..7575d05 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
@@ -52,6 +52,7 @@
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.virtualization.vmlauncher.InstallUtils;
import com.android.virtualization.vmlauncher.VmLauncherService;
import com.android.virtualization.vmlauncher.VmLauncherServices;
@@ -510,6 +511,7 @@
VmLauncherServices.startVmLauncherService(this, this, notification);
}
+ @VisibleForTesting
public boolean waitForBootCompleted(long timeoutMillis) {
return mBootCompleted.block(timeoutMillis);
}
diff --git a/android/TerminalApp/proguard.flags b/android/TerminalApp/proguard.flags
index b93240c..8433e82 100644
--- a/android/TerminalApp/proguard.flags
+++ b/android/TerminalApp/proguard.flags
@@ -30,4 +30,4 @@
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
-##---------------End: proguard configuration for Gson ----------
\ No newline at end of file
+##---------------End: proguard configuration for Gson ----------