Added ChromeOS detection

This commit is contained in:
nathan 2017-07-23 14:16:41 +02:00
parent adbd14eaee
commit ab8e7e5a79

View File

@ -410,6 +410,7 @@ class OSUtil {
XFCE, XFCE,
LXDE, LXDE,
Pantheon, Pantheon,
ChromeOS,
Unknown, Unknown,
} }
@ -459,12 +460,18 @@ class OSUtil {
return Env.Gnome; return Env.Gnome;
} }
// maybe it's chromeOS?
if (isChromeOS()) {
return Env.ChromeOS;
}
return Env.Unknown; return Env.Unknown;
} }
private static volatile Boolean isGnome = null; private static volatile Boolean isGnome = null;
private static volatile Boolean isKDE = null; private static volatile Boolean isKDE = null;
private static volatile Boolean isChromeOS = null;
public static public static
boolean isGnome() { boolean isGnome() {
@ -612,6 +619,37 @@ class OSUtil {
} }
public static
boolean isChromeOS() {
if (isChromeOS == null) {
if (!OS.isLinux()) {
isChromeOS = false;
return false;
}
try {
// ps aux | grep chromeos
final ShellExecutor shellVersion = new ShellExecutor();
shellVersion.setExecutable("ps");
shellVersion.addArgument("aux");
shellVersion.start();
String output = shellVersion.getOutput();
if (!output.isEmpty()) {
if (output.contains("chromeos")) {
isChromeOS = true;
return true;
}
}
} catch (Throwable e) {
e.printStackTrace();
}
}
return isChromeOS;
}
/** /**
* @param channel which XFCE channel to query. Cannot be null * @param channel which XFCE channel to query. Cannot be null
* @param property which property (in the channel) to query. Null will list all properties in the channel * @param property which property (in the channel) to query. Null will list all properties in the channel