diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 2bc052844..6ad41f502 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -55,7 +55,6 @@ import com.fongmi.android.tv.event.ActionEvent; import com.fongmi.android.tv.event.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.event.RefreshEvent; -import com.fongmi.android.tv.impl.Callback; import com.fongmi.android.tv.model.SiteViewModel; import com.fongmi.android.tv.player.Players; import com.fongmi.android.tv.player.exo.ExoUtil; @@ -81,7 +80,6 @@ import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Sniffer; import com.fongmi.android.tv.utils.Traffic; import com.github.bassaer.library.MDColor; -import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Trans; import com.permissionx.guolindev.PermissionX; @@ -89,8 +87,6 @@ import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.io.File; -import java.io.IOException; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -103,9 +99,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.regex.Matcher; -import okhttp3.Call; -import okhttp3.Response; - public class VideoActivity extends BaseActivity implements CustomKeyDownVod.Listener, TrackDialog.Listener, ArrayPresenter.OnClickListener, Clock.Callback { private ActivityVideoBinding mBinding; @@ -457,10 +450,10 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List setText(mBinding.content, R.string.detail_content, Html.fromHtml(item.getVodContent()).toString()); setText(mBinding.director, R.string.detail_director, Html.fromHtml(item.getVodDirector()).toString()); mFlagAdapter.setItems(item.getVodFlags(), null); + setPartAdapter(Part.get(item.getVodName())); mBinding.content.setMaxLines(getMaxLines()); mBinding.video.requestFocus(); setArtwork(item.getVodPic()); - getPart(item.getVodName()); App.removeCallbacks(mR4); checkHistory(item); checkFlag(item); @@ -924,23 +917,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List }); } - private void getPart(String source) { - OkHttp.newCall("https://api.yesapi.cn/?service=App.Scws.GetWords&app_key=CEE4B8A091578B252AC4C92FB4E893C3&text=" + URLEncoder.encode(source.trim())).enqueue(new Callback() { - @Override - public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException { - List items = Part.get(response.body().string()); - if (!items.contains(source)) items.add(0, source); - App.post(() -> setPartAdapter(items)); - } - - @Override - public void onFailure(@NonNull Call call, @NonNull IOException e) { - List items = Arrays.asList(source); - App.post(() -> setPartAdapter(items)); - } - }); - } - private void setPartAdapter(List items) { mBinding.part.setVisibility(View.VISIBLE); mPartAdapter.setItems(items, null); diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Part.java b/app/src/main/java/com/fongmi/android/tv/bean/Part.java index 1cc15c384..6a31efd27 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Part.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Part.java @@ -1,51 +1,22 @@ package com.fongmi.android.tv.bean; -import android.text.TextUtils; - -import com.fongmi.android.tv.App; -import com.google.gson.annotations.SerializedName; - import java.util.ArrayList; -import java.util.Collections; +import java.util.Arrays; import java.util.List; public class Part { - @SerializedName("data") - private Data data; - - public static Part objectFrom(String str) { - return App.gson().fromJson(str, Part.class); - } - - public static List get(String str) { - List items = new ArrayList<>(); - if (TextUtils.isEmpty(str)) return items; - for (Data.Word word : objectFrom(str).getData().getWords()) items.add(word.getWord()); - return items; - } - - public Data getData() { - return data == null ? new Data() : data; - } - - public static class Data { - - @SerializedName("words") - private List words; - - public List getWords() { - return words == null ? Collections.emptyList() : words; - } - - public static class Word { - - @SerializedName("word") - private String word; - - public String getWord() { - return TextUtils.isEmpty(word) ? "" : word; - } + public static List get(String source) { + List items = new ArrayList<>(Arrays.asList(source.trim())); + if (source.contains(":")) { + for (String split : source.split(":")) items.add(split.trim().contains(" ") ? split.split(" ")[0].trim() : split.trim()); + } else if (source.contains("第") && source.contains("季")) { + for (String split : source.split("第")) if (!split.contains("季")) items.add(split.trim().contains(" ") ? split.split(" ")[0].trim() : split.trim()); + } else if (source.contains("(")) { + items.add(source.split("\\(")[0].trim()); + } else if (source.contains(" ")) { + items.addAll(Arrays.asList(source.split(" "))); } + return items; } }