|
|
|
@ -67,29 +67,39 @@ public final class Server {
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("checkstyle:MagicNumber")
|
|
|
|
|
private static Options createOptions(String... args) {
|
|
|
|
|
if (args.length != 6) {
|
|
|
|
|
throw new IllegalArgumentException("Expecting 6 parameters");
|
|
|
|
|
if (args.length < 1) {
|
|
|
|
|
throw new IllegalArgumentException("Missing client version");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String clientVersion = args[0];
|
|
|
|
|
if (!clientVersion.equals(BuildConfig.VERSION_NAME)) {
|
|
|
|
|
throw new IllegalArgumentException("The server version (" + clientVersion + ") does not match the client "
|
|
|
|
|
+ "(" + BuildConfig.VERSION_NAME + ")");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (args.length != 7) {
|
|
|
|
|
throw new IllegalArgumentException("Expecting 7 parameters");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Options options = new Options();
|
|
|
|
|
|
|
|
|
|
int maxSize = Integer.parseInt(args[0]) & ~7; // multiple of 8
|
|
|
|
|
int maxSize = Integer.parseInt(args[1]) & ~7; // multiple of 8
|
|
|
|
|
options.setMaxSize(maxSize);
|
|
|
|
|
|
|
|
|
|
int bitRate = Integer.parseInt(args[1]);
|
|
|
|
|
int bitRate = Integer.parseInt(args[2]);
|
|
|
|
|
options.setBitRate(bitRate);
|
|
|
|
|
|
|
|
|
|
// use "adb forward" instead of "adb tunnel"? (so the server must listen)
|
|
|
|
|
boolean tunnelForward = Boolean.parseBoolean(args[2]);
|
|
|
|
|
boolean tunnelForward = Boolean.parseBoolean(args[3]);
|
|
|
|
|
options.setTunnelForward(tunnelForward);
|
|
|
|
|
|
|
|
|
|
Rect crop = parseCrop(args[3]);
|
|
|
|
|
Rect crop = parseCrop(args[4]);
|
|
|
|
|
options.setCrop(crop);
|
|
|
|
|
|
|
|
|
|
boolean sendFrameMeta = Boolean.parseBoolean(args[4]);
|
|
|
|
|
boolean sendFrameMeta = Boolean.parseBoolean(args[5]);
|
|
|
|
|
options.setSendFrameMeta(sendFrameMeta);
|
|
|
|
|
|
|
|
|
|
boolean control = Boolean.parseBoolean(args[5]);
|
|
|
|
|
boolean control = Boolean.parseBoolean(args[6]);
|
|
|
|
|
options.setControl(control);
|
|
|
|
|
|
|
|
|
|
return options;
|
|
|
|
|