pull/586/head
FongMi 1 year ago
parent a78e1ae6c2
commit c03c2e991e
  1. 26
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 53
      app/src/main/java/com/fongmi/android/tv/bean/Part.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<String> 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<String> items = Arrays.asList(source);
App.post(() -> setPartAdapter(items));
}
});
}
private void setPartAdapter(List<String> items) {
mBinding.part.setVisibility(View.VISIBLE);
mPartAdapter.setItems(items, null);

@ -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<String> get(String str) {
List<String> 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<Word> words;
public List<Word> 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<String> get(String source) {
List<String> 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;
}
}

Loading…
Cancel
Save