diff --git a/app/src/main/java/com/github/catvod/bean/market/Data.java b/app/src/main/java/com/github/catvod/bean/market/Data.java new file mode 100644 index 00000000..18684fba --- /dev/null +++ b/app/src/main/java/com/github/catvod/bean/market/Data.java @@ -0,0 +1,45 @@ +package com.github.catvod.bean.market; + +import android.text.TextUtils; + +import com.github.catvod.bean.Class; +import com.github.catvod.bean.Vod; +import com.google.gson.Gson; +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 Data { + + @SerializedName("name") + private String name; + @SerializedName("list") + private List list; + + public static List arrayFrom(String str) { + Type listType = new TypeToken>() {}.getType(); + return new Gson().fromJson(str, listType); + } + + public String getName() { + return TextUtils.isEmpty(name) ? "" : name; + } + + public List getList() { + return list == null ? Collections.emptyList() : list; + } + + public List getVod() { + List list = new ArrayList<>(); + for (Item item : getList()) list.add(item.vod()); + return list; + } + + public Class type() { + return new Class(getName(), getName()); + } +} diff --git a/app/src/main/java/com/github/catvod/bean/market/Item.java b/app/src/main/java/com/github/catvod/bean/market/Item.java index 11e392a6..9f92c5d7 100644 --- a/app/src/main/java/com/github/catvod/bean/market/Item.java +++ b/app/src/main/java/com/github/catvod/bean/market/Item.java @@ -3,13 +3,7 @@ package com.github.catvod.bean.market; import android.text.TextUtils; import com.github.catvod.bean.Vod; -import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; -import com.google.gson.reflect.TypeToken; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.List; public class Item { @@ -19,11 +13,8 @@ public class Item { private String url; @SerializedName("icon") private String icon; - - public static List arrayFrom(String str) { - Type listType = new TypeToken>() {}.getType(); - return new Gson().fromJson(str, listType); - } + @SerializedName("version") + private String version; public String getName() { return TextUtils.isEmpty(name) ? "" : name; @@ -37,7 +28,11 @@ public class Item { return TextUtils.isEmpty(icon) ? "" : icon; } + public String getVersion() { + return TextUtils.isEmpty(version) ? "" : version; + } + public Vod vod() { - return new Vod(getUrl(), getName(), getIcon()); + return new Vod(getUrl(), getName(), getIcon(), getVersion(), Vod.Style.rect(1.0f)); } } diff --git a/app/src/main/java/com/github/catvod/spider/Market.java b/app/src/main/java/com/github/catvod/spider/Market.java index 14d98d6d..4cdbf767 100644 --- a/app/src/main/java/com/github/catvod/spider/Market.java +++ b/app/src/main/java/com/github/catvod/spider/Market.java @@ -5,9 +5,10 @@ import android.app.ProgressDialog; import android.content.Context; import android.net.Uri; +import com.github.catvod.bean.Class; import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; -import com.github.catvod.bean.market.Item; +import com.github.catvod.bean.market.Data; import com.github.catvod.crawler.Spider; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.FileUtil; @@ -18,6 +19,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import okhttp3.Response; @@ -25,7 +27,7 @@ import okhttp3.Response; public class Market extends Spider { private ProgressDialog dialog; - private List items; + private List datas; private boolean busy; public boolean isBusy() { @@ -38,14 +40,20 @@ public class Market extends Spider { @Override public void init(Context context, String extend) throws Exception { - items = Item.arrayFrom(extend); + datas = Data.arrayFrom(extend); } @Override - public String homeVideoContent() { - List list = new ArrayList<>(); - for (Item item : items) list.add(item.vod()); - return Result.string(list); + public String homeContent(boolean filter) throws Exception { + List classes = new ArrayList<>(); + if (datas.size() > 1) for (int i = 1; i < datas.size(); i++) classes.add(datas.get(i).type()); + return Result.string(classes, datas.get(0).getVod()); + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) throws Exception { + for (Data data : datas) if (data.getName().equals(tid)) return Result.string(data.getVod()); + return super.categoryContent(tid, pg, filter, extend); } @Override diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index a4c54701..c73c2399 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 9234582d..01d49be8 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -e7ecd94c00583729f5ee1a87370573ef +75e53be144f567045cf1de67327d5478