From 1c519111c3d62c7fec1548b03bdbe8938ff3116b Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 17 Aug 2024 17:43:39 +0800 Subject: [PATCH] Clean code --- .../com/fongmi/android/tv/ui/activity/CollectActivity.java | 4 +--- app/src/main/java/com/fongmi/android/tv/App.java | 2 +- app/src/main/java/com/fongmi/android/tv/Constant.java | 2 +- app/src/main/java/com/fongmi/android/tv/player/Source.java | 2 +- .../java/com/fongmi/android/tv/utils/PauseExecutor.java | 7 ++++--- .../com/fongmi/android/tv/ui/activity/CollectActivity.java | 4 +--- 6 files changed, 9 insertions(+), 12 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java index 3c2d735a5..f9317116e 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java @@ -35,8 +35,6 @@ import com.fongmi.android.tv.utils.ResUtil; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; public class CollectActivity extends BaseActivity { @@ -127,7 +125,7 @@ public class CollectActivity extends BaseActivity { private void search() { mAdapter.add(Collect.all()); mBinding.pager.getAdapter().notifyDataSetChanged(); - mExecutor = new PauseExecutor(Constant.THREAD_POOL, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>()); + mExecutor = new PauseExecutor(Constant.THREAD_POOL); mBinding.result.setText(getString(R.string.collect_result, getKeyword())); for (Site site : mSites) mExecutor.execute(() -> search(site)); } 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 01b785794..963a47616 100644 --- a/app/src/main/java/com/fongmi/android/tv/App.java +++ b/app/src/main/java/com/fongmi/android/tv/App.java @@ -40,7 +40,7 @@ public class App extends Application { public App() { instance = this; - executor = Executors.newFixedThreadPool(Constant.THREAD_POOL * 2); + executor = Executors.newFixedThreadPool(Constant.THREAD_POOL); handler = HandlerCompat.createAsync(Looper.getMainLooper()); gson = new Gson(); } diff --git a/app/src/main/java/com/fongmi/android/tv/Constant.java b/app/src/main/java/com/fongmi/android/tv/Constant.java index 074e232a9..350ddad70 100644 --- a/app/src/main/java/com/fongmi/android/tv/Constant.java +++ b/app/src/main/java/com/fongmi/android/tv/Constant.java @@ -26,5 +26,5 @@ public class Constant { //同步超時時間 public static final int TIMEOUT_SYNC = 2 * 1000; //搜尋線程數量 - public static final int THREAD_POOL = 5; + public static final int THREAD_POOL = 10; } diff --git a/app/src/main/java/com/fongmi/android/tv/player/Source.java b/app/src/main/java/com/fongmi/android/tv/player/Source.java index 2cfdbec13..fe7094f38 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Source.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Source.java @@ -68,7 +68,7 @@ public class Source { public void parse(List flags) throws Exception { for (Flag flag : flags) { - ExecutorService executor = Executors.newFixedThreadPool(Constant.THREAD_POOL * 2); + ExecutorService executor = Executors.newFixedThreadPool(Constant.THREAD_POOL); List>> items = new ArrayList<>(); Iterator iterator = flag.getEpisodes().iterator(); while (iterator.hasNext()) addCallable(iterator, items); diff --git a/app/src/main/java/com/fongmi/android/tv/utils/PauseExecutor.java b/app/src/main/java/com/fongmi/android/tv/utils/PauseExecutor.java index e46c8e152..a23682a25 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/PauseExecutor.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/PauseExecutor.java @@ -1,6 +1,6 @@ package com.fongmi.android.tv.utils; -import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; @@ -12,12 +12,13 @@ public class PauseExecutor extends ThreadPoolExecutor { private final Condition condition; private boolean isPaused; - public PauseExecutor(int corePoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue) { - super(corePoolSize, corePoolSize, keepAliveTime, unit, workQueue); + public PauseExecutor(int corePoolSize) { + super(corePoolSize, corePoolSize, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>()); pauseLock = new ReentrantLock(); condition = pauseLock.newCondition(); } + @Override protected void beforeExecute(Thread t, Runnable r) { super.beforeExecute(t, r); pauseLock.lock(); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java index 4ed6f0585..795b6566a 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java @@ -50,8 +50,6 @@ import java.io.IOException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; import okhttp3.Call; import okhttp3.Response; @@ -191,7 +189,7 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call mBinding.view.setVisibility(View.VISIBLE); mBinding.result.setVisibility(View.VISIBLE); if (mExecutor != null) mExecutor.shutdownNow(); - mExecutor = new PauseExecutor(Constant.THREAD_POOL * 2, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>()); + mExecutor = new PauseExecutor(Constant.THREAD_POOL * 2); String keyword = mBinding.keyword.getText().toString().trim(); for (Site site : mSites) mExecutor.execute(() -> search(site, keyword)); App.post(() -> mRecordAdapter.add(keyword), 250);