Increase timeout for Terminal on nested virt
Bug: 381779366
Bug: 383966272
Bug: 384658289
Test: watch TH
Change-Id: I419d16a81079e9260b8df50b2295adf5d81e0576
diff --git a/android/TerminalApp/Android.bp b/android/TerminalApp/Android.bp
index 4bb9703..59f18df 100644
--- a/android/TerminalApp/Android.bp
+++ b/android/TerminalApp/Android.bp
@@ -18,6 +18,7 @@
"debian-service-grpclib-lite",
"gson",
"VmTerminalApp.aidl-java",
+ "MicrodroidTestHelper", // for DeviceProperties class
],
jni_libs: [
"libforwarder_host_jni",
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
index 316c8c4..016af83 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
@@ -33,6 +33,7 @@
import android.os.ConditionVariable;
import android.os.Environment;
import android.os.SystemClock;
+import android.os.SystemProperties;
import android.provider.Settings;
import android.util.Log;
import android.view.KeyEvent;
@@ -56,6 +57,7 @@
import androidx.annotation.NonNull;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.microdroid.test.common.DeviceProperties;
import com.google.android.material.appbar.MaterialToolbar;
@@ -77,10 +79,19 @@
static final String KEY_DISK_SIZE = "disk_size";
private static final String VM_ADDR = "192.168.0.2";
private static final int TTYD_PORT = 7681;
- private static final int TERMINAL_CONNECTION_TIMEOUT_MS = 20_000;
+ private static final int TERMINAL_CONNECTION_TIMEOUT_MS;
private static final int REQUEST_CODE_INSTALLER = 0x33;
private static final int FONT_SIZE_DEFAULT = 13;
+ static {
+ DeviceProperties prop = DeviceProperties.create(SystemProperties::get);
+ if (prop.isCuttlefish() || prop.isGoldfish()) {
+ TERMINAL_CONNECTION_TIMEOUT_MS = 180_000; // 3 minutes
+ } else {
+ TERMINAL_CONNECTION_TIMEOUT_MS = 20_000; // 20 sec
+ }
+ }
+
private ExecutorService mExecutorService;
private InstalledImage mImage;
private X509Certificate[] mCertificates;