From 51e35eb5721c1ff14afce205b00522b208d3fca6 Mon Sep 17 00:00:00 2001 From: zzz Date: Fri, 28 Oct 2016 15:08:13 +0000 Subject: [PATCH] Utils: Handle Java version detection for internal or ea versions --- core/java/src/net/i2p/util/SystemVersion.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/core/java/src/net/i2p/util/SystemVersion.java b/core/java/src/net/i2p/util/SystemVersion.java index a8d83755b..a24759098 100644 --- a/core/java/src/net/i2p/util/SystemVersion.java +++ b/core/java/src/net/i2p/util/SystemVersion.java @@ -70,13 +70,19 @@ public abstract class SystemVersion { if (_isAndroid) { _oneDotSix = _androidSDK >= 9; _oneDotSeven = _androidSDK >= 19; + // https://developer.android.com/guide/platform/j8-jack.html + // some stuff in 23, some in 24 _oneDotEight = false; _oneDotNine = false; } else { - _oneDotSix = VersionComparator.comp(System.getProperty("java.version"), "1.6") >= 0; - _oneDotSeven = _oneDotSix && VersionComparator.comp(System.getProperty("java.version"), "1.7") >= 0; - _oneDotEight = _oneDotSeven && VersionComparator.comp(System.getProperty("java.version"), "1.8") >= 0; - _oneDotNine = _oneDotEight && VersionComparator.comp(System.getProperty("java.version"), "1.9") >= 0; + String version = System.getProperty("java.version"); + // handle versions like "8-ea" or "9-internal" + if (!version.startsWith("1.")) + version = "1." + version; + _oneDotSix = VersionComparator.comp(version, "1.6") >= 0; + _oneDotSeven = _oneDotSix && VersionComparator.comp(version, "1.7") >= 0; + _oneDotEight = _oneDotSeven && VersionComparator.comp(version, "1.8") >= 0; + _oneDotNine = _oneDotEight && VersionComparator.comp(version, "1.9") >= 0; } }