summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorJoe Baker-Malone <jbakermalone@google.com>2022-03-15 17:30:11 -0700
committerJoe Baker-Malone <jbakermalone@google.com>2022-03-17 18:26:02 +0000
commit5f566e509625045c0052286af69d4e46d300f801 (patch)
tree75ec3c5df7a8e180d666ae44fc4a67666b9e5f6b /android
parent179efbb87fd49f9172fc2fdb3becda67796d65f9 (diff)
downloadidea-5f566e509625045c0052286af69d4e46d300f801.tar.gz
Fix several problems with first run wizard
- The system image checkbox was uncheckable, since the requested image was unavailable. - There was an infinite refresh loop on the jdk setup step. - The "Available disk space" label wasn't shown. - The space used label wasn't updated when the selection was modified. Fixes: 216490728 Test: There aren't any existing tests for this code, so not adding them. Change-Id: I2cf8826076008204a1fc3d1205c33be29cdf833e
Diffstat (limited to 'android')
-rwxr-xr-xandroid/src/com/android/tools/idea/welcome/install/AndroidVirtualDevice.kt13
-rw-r--r--android/src/com/android/tools/idea/welcome/wizard/deprecated/JdkSetupStep.java4
-rwxr-xr-xandroid/src/com/android/tools/idea/welcome/wizard/deprecated/SdkComponentsStep.java3
3 files changed, 15 insertions, 5 deletions
diff --git a/android/src/com/android/tools/idea/welcome/install/AndroidVirtualDevice.kt b/android/src/com/android/tools/idea/welcome/install/AndroidVirtualDevice.kt
index a733cfb24ca..68fbad6a562 100755
--- a/android/src/com/android/tools/idea/welcome/install/AndroidVirtualDevice.kt
+++ b/android/src/com/android/tools/idea/welcome/install/AndroidVirtualDevice.kt
@@ -63,6 +63,8 @@ class AndroidVirtualDevice constructor(remotePackages: Map<String?, RemotePackag
private val IS_ARM64_HOST_OS = CpuArch.isArm64() || osArchitecture == ProductDetails.CpuArchitecture.X86_ON_ARM
private lateinit var myProgressStep: ProgressStep
private var myLatestVersion: AndroidVersion? = null
+ // After this we use x86-64 system images
+ private val MAX_X86_API_LEVEL = 30
@Throws(WizardException::class)
private fun getSystemImageDescription(sdkHandler: AndroidSdkHandler): SystemImageDescription {
@@ -103,9 +105,14 @@ class AndroidVirtualDevice constructor(remotePackages: Map<String?, RemotePackag
}
@VisibleForTesting
- fun getRequiredSysimgPath(isArm64HostOs: Boolean): String =
- DetailsTypes.getSysImgPath(ID_VENDOR_GOOGLE, myLatestVersion, ID_ADDON_GOOGLE_API_IMG,
- if (isArm64HostOs) SdkConstants.ABI_ARM64_V8A else SdkConstants.ABI_INTEL_ATOM)
+ fun getRequiredSysimgPath(isArm64HostOs: Boolean): String {
+ return DetailsTypes.getSysImgPath(ID_VENDOR_GOOGLE, myLatestVersion, ID_ADDON_GOOGLE_API_IMG,
+ when {
+ isArm64HostOs -> SdkConstants.ABI_ARM64_V8A
+ (myLatestVersion?.compareTo(MAX_X86_API_LEVEL, null) ?: -1) > 0 -> SdkConstants.ABI_INTEL_ATOM64
+ else -> SdkConstants.ABI_INTEL_ATOM
+ } )
+ }
override val requiredSdkPackages: Collection<String>
get() {
diff --git a/android/src/com/android/tools/idea/welcome/wizard/deprecated/JdkSetupStep.java b/android/src/com/android/tools/idea/welcome/wizard/deprecated/JdkSetupStep.java
index b27b277a18e..7053c03b1c2 100644
--- a/android/src/com/android/tools/idea/welcome/wizard/deprecated/JdkSetupStep.java
+++ b/android/src/com/android/tools/idea/welcome/wizard/deprecated/JdkSetupStep.java
@@ -140,7 +140,9 @@ public class JdkSetupStep extends FirstRunWizardStep {
private Path validateJdkPath(@NotNull Path file) {
Path possiblePath = IdeSdks.getInstance().validateJdkPath(file);
if (possiblePath != null) {
- setJdkLocationComboBox(possiblePath);
+ if (!possiblePath.equals(file)) {
+ setJdkLocationComboBox(possiblePath);
+ }
return possiblePath;
}
return null;
diff --git a/android/src/com/android/tools/idea/welcome/wizard/deprecated/SdkComponentsStep.java b/android/src/com/android/tools/idea/welcome/wizard/deprecated/SdkComponentsStep.java
index b79f23ca086..d0de82d80e0 100755
--- a/android/src/com/android/tools/idea/welcome/wizard/deprecated/SdkComponentsStep.java
+++ b/android/src/com/android/tools/idea/welcome/wizard/deprecated/SdkComponentsStep.java
@@ -201,7 +201,7 @@ public class SdkComponentsStep extends FirstRunWizardStep implements Disposable
public void deriveValues(Set<? extends ScopedStateStore.Key> modified) {
super.deriveValues(modified);
String path = myState.get(mySdkDownloadPathKey);
- myAvailableSpace.setText(getDiskSpace(path));
+ myAvailableSpace.setText("Available disk space: " + getDiskSpace(path));
long selected = getComponentsSize();
myNeededSpace.setText(String.format("Total download size: %s", WelcomeUiUtils.getSizeLabel(selected)));
}
@@ -297,6 +297,7 @@ public class SdkComponentsStep extends FirstRunWizardStep implements Disposable
// accessibility, so we need to call "setValueAt" manually.
myTableModel.setValueAt(myCheckBox.isSelected(), myCheckBox.getRow(), 0);
}
+ invokeUpdate(null);
});
}