Add go switch

pull/180/head^2
FongMi 2 years ago
parent 521bb3ccce
commit 927052d880
  1. 8
      app/src/main/java/com/fongmi/android/tv/server/Nano.java
  2. 14
      app/src/main/java/com/fongmi/android/tv/server/Server.java
  3. 17
      app/src/main/java/com/fongmi/android/tv/server/process/Action.java

@ -69,6 +69,7 @@ public class Nano extends NanoHTTPD {
Map<String, String> files = new HashMap<>();
if (session.getMethod() == Method.POST) parse(session, files);
if (url.contains("?")) url = url.substring(0, url.indexOf('?'));
if (url.startsWith("/go")) return go(session);
if (url.startsWith("/m3u8")) return m3u8(session);
if (url.startsWith("/proxy")) return proxy(session);
if (url.startsWith("/tvbus")) return success(LiveConfig.getResp());
@ -91,6 +92,13 @@ public class Nano extends NanoHTTPD {
}
}
private Response go(IHTTPSession session) {
String action = session.getParms().get("action");
if ("start".equals(action)) Server.get().startGo();
if ("stop".equals(action)) Server.get().stopGo();
return success();
}
private Response m3u8(IHTTPSession session) {
String url = session.getParms().get("url");
String result = M3U8.get(url, session.getHeaders());

@ -41,6 +41,18 @@ public class Server {
return "http://" + (local ? "127.0.0.1" : Util.getIp()) + ":" + getPort();
}
public void startGo() {
if (proxy != null) return;
proxy = Go_proxy_video.newGoVideoProxy();
App.execute(() -> proxy.start());
}
public void stopGo() {
if (proxy == null) return;
proxy.stop();
proxy = null;
}
public void start() {
if (nano != null) return;
do {
@ -48,8 +60,6 @@ public class Server {
nano = new Nano(port);
Proxy.set(port);
nano.start();
proxy = Go_proxy_video.newGoVideoProxy();
App.execute(() -> proxy.start());
break;
} catch (Exception e) {
++port;

@ -39,27 +39,28 @@ public class Action implements Process {
switch (Objects.requireNonNullElse(params.get("do"), "")) {
case "search":
onSearch(params);
break;
return Nano.success();
case "push":
onPush(params);
break;
return Nano.success();
case "setting":
onSetting(params);
break;
return Nano.success();
case "file":
onFile(params);
break;
return Nano.success();
case "refresh":
onRefresh(params);
break;
return Nano.success();
case "cast":
onCast(params);
break;
return Nano.success();
case "sync":
onSync(params);
break;
return Nano.success();
default:
return Nano.error(null);
}
return Nano.success();
}
private void onSearch(Map<String, String> params) {

Loading…
Cancel
Save