MCPcopy Create free account
hub / github.com/FongMi/CatVodSpider / XStream

Class XStream

app/src/main/java/com/github/catvod/bean/xtream/XStream.java:16–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14import okhttp3.HttpUrl;
15
16public class XStream {
17
18 @SerializedName("name")
19 private String name;
20 @SerializedName("stream_id")
21 private String streamId;
22 @SerializedName("stream_type")
23 private String streamType;
24 @SerializedName("stream_icon")
25 private String streamIcon;
26 @SerializedName("epg_channel_id")
27 private String epgChannelId;
28 @SerializedName("category_id")
29 private String categoryId;
30 @SerializedName("container_extension")
31 private String containerExtension;
32
33 public static List<XStream> arrayFrom(String str) {
34 Type listType = TypeToken.getParameterized(List.class, XStream.class).getType();
35 List<XStream> items = new Gson().fromJson(str, listType);
36 return items == null ? Collections.emptyList() : items;
37 }
38
39 public String getName() {
40 return TextUtils.isEmpty(name) ? "" : name;
41 }
42
43 public String getStreamId() {
44 return TextUtils.isEmpty(streamId) ? "" : streamId;
45 }
46
47 public String getStreamType() {
48 return TextUtils.isEmpty(streamType) ? "" : streamType;
49 }
50
51 public String getStreamIcon() {
52 return TextUtils.isEmpty(streamIcon) ? "" : streamIcon;
53 }
54
55 public String getEpgChannelId() {
56 return TextUtils.isEmpty(epgChannelId) ? "" : epgChannelId;
57 }
58
59 public String getCategoryId() {
60 return TextUtils.isEmpty(categoryId) ? "" : categoryId;
61 }
62
63 public String getContainerExtension() {
64 return TextUtils.isEmpty(containerExtension) ? "" : containerExtension;
65 }
66
67 public List<String> getPlayUrl(Config config) {
68 List<String> urls = new ArrayList<>();
69 if (!getContainerExtension().isEmpty()) urls.add(getBuilder(config).addPathSegment(getStreamType()).addPathSegment(config.getName()).addPathSegment(config.getPass()).addPathSegment(getStreamId() + "." + getContainerExtension()).build().toString());
70 else for (String format : config.getFormats()) urls.add(getBuilder(config).addPathSegment(getStreamType()).addPathSegment(config.getName()).addPathSegment(config.getPass()).addPathSegment(getStreamId() + "." + format + "$" + format.toUpperCase()).build().toString());
71 return urls;
72 }
73

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected