Skip to content

Commit cdabcda

Browse files
committed
Revert changes to PreferredJdkPathsOnly use well-known paths when others fail
1 parent 71a51b5 commit cdabcda

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/Xamarin.Android.Tools.AndroidSdk/Sdks/AndroidSdkWindows.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ public override string PreferedAndroidSdkPath {
4141
return null;
4242
}
4343
}
44-
4544
public override string PreferedAndroidNdkPath {
4645
get {
4746
var wow = RegistryEx.Wow64.Key32;
@@ -51,10 +50,13 @@ public override string PreferedAndroidNdkPath {
5150
return null;
5251
}
5352
}
54-
5553
public override string PreferedJavaSdkPath {
5654
get {
57-
return GetKnownOpenJdkPaths ().FirstOrDefault ();
55+
var wow = RegistryEx.Wow64.Key32;
56+
var regKey = GetMDRegistryKey ();
57+
if (CheckRegistryKeyForExecutable (RegistryEx.CurrentUser, regKey, MDREG_JAVA_SDK, wow, "bin", JarSigner))
58+
return RegistryEx.GetValueString (RegistryEx.CurrentUser, regKey, MDREG_JAVA_SDK, wow);
59+
return null;
5860
}
5961
}
6062

@@ -130,9 +132,9 @@ IEnumerable<JdkInfo> ToJdkInfos (IEnumerable<string> paths, string locator)
130132
.OrderByDescending (jdk => jdk, JdkInfoVersionComparer.Default);
131133
}
132134

133-
return ToJdkInfos (GetKnownOpenJdkPaths (), "Well-known OpenJDK paths")
134-
.Concat (ToJdkInfos(GetPreferredJdkPaths (), "Preferred Registry"))
135+
return ToJdkInfos (GetPreferredJdkPaths (), "Preferred Registry")
135136
.Concat (ToJdkInfos (GetOpenJdkPaths (), "OpenJDK"))
137+
.Concat (ToJdkInfos (GetKnownOpenJdkPaths (), "Well-known OpenJDK paths"))
136138
.Concat (ToJdkInfos (GetOracleJdkPaths (), "Oracle JDK"));
137139
}
138140

@@ -189,8 +191,8 @@ private static IEnumerable<string> GetKnownOpenJdkPaths ()
189191
}
190192

191193
return paths.OrderByDescending (v => v.Item2)
192-
.Where (openJdk => ProcessUtils.FindExecutablesInDirectory (Path.Combine(openJdk.Item1, "bin"), _JarSigner).Any())
193-
.Select (openJdk => openJdk.Item1);
194+
.Where (openJdk => ProcessUtils.FindExecutablesInDirectory (Path.Combine(openJdk.Item1, "bin"), _JarSigner).Any())
195+
.Select (openJdk => openJdk.Item1);
194196
}
195197

196198
private static IEnumerable<string> GetOracleJdkPaths ()

0 commit comments

Comments
 (0)