diff --git a/app/build.gradle b/app/build.gradle index 44e675b1a..721aab34b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,8 +127,8 @@ dependencies { implementation 'org.greenrobot:eventbus:3.3.1' implementation 'org.nanohttpd:nanohttpd:2.3.1' implementation('org.simpleframework:simple-xml:2.7.1') { exclude group: 'stax', module: 'stax-api' exclude group: 'xpp3', module: 'xpp3' } - implementation(ext: 'aar', name: 'go_proxy_video', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'dlna-core', group: 'fongmi', version: 'release') + implementation(ext: 'aar', name: 'go-proxy-video', group: 'fongmi', version: 'release') leanbackImplementation(ext: 'aar', name: 'dlna-dmr', group: 'fongmi', version: 'release') leanbackImplementation 'androidx.leanback:leanback:1.2.0-alpha04' leanbackImplementation 'me.jessyan:autosize:1.2.1' diff --git a/app/src/main/java/com/fongmi/android/tv/App.java b/app/src/main/java/com/fongmi/android/tv/App.java index 568776609..93bef9e26 100644 --- a/app/src/main/java/com/fongmi/android/tv/App.java +++ b/app/src/main/java/com/fongmi/android/tv/App.java @@ -18,7 +18,6 @@ import com.fongmi.android.tv.utils.Notify; import com.github.catvod.Init; import com.github.catvod.bean.Doh; import com.github.catvod.net.OkHttp; -import com.github.catvod.utils.Github; import com.google.gson.Gson; import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.LogAdapter; @@ -29,8 +28,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import cat.ereza.customactivityoncrash.config.CaocConfig; -import go_proxy_video.GoVideoProxy; -import go_proxy_video.Go_proxy_video; + public class App extends Application { private final ExecutorService executor; @@ -111,10 +109,6 @@ public class App extends Application { OkHttp.get().setProxy(Setting.getProxy()); OkHttp.get().setDoh(Doh.objectFrom(Setting.getDoh())); CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).errorActivity(CrashActivity.class).apply(); - new Thread(() -> { - GoVideoProxy videoProxy = Go_proxy_video.newGoVideoProxy(); - videoProxy.start(); - }).start(); registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) { diff --git a/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java b/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java index 3c9640141..d1138d436 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java @@ -120,7 +120,7 @@ public class ApiConfig { } public void load(Callback callback) { - new Thread(() -> loadConfig(callback)).start(); + App.execute(() -> loadConfig(callback)); } private void loadConfig(Callback callback) { diff --git a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java index c4b52e925..e6e2106ba 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java @@ -93,7 +93,7 @@ public class LiveConfig { } public void load(Callback callback) { - new Thread(() -> loadConfig(callback)).start(); + App.execute(() -> loadConfig(callback)); } private void loadConfig(Callback callback) { diff --git a/app/src/main/java/com/fongmi/android/tv/api/WallConfig.java b/app/src/main/java/com/fongmi/android/tv/api/WallConfig.java index 997e71bb8..07474cd4b 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/WallConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/WallConfig.java @@ -75,7 +75,7 @@ public class WallConfig { } public void load(Callback callback) { - new Thread(() -> loadConfig(callback)).start(); + App.execute(() -> loadConfig(callback)); } private void loadConfig(Callback callback) { diff --git a/app/src/main/java/com/fongmi/android/tv/server/Server.java b/app/src/main/java/com/fongmi/android/tv/server/Server.java index a18361399..241befb3b 100644 --- a/app/src/main/java/com/fongmi/android/tv/server/Server.java +++ b/app/src/main/java/com/fongmi/android/tv/server/Server.java @@ -13,8 +13,12 @@ import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; +import go_proxy_video.GoVideoProxy; +import go_proxy_video.Go_proxy_video; + public class Server { + private GoVideoProxy proxy; private Nano nano; private int port; @@ -53,6 +57,8 @@ 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; @@ -67,6 +73,10 @@ public class Server { nano.stop(); nano = null; } + if (proxy != null) { + proxy.stop(); + proxy = null; + } } public String getIP() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/cast/ScanTask.java b/app/src/mobile/java/com/fongmi/android/tv/cast/ScanTask.java index 2401d3cc6..23a2cb0d8 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/cast/ScanTask.java +++ b/app/src/mobile/java/com/fongmi/android/tv/cast/ScanTask.java @@ -48,7 +48,7 @@ public class ScanTask { private void getDevice(List urls) throws Exception { CountDownLatch cd = new CountDownLatch(urls.size()); - for (String url : urls) new Thread(() -> findDevice(cd, url)).start(); + for (String url : urls) App.execute(() -> findDevice(cd, url)); cd.await(); }