forked from j62/ctbrec
1
0
Fork 0

Fix some code smells

This commit is contained in:
0xboobface 2019-12-06 20:20:50 +01:00
parent 00ea43c8b3
commit 26bf26de0a
3 changed files with 41 additions and 17 deletions

View File

@ -0,0 +1,9 @@
package ctbrec;
public class ForkProcessException extends RuntimeException {
public ForkProcessException(Exception e) {
super(e);
}
}

View File

@ -13,21 +13,27 @@ import org.slf4j.LoggerFactory;
public class OS { public class OS {
private static final transient Logger LOG = LoggerFactory.getLogger(OS.class); private static final Logger LOG = LoggerFactory.getLogger(OS.class);
public static enum TYPE { private static final String USER_HOME = "user.home";
private static final String OS_NAME = "os.name";
private static final String CTBREC = "ctbrec";
public enum TYPE {
LINUX, LINUX,
MAC, MAC,
WINDOWS, WINDOWS,
OTHER OTHER
} }
private OS() {}
public static TYPE getOsType() { public static TYPE getOsType() {
if(System.getProperty("os.name").contains("Linux")) { if(System.getProperty(OS_NAME).contains("Linux")) {
return TYPE.LINUX; return TYPE.LINUX;
} else if(System.getProperty("os.name").contains("Windows")) { } else if(System.getProperty(OS_NAME).contains("Windows")) {
return TYPE.WINDOWS; return TYPE.WINDOWS;
} else if(System.getProperty("os.name").contains("Mac")) { } else if(System.getProperty(OS_NAME).contains("Mac")) {
return TYPE.MAC; return TYPE.MAC;
} else { } else {
return TYPE.OTHER; return TYPE.OTHER;
@ -38,26 +44,26 @@ public class OS {
File configDir; File configDir;
switch (getOsType()) { switch (getOsType()) {
case LINUX: case LINUX:
String userHome = System.getProperty("user.home"); String userHome = System.getProperty(USER_HOME);
configDir = new File(new File(userHome, ".config"), "ctbrec"); configDir = new File(new File(userHome, ".config"), CTBREC);
break; break;
case MAC: case MAC:
userHome = System.getProperty("user.home"); userHome = System.getProperty(USER_HOME);
configDir = new File(userHome, "Library/Preferences/ctbrec"); configDir = new File(userHome, "Library/Preferences/ctbrec");
break; break;
case WINDOWS: case WINDOWS:
String appData = System.getenv("APPDATA"); String appData = System.getenv("APPDATA");
configDir = new File(appData, "ctbrec"); configDir = new File(appData, CTBREC);
break; break;
default: default:
throw new RuntimeException("Unsupported operating system " + System.getProperty("os.name")); throw new UnsupportedOperatingSystemException("Unsupported operating system " + System.getProperty(OS_NAME));
} }
return configDir; return configDir;
} }
public static String[] getBrowserCommand(String...args) { public static String[] getBrowserCommand(String...args) {
if(System.getenv("CTBREC_BROWSER") != null) { if(System.getenv("CTBREC_BROWSER") != null) {
String cmd[] = new String[args.length + 1]; String[] cmd = new String[args.length + 1];
cmd[0] = System.getenv("CTBREC_BROWSER"); cmd[0] = System.getenv("CTBREC_BROWSER");
System.arraycopy(args, 0, cmd, 1, args.length); System.arraycopy(args, 0, cmd, 1, args.length);
return cmd; return cmd;
@ -86,27 +92,27 @@ public class OS {
System.arraycopy(args, 0, cmd, 2, args.length); System.arraycopy(args, 0, cmd, 2, args.length);
break; break;
default: default:
throw new RuntimeException("Unsupported operating system " + System.getProperty("os.name")); throw new UnsupportedOperatingSystemException("Unsupported operating system " + System.getProperty(OS_NAME));
} }
LOG.debug("Browser command: {}", Arrays.toString(cmd)); LOG.debug("Browser command: {}", Arrays.toString(cmd));
return cmd; return cmd;
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
throw new RuntimeException(e); throw new ForkProcessException(e);
} }
} }
public static Settings getDefaultSettings() { public static Settings getDefaultSettings() {
Settings settings = new Settings(); Settings settings = new Settings();
if(getOsType() == TYPE.WINDOWS) { if(getOsType() == TYPE.WINDOWS) {
String userHome = System.getProperty("user.home"); String userHome = System.getProperty(USER_HOME);
Path path = Paths.get(userHome, "Videos", "ctbrec"); Path path = Paths.get(userHome, "Videos", CTBREC);
settings.recordingsDir = path.toString(); settings.recordingsDir = path.toString();
String programFiles = System.getenv("ProgramFiles"); String programFiles = System.getenv("ProgramFiles");
programFiles = programFiles != null ? programFiles : "C:\\Program Files"; programFiles = programFiles != null ? programFiles : "C:\\Program Files";
settings.mediaPlayer = Paths.get(programFiles, "VideoLAN", "VLC", "vlc.exe").toString(); settings.mediaPlayer = Paths.get(programFiles, "VideoLAN", "VLC", "vlc.exe").toString();
} else if(getOsType() == TYPE.MAC) { } else if(getOsType() == TYPE.MAC) {
String userHome = System.getProperty("user.home"); String userHome = System.getProperty(USER_HOME);
settings.recordingsDir = Paths.get(userHome, "Movies", "ctbrec").toString(); settings.recordingsDir = Paths.get(userHome, "Movies", CTBREC).toString();
settings.mediaPlayer = "/Applications/VLC.app/Contents/MacOS/VLC"; settings.mediaPlayer = "/Applications/VLC.app/Contents/MacOS/VLC";
} }
return settings; return settings;

View File

@ -0,0 +1,9 @@
package ctbrec;
public class UnsupportedOperatingSystemException extends RuntimeException {
public UnsupportedOperatingSystemException(String msg) {
super(msg);
}
}