Live support header and referer

pull/123/head
FongMi 3 years ago
parent 185b5fefbb
commit 4f54582565
  1. 32
      app/src/main/java/com/fongmi/android/tv/bean/Channel.java
  2. 12
      app/src/main/java/com/fongmi/android/tv/bean/Live.java
  3. 5
      app/src/main/java/com/fongmi/android/tv/utils/Json.java

@ -7,6 +7,7 @@ import android.widget.ImageView;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.ImgUtil;
import com.fongmi.android.tv.utils.Json;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.common.net.HttpHeaders;
import com.google.gson.Gson;
@ -15,7 +16,6 @@ import com.google.gson.annotations.SerializedName;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@ -34,6 +34,10 @@ public class Channel {
private String name;
@SerializedName("ua")
private String ua;
@SerializedName("referer")
private String referer;
@SerializedName("header")
private JsonElement header;
private boolean selected;
private Group group;
@ -112,6 +116,22 @@ public class Channel {
this.ua = ua;
}
public String getReferer() {
return TextUtils.isEmpty(referer) ? "" : referer;
}
public void setReferer(String referer) {
this.referer = referer;
}
public JsonElement getHeader() {
return header;
}
public void setHeader(JsonElement header) {
this.header = header;
}
public Group getGroup() {
return group;
}
@ -206,6 +226,8 @@ public class Channel {
public void live(Live live) {
if (live.getUa().length() > 0 && getUa().isEmpty()) setUa(live.getUa());
if (live.getHeader() != null && getHeader() == null) setHeader(live.getHeader());
if (live.getReferer().length() > 0 && getReferer().isEmpty()) setReferer(live.getReferer());
if (!getEpg().startsWith("http")) setEpg(live.getEpg().replace("{name}", getName()).replace("{epg}", getEpg()));
if (!getLogo().startsWith("http")) setLogo(live.getLogo().replace("{name}", getName()).replace("{logo}", getLogo()));
}
@ -239,10 +261,10 @@ public class Channel {
}
public Map<String, String> getHeaders() {
HashMap<String, String> map = new HashMap<>();
if (getUa().isEmpty()) return map;
map.put(HttpHeaders.USER_AGENT, getUa());
return map;
Map<String, String> headers = Json.toMap(getHeader());
if (!getUa().isEmpty()) headers.put(HttpHeaders.USER_AGENT, getUa());
if (!getReferer().isEmpty()) headers.put(HttpHeaders.REFERER, getReferer());
return headers;
}
public Channel copy(Channel item) {

@ -32,6 +32,10 @@ public class Live {
private String epg;
@SerializedName("ua")
private String ua;
@SerializedName("referer")
private String referer;
@SerializedName("header")
private JsonElement header;
@SerializedName("playerType")
private Integer playerType;
@SerializedName("channels")
@ -98,6 +102,14 @@ public class Live {
return TextUtils.isEmpty(ua) ? "" : ua;
}
public String getReferer() {
return TextUtils.isEmpty(referer) ? "" : referer;
}
public JsonElement getHeader() {
return header;
}
public int getPlayerType() {
return playerType == null ? -1 : playerType == 1 ? 1 : 0;
}

@ -9,6 +9,7 @@ import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Json {
@ -58,8 +59,8 @@ public class Json {
}
}
public static HashMap<String, String> toMap(JsonElement element) {
HashMap<String, String> map = new HashMap<>();
public static Map<String, String> toMap(JsonElement element) {
Map<String, String> map = new HashMap<>();
JsonObject object = safeObject(element);
for (String key : object.keySet()) map.put(key, safeString(object, key));
return map;

Loading…
Cancel
Save