From 62431492f300db0978c8c575e47bdd1468bf76c1 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 21 Feb 2024 16:17:09 +0800 Subject: [PATCH] Update part api --- .../android/tv/ui/activity/VideoActivity.java | 2 +- .../java/com/fongmi/android/tv/bean/Part.java | 42 ++++++++++++------- 2 files changed, 29 insertions(+), 15 deletions(-) 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 32490bd1f..5ce75a2c8 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 @@ -980,7 +980,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private void getPart(String source) { - OkHttp.newCall("http://api.pullword.com/get.php?source=" + URLEncoder.encode(source.trim()) + "¶m1=0¶m2=0&json=1").enqueue(new Callback() { + 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()); 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 d5142246e..1cc15c384 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 @@ -4,34 +4,48 @@ import android.text.TextUtils; import com.fongmi.android.tv.App; import com.google.gson.annotations.SerializedName; -import com.google.gson.reflect.TypeToken; -import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class Part { - @SerializedName("t") - private String t; + @SerializedName("data") + private Data data; - private static List arrayFrom(String str) { - try { - Type listType = new TypeToken>() {}.getType(); - return App.gson().fromJson(str, listType); - } catch (Exception e) { - return new ArrayList<>(); - } + 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 (Part item : arrayFrom(str)) items.add(item.getT()); + for (Data.Word word : objectFrom(str).getData().getWords()) items.add(word.getWord()); return items; } - public String getT() { - return TextUtils.isEmpty(t) ? "" : t; + 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; + } + } } }