VmTerminalApp: Prevent snackbar from hiding UX
Bug: 379132449
Test: Manually
Change-Id: I8796e1b98127887cad5513ea6b4818edb8c7b2d4
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java
index 4d8c00a..0446866 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerActivity.java
@@ -40,14 +40,12 @@
import com.google.android.material.snackbar.Snackbar;
import java.lang.ref.WeakReference;
-import java.util.concurrent.ExecutorService;
public class InstallerActivity extends BaseActivity {
private static final String TAG = "LinuxInstaller";
private static final long ESTIMATED_IMG_SIZE_BYTES = FileUtils.parseSize("550MB");
- private ExecutorService mExecutorService;
private CheckBox mWaitForWifiCheckbox;
private TextView mInstallButton;
@@ -92,11 +90,7 @@
super.onResume();
if (Build.isDebuggable() && InstallUtils.payloadFromExternalStorageExists()) {
- Snackbar.make(
- findViewById(android.R.id.content),
- "Auto installing",
- Snackbar.LENGTH_LONG)
- .show();
+ showSnackbar("Auto installing", Snackbar.LENGTH_LONG);
requestInstall();
}
}
@@ -125,13 +119,17 @@
return mInstallCompleted.block(timeoutMillis);
}
+ private void showSnackbar(String message, int length) {
+ Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content), message, length);
+ snackbar.setAnchorView(mWaitForWifiCheckbox);
+ snackbar.show();
+ }
+
public void handleCriticalError(Exception e) {
if (Build.isDebuggable()) {
- Snackbar.make(
- findViewById(android.R.id.content),
- e.getMessage() + ". File a bugreport to go/ferrochrome-bug",
- Snackbar.LENGTH_INDEFINITE)
- .show();
+ showSnackbar(
+ e.getMessage() + ". File a bugreport to go/ferrochrome-bug",
+ Snackbar.LENGTH_INDEFINITE);
}
Log.e(TAG, "Internal error", e);
finishWithResult(RESULT_CANCELED);
@@ -207,8 +205,7 @@
@MainThread
private void handleError(String displayText) {
if (Build.isDebuggable()) {
- Snackbar.make(findViewById(android.R.id.content), displayText, Snackbar.LENGTH_LONG)
- .show();
+ showSnackbar(displayText, Snackbar.LENGTH_LONG);
}
setInstallEnabled(true);
}