diff --git a/app/build.gradle b/app/build.gradle
index 709ef0689..632c82882 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "com.fongmi.android.tv"
minSdk 21
targetSdk 28
- versionCode 210
- versionName "20231214"
+ versionCode 211
+ versionName "2.1.1"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
@@ -104,9 +104,9 @@ dependencies {
implementation 'androidx.media:media:1.6.0'
implementation 'cat.ereza:customactivityoncrash:2.4.0'
implementation 'com.github.bassaer:materialdesigncolors:1.0.0'
- implementation 'com.github.bumptech.glide:glide:4.15.1'
- implementation 'com.github.bumptech.glide:annotations:4.15.1'
- implementation 'com.github.bumptech.glide:okhttp3-integration:4.15.1'
+ implementation 'com.github.bumptech.glide:glide:4.16.0'
+ implementation 'com.github.bumptech.glide:annotations:4.16.0'
+ implementation 'com.github.bumptech.glide:okhttp3-integration:4.16.0'
implementation 'com.github.jahirfiquitiva:TextDrawable:1.0.3'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:289db1178ab66694c23893e6a487d4708343c47b'
implementation('com.github.thegrizzlylabs:sardine-android:0.8') { exclude group: 'com.squareup.okhttp3', module: 'okhttp' }
@@ -136,5 +136,5 @@ dependencies {
//mobileImplementation 'com.google.android.gms:play-services-cast-framework:21.3.0'
mobileImplementation('com.journeyapps:zxing-android-embedded:4.3.0') { transitive = false }
annotationProcessor 'androidx.room:room-compiler:2.6.1'
- annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
}
\ No newline at end of file
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 332c1ed83..6e55678d9 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
@@ -433,13 +433,15 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void showControl(View view) {
mBinding.control.getRoot().setVisibility(View.VISIBLE);
+ mBinding.widget.top.setVisibility(View.VISIBLE);
view.requestFocus();
- setR2Callback();
+ setR1Callback();
hideInfo();
}
private void hideControl() {
mBinding.control.getRoot().setVisibility(View.GONE);
+ mBinding.widget.top.setVisibility(View.GONE);
App.removeCallbacks(mR1);
}
@@ -449,13 +451,13 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void showInfo() {
- mBinding.widget.info.setVisibility(View.VISIBLE);
- setR1Callback();
+ mBinding.widget.bottom.setVisibility(View.VISIBLE);
+ setR3Callback();
setInfo();
}
private void hideInfo() {
- mBinding.widget.info.setVisibility(View.GONE);
+ mBinding.widget.bottom.setVisibility(View.GONE);
App.removeCallbacks(mR3);
}
@@ -476,11 +478,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void setR1Callback() {
- App.post(mR3, Constant.INTERVAL_HIDE);
+ App.post(mR1, Constant.INTERVAL_HIDE);
}
- private void setR2Callback() {
- App.post(mR1, Constant.INTERVAL_HIDE);
+ private void setR3Callback() {
+ App.post(mR3, Constant.INTERVAL_HIDE);
}
private void onToggle() {
@@ -572,6 +574,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mViewModel.getEpg(mChannel);
mChannel.loadLogo(mBinding.widget.logo);
mBinding.widget.name.setText(mChannel.getName());
+ mBinding.widget.title.setText(mChannel.getName());
mBinding.widget.line.setText(mChannel.getLineText());
mBinding.widget.number.setText(mChannel.getNumber());
mBinding.control.line.setText(mChannel.getLineText());
@@ -666,6 +669,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mPlayers.reset();
setSpeedVisible();
setTrackVisible(true);
+ mBinding.widget.size.setText(mPlayers.getSizeText());
break;
case Player.STATE_ENDED:
nextChannel();
@@ -787,7 +791,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
- if (isVisible(mBinding.control.getRoot())) setR2Callback();
+ if (isVisible(mBinding.control.getRoot())) setR1Callback();
if (mKeyDown.hasEvent(event)) mKeyDown.onKeyDown(event);
return super.dispatchKeyEvent(event);
}
@@ -923,7 +927,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
public void onBackPressed() {
if (isVisible(mBinding.control.getRoot())) {
hideControl();
- } else if (isVisible(mBinding.widget.info)) {
+ } else if (isVisible(mBinding.widget.bottom)) {
hideInfo();
} else if (isVisible(mBinding.recycler)) {
hideUI();
diff --git a/app/src/leanback/res/layout/view_widget_live.xml b/app/src/leanback/res/layout/view_widget_live.xml
index ac25eff01..c032ced21 100644
--- a/app/src/leanback/res/layout/view_widget_live.xml
+++ b/app/src/leanback/res/layout/view_widget_live.xml
@@ -4,6 +4,47 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
+
+
+
+
+
+
+
+
getListener(ImageView view, ImageView.ScaleType scaleType) {
return new RequestListener<>() {
@Override
- public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) {
+ public boolean onLoadFailed(@Nullable GlideException e, Object model, @NonNull Target target, boolean isFirstResource) {
view.setScaleType(scaleType);
view.setImageResource(R.drawable.ic_img_error);
return true;
}
@Override
- public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) {
+ public boolean onResourceReady(@NonNull Bitmap resource, @NonNull Object model, Target target, @NonNull DataSource dataSource, boolean isFirstResource) {
view.setScaleType(ImageView.ScaleType.CENTER_CROP);
return false;
}
diff --git a/catvod/src/main/java/com/github/catvod/net/OkHttp.java b/catvod/src/main/java/com/github/catvod/net/OkHttp.java
index 1db7bbdbd..18042d6fa 100644
--- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java
+++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java
@@ -1,6 +1,7 @@
package com.github.catvod.net;
import android.net.Uri;
+import android.text.TextUtils;
import androidx.collection.ArrayMap;
@@ -9,6 +10,7 @@ import com.github.catvod.utils.Path;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
+import java.net.ProxySelector;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
@@ -28,10 +30,15 @@ public class OkHttp {
private static final int TIMEOUT = 30 * 1000;
private static final int CACHE = 100 * 1024 * 1024;
+ private static final ProxySelector defaultSelector;
private DnsOverHttps dns;
private OkHttpClient client;
- private ProxySelector selector;
+ private OkProxySelector selector;
+
+ static {
+ defaultSelector = ProxySelector.getDefault();
+ }
private static class Loader {
static volatile OkHttp INSTANCE = new OkHttp();
@@ -52,14 +59,14 @@ public class OkHttp {
}
public void setProxy(String proxy) {
- ProxySelector.setDefault(selector());
- selector().setProxy(proxy);
+ ProxySelector.setDefault(TextUtils.isEmpty(proxy) ? defaultSelector : selector());
+ if (!TextUtils.isEmpty(proxy)) selector().setProxy(proxy);
client = null;
}
- public static ProxySelector selector() {
+ public static OkProxySelector selector() {
if (get().selector != null) return get().selector;
- return get().selector = new ProxySelector();
+ return get().selector = new OkProxySelector();
}
public static OkHttpClient client() {
@@ -133,7 +140,7 @@ public class OkHttp {
private static OkHttpClient.Builder getBuilder() {
OkHttpClient.Builder builder = new OkHttpClient.Builder().addInterceptor(new OkhttpInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).sslSocketFactory(new SSLCompat(), SSLCompat.TM);
- builder.proxySelector(selector());
+ builder.proxySelector(ProxySelector.getDefault());
return builder;
}
}
diff --git a/catvod/src/main/java/com/github/catvod/net/ProxySelector.java b/catvod/src/main/java/com/github/catvod/net/OkProxySelector.java
similarity index 97%
rename from catvod/src/main/java/com/github/catvod/net/ProxySelector.java
rename to catvod/src/main/java/com/github/catvod/net/OkProxySelector.java
index ea8027235..2269ae1e6 100644
--- a/catvod/src/main/java/com/github/catvod/net/ProxySelector.java
+++ b/catvod/src/main/java/com/github/catvod/net/OkProxySelector.java
@@ -14,7 +14,7 @@ import java.net.URI;
import java.util.Collections;
import java.util.List;
-public class ProxySelector extends java.net.ProxySelector {
+public class OkProxySelector extends java.net.ProxySelector {
private List hosts;
private Proxy proxy;