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<>(); Map<String, String> files = new HashMap<>();
if (session.getMethod() == Method.POST) parse(session, files); if (session.getMethod() == Method.POST) parse(session, files);
if (url.contains("?")) url = url.substring(0, url.indexOf('?')); 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("/m3u8")) return m3u8(session);
if (url.startsWith("/proxy")) return proxy(session); if (url.startsWith("/proxy")) return proxy(session);
if (url.startsWith("/tvbus")) return success(LiveConfig.getResp()); 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) { private Response m3u8(IHTTPSession session) {
String url = session.getParms().get("url"); String url = session.getParms().get("url");
String result = M3U8.get(url, session.getHeaders()); String result = M3U8.get(url, session.getHeaders());

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

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

Loading…
Cancel
Save