From 1d90b73a3749d23a1e6929cb41f2ae777f8ebd26 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 16 Jan 2023 13:43:30 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/activity/CollectActivity.java | 3 ++- .../android/tv/ui/activity/DetailActivity.java | 9 +++++---- .../android/tv/ui/activity/LiveActivity.java | 11 ++++++----- .../android/tv/ui/custom/CustomKeyDownLive.java | 5 +++-- .../android/tv/ui/custom/CustomKeyDownVod.java | 5 +++-- .../android/tv/ui/custom/CustomListener.java | 1 + app/src/main/java/com/fongmi/android/tv/App.java | 2 +- .../main/java/com/fongmi/android/tv/Constant.java | 15 +++++++++++++++ .../main/java/com/fongmi/android/tv/Github.java | 6 ++++-- .../fongmi/android/tv/model/LiveViewModel.java | 3 ++- .../fongmi/android/tv/model/SiteViewModel.java | 3 ++- .../java/com/fongmi/android/tv/net/OkHttp.java | 6 ++++-- 12 files changed, 48 insertions(+), 21 deletions(-) create mode 100644 app/src/main/java/com/fongmi/android/tv/Constant.java 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 c1c717537..58a88339c 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 @@ -18,6 +18,7 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; import androidx.viewpager.widget.ViewPager; +import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.bean.Collect; @@ -120,7 +121,7 @@ public class CollectActivity extends BaseActivity { private void search() { mAdapter.add(Collect.all()); mPageAdapter.notifyDataSetChanged(); - mExecutor = Executors.newFixedThreadPool(5); + mExecutor = Executors.newFixedThreadPool(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/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index a85f6913c..7342e327a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -21,6 +21,7 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.bean.History; @@ -640,17 +641,17 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private void setTraffic() { Traffic.setSpeed(mBinding.widget.traffic); - App.post(mR3, 500); + App.post(mR3, Constant.INTERVAL_SPEED); } private void setR1Callback() { App.removeCallbacks(mR1); - App.post(mR1, 5000); + App.post(mR1, Constant.HIDE_TIME); } private void setR4Callback() { App.removeCallbacks(mR4); - App.post(mR4, 15000); + App.post(mR4, Constant.TIMEOUT_VOD); } private void getPart(String source) { @@ -832,7 +833,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private void startSearch(String keyword) { mSearchAdapter.clear(); - mExecutor = Executors.newFixedThreadPool(5); + mExecutor = Executors.newFixedThreadPool(Constant.THREAD_POOL); for (Site site : ApiConfig.get().getSites()) if (site.isSearchable() && !site.getKey().equals(getKey())) mExecutor.execute(() -> search(site, keyword)); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 61fa0b231..57c2c00db 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.LiveConfig; import com.fongmi.android.tv.bean.Channel; @@ -268,7 +269,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void setTraffic() { Traffic.setSpeed(mBinding.widget.traffic); - App.post(mR5, 500); + App.post(mR5, Constant.INTERVAL_SPEED); } private void onToggle() { @@ -389,17 +390,17 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void setR1Callback() { App.removeCallbacks(mR1); - App.post(mR1, 5000); + App.post(mR1, Constant.HIDE_TIME); } private void setR3Callback() { App.removeCallbacks(mR3); - App.post(mR3, 5000); + App.post(mR3, Constant.HIDE_TIME); } private void setR6Callback() { App.removeCallbacks(mR6); - App.post(mR6, 10000); + App.post(mR6, Constant.TIMEOUT_LIVE); } private void resetPass() { @@ -538,7 +539,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick @Override public void setUITimer() { App.removeCallbacks(mR0); - App.post(mR0, 5000); + App.post(mR0, Constant.HIDE_TIME); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java index 6ebd8e435..24b72be43 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java @@ -8,6 +8,7 @@ import android.view.MotionEvent; import androidx.annotation.NonNull; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.Utils; @@ -115,11 +116,11 @@ public class CustomKeyDownLive extends GestureDetector.SimpleOnGestureListener { } private int addTime() { - return holdTime = holdTime + 10000; + return holdTime = holdTime + Constant.INTERVAL_SEEK; } private int subTime() { - return holdTime = holdTime - 10000; + return holdTime = holdTime - Constant.INTERVAL_SEEK; } public void resetTime() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java index 55350e19c..4fd1cdd3a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java @@ -7,6 +7,7 @@ import android.view.MotionEvent; import androidx.annotation.NonNull; +import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.utils.Utils; public class CustomKeyDownVod extends GestureDetector.SimpleOnGestureListener { @@ -66,11 +67,11 @@ public class CustomKeyDownVod extends GestureDetector.SimpleOnGestureListener { } private int addTime() { - return holdTime = holdTime + 10000; + return holdTime = holdTime + Constant.INTERVAL_SEEK; } private int subTime() { - return holdTime = holdTime - 10000; + return holdTime = holdTime - Constant.INTERVAL_SEEK; } public void resetTime() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomListener.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomListener.java index d133de231..3b930875f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomListener.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomListener.java @@ -36,6 +36,7 @@ public abstract class CustomListener implements TextWatcher, RecognitionListener @Override public void onResults(Bundle results) { + if (results == null) return; StringBuilder sb = new StringBuilder(); List texts = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION); for (String text : texts) sb.append(text).append("\n"); 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 1a1f4c344..3e697150a 100644 --- a/app/src/main/java/com/fongmi/android/tv/App.java +++ b/app/src/main/java/com/fongmi/android/tv/App.java @@ -26,7 +26,7 @@ public class App extends Application { public App() { instance = this; - executor = Executors.newFixedThreadPool(5); + executor = Executors.newFixedThreadPool(Constant.THREAD_POOL); handler = HandlerCompat.createAsync(Looper.getMainLooper()); } diff --git a/app/src/main/java/com/fongmi/android/tv/Constant.java b/app/src/main/java/com/fongmi/android/tv/Constant.java new file mode 100644 index 000000000..7cc9448cf --- /dev/null +++ b/app/src/main/java/com/fongmi/android/tv/Constant.java @@ -0,0 +1,15 @@ +package com.fongmi.android.tv; + +public class Constant { + + public static final int INTERVAL_SEEK = 10 * 1000; + public static final int INTERVAL_SPEED = 500; + + public static final int TIMEOUT_VOD = 30 * 1000; + public static final int TIMEOUT_LIVE = 10 * 1000; + public static final int TIMEOUT_HTTP = 30 * 1000; + + public static final int HIDE_TIME = 5 * 1000; + + public static final int THREAD_POOL = 5; +} diff --git a/app/src/main/java/com/fongmi/android/tv/Github.java b/app/src/main/java/com/fongmi/android/tv/Github.java index 8bd56cb30..806d0cefd 100644 --- a/app/src/main/java/com/fongmi/android/tv/Github.java +++ b/app/src/main/java/com/fongmi/android/tv/Github.java @@ -12,7 +12,8 @@ public class Github { public static final String A = "https://raw.githubusercontent.com/"; public static final String B = "https://gh-proxy.com/"; - public static final String C = "https://raw.iqiq.io/"; + public static final String C = "https://ghproxy.com/"; + public static final String D = "https://raw.iqiq.io/"; public static final String REPO = "FongMi/TV/"; public static final String RELEASE = "release"; public static final String DEV = "dev"; @@ -32,6 +33,7 @@ public class Github { check(A); check(B); check(C); + check(D); } private void check(String url) { @@ -44,7 +46,7 @@ public class Github { } private void setProxy(String url) { - this.proxy = url.equals(B) ? url + A + REPO : url + REPO; + this.proxy = url.equals(B) || url.equals(C) ? url + A + REPO : url + REPO; } private String getProxy() { diff --git a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java index dea10c794..e03bede6d 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java @@ -3,6 +3,7 @@ package com.fongmi.android.tv.model; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.api.LiveParser; import com.fongmi.android.tv.bean.Channel; import com.fongmi.android.tv.bean.Live; @@ -48,7 +49,7 @@ public class LiveViewModel extends ViewModel { executor = Executors.newFixedThreadPool(2); executor.execute(() -> { try { - if (!Thread.interrupted()) result.postValue(executor.submit(callable).get(30, TimeUnit.SECONDS)); + if (!Thread.interrupted()) result.postValue(executor.submit(callable).get(Constant.TIMEOUT_LIVE, TimeUnit.MILLISECONDS)); } catch (Throwable e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java index 9fd15e065..efed794f7 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java @@ -7,6 +7,7 @@ import android.util.ArrayMap; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.bean.Result; import com.fongmi.android.tv.bean.Site; @@ -190,7 +191,7 @@ public class SiteViewModel extends ViewModel { executor = Executors.newFixedThreadPool(2); executor.execute(() -> { try { - if (!Thread.interrupted()) result.postValue(executor.submit(callable).get(30, TimeUnit.SECONDS)); + if (!Thread.interrupted()) result.postValue(executor.submit(callable).get(Constant.TIMEOUT_VOD, TimeUnit.MILLISECONDS)); } catch (Throwable e) { e.printStackTrace(); if (e instanceof InterruptedException) return; diff --git a/app/src/main/java/com/fongmi/android/tv/net/OkHttp.java b/app/src/main/java/com/fongmi/android/tv/net/OkHttp.java index 3b2347312..ff8e23066 100644 --- a/app/src/main/java/com/fongmi/android/tv/net/OkHttp.java +++ b/app/src/main/java/com/fongmi/android/tv/net/OkHttp.java @@ -2,6 +2,8 @@ package com.fongmi.android.tv.net; import android.util.ArrayMap; +import com.fongmi.android.tv.Constant; + import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; @@ -26,11 +28,11 @@ public class OkHttp { public static OkHttpClient client() { if (get().mOk != null) return get().mOk; - return get().mOk = client(30); + return get().mOk = client(Constant.TIMEOUT_HTTP); } public static OkHttpClient client(int timeout) { - return new OkHttpClient.Builder().connectTimeout(timeout, TimeUnit.SECONDS).hostnameVerifier(SSLSocketFactoryCompat.hostnameVerifier).sslSocketFactory(new SSLSocketFactoryCompat(), SSLSocketFactoryCompat.trustAllCert).build(); + return new OkHttpClient.Builder().connectTimeout(timeout, TimeUnit.MILLISECONDS).hostnameVerifier(SSLSocketFactoryCompat.hostnameVerifier).sslSocketFactory(new SSLSocketFactoryCompat(), SSLSocketFactoryCompat.trustAllCert).build(); } public static Call newCall(String url) {