From cec2d5af059de391dc991b651973ecb14dcc009e Mon Sep 17 00:00:00 2001 From: FongMi Date: Sun, 2 Jun 2024 17:11:53 +0800 Subject: [PATCH] Fix trans bug --- .../fongmi/android/tv/ui/activity/VodActivity.java | 2 +- .../fongmi/android/tv/api/config/VodConfig.java | 2 +- .../java/com/fongmi/android/tv/bean/Result.java | 10 ++++++++++ .../main/java/com/fongmi/android/tv/bean/Site.java | 14 ++++++++++++++ .../fongmi/android/tv/ui/fragment/VodFragment.java | 3 +-- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java index b61cd3b1b..73f6cee68 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java @@ -110,7 +110,7 @@ public class VodActivity extends BaseActivity implements TypePresenter.OnClickLi private List getTypes(Result result) { List items = new ArrayList<>(); - for (String cate : getSite().getCategories()) for (Class item : result.getTypes()) if (Trans.s2t(cate).equals(item.getTypeName())) items.add(item); + for (String cate : getSite().getCategories()) for (Class item : result.getTypes()) if (cate.equals(item.getTypeName())) items.add(item); return items; } diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java index 09315045a..de23aed0a 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java @@ -187,7 +187,7 @@ public class VodConfig { if (sites.contains(site)) continue; site.setApi(parseApi(site.getApi())); site.setExt(parseExt(site.getExt())); - sites.add(site.sync()); + sites.add(site.trans().sync()); } for (Site site : sites) { if (site.getKey().equals(config.getHome())) { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Result.java b/app/src/main/java/com/fongmi/android/tv/bean/Result.java index 1c4ec22d3..c6063429d 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Result.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Result.java @@ -68,6 +68,8 @@ public class Result implements Parcelable { private String format; @SerializedName("click") private String click; + @SerializedName("js") + private String js; @SerializedName("key") private String key; @SerializedName("pagecount") @@ -231,6 +233,14 @@ public class Result implements Parcelable { this.click = click; } + public String getJs() { + return TextUtils.isEmpty(js) ? "" : js; + } + + public void setJs(String js) { + this.js = js; + } + public String getKey() { return TextUtils.isEmpty(key) ? "" : key; } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Site.java b/app/src/main/java/com/fongmi/android/tv/bean/Site.java index 2e55c1bb5..4f77de0f6 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Site.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Site.java @@ -14,10 +14,12 @@ import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.db.AppDatabase; import com.fongmi.android.tv.gson.ExtAdapter; import com.github.catvod.utils.Json; +import com.github.catvod.utils.Trans; import com.google.gson.JsonElement; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -197,6 +199,10 @@ public class Site implements Parcelable { return categories == null ? Collections.emptyList() : categories; } + public void setCategories(List categories) { + this.categories = categories; + } + public JsonElement getHeader() { return header; } @@ -251,6 +257,14 @@ public class Site implements Parcelable { return Headers.of(Json.toMap(getHeader())); } + public Site trans() { + if (Trans.pass()) return this; + List categories = new ArrayList<>(); + for (String cate : getCategories()) categories.add(Trans.s2t(cate)); + setCategories(categories); + return this; + } + public Site sync() { Site item = find(getKey()); if (item == null) return this; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index 5771e4c9b..629d78c8d 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -52,7 +52,6 @@ import com.fongmi.android.tv.utils.FileChooser; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.net.OkHttp; -import com.github.catvod.utils.Trans; import com.google.common.net.HttpHeaders; import org.greenrobot.eventbus.EventBus; @@ -160,7 +159,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal private Result handle(Result result) { List types = new ArrayList<>(); for (Class type : result.getTypes()) if (result.getFilters().containsKey(type.getTypeId())) type.setFilters(result.getFilters().get(type.getTypeId())); - for (String cate : getSite().getCategories()) for (Class type : result.getTypes()) if (Trans.s2t(cate).equals(type.getTypeName())) types.add(type); + for (String cate : getSite().getCategories()) for (Class type : result.getTypes()) if (cate.equals(type.getTypeName())) types.add(type); result.setTypes(types); return result; }