pull/123/head
FongMi 3 years ago
parent 0f59895d96
commit 1d90b73a37
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java
  2. 9
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  3. 11
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  4. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java
  5. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java
  6. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomListener.java
  7. 2
      app/src/main/java/com/fongmi/android/tv/App.java
  8. 15
      app/src/main/java/com/fongmi/android/tv/Constant.java
  9. 6
      app/src/main/java/com/fongmi/android/tv/Github.java
  10. 3
      app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java
  11. 3
      app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java
  12. 6
      app/src/main/java/com/fongmi/android/tv/net/OkHttp.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));
}

@ -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));
}

@ -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

@ -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() {

@ -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() {

@ -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<String> texts = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
for (String text : texts) sb.append(text).append("\n");

@ -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());
}

@ -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;
}

@ -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() {

@ -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();
}

@ -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;

@ -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) {

Loading…
Cancel
Save