Compare commits

...

3 Commits

Author SHA1 Message Date
FongMi 368d3044b7 Fix color 1 week ago
FongMi 30524c8940 Clean code 1 week ago
FongMi 36b2cd5f91 Fix focus color 1 week ago
  1. 5
      app/src/leanback/res/values/colors.xml
  2. 3
      app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java
  3. 3
      app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java
  4. 5
      app/src/main/java/com/fongmi/android/tv/api/parser/LiveParser.java
  5. 3
      app/src/main/java/com/fongmi/android/tv/player/ParseJob.java
  6. 3
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomMovement.java
  7. 3
      app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java
  8. 12
      catvod/src/main/java/com/github/catvod/utils/Json.java

@ -1,7 +1,8 @@
<resources>
<color name="primary">@color/black</color>
<color name="primaryDark">@color/black</color>
<color name="primary">@color/blue_500</color>
<color name="primaryDark">@color/blue_700</color>
<color name="accent">@color/blue_500</color>
<color name="text_highlight">@color/white_30</color>
</resources>

@ -22,6 +22,7 @@ import com.github.catvod.bean.Header;
import com.github.catvod.bean.Proxy;
import com.github.catvod.utils.Json;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.ArrayList;
import java.util.Collections;
@ -115,7 +116,7 @@ public class LiveConfig extends BaseConfig {
@Override
protected void load(Config config) throws Throwable {
String json = Decoder.getJson(UrlUtil.convert(config.getUrl()), TAG);
if (Json.isObj(json)) checkJson(config, Json.parse(json).getAsJsonObject());
if (Json.isObj(json)) checkJson(config, JsonParser.parseString(json).getAsJsonObject());
else parseText(config, json);
}

@ -19,6 +19,7 @@ import com.github.catvod.bean.Header;
import com.github.catvod.bean.Proxy;
import com.github.catvod.utils.Json;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.ArrayList;
import java.util.Collections;
@ -112,7 +113,7 @@ public class VodConfig extends BaseConfig {
@Override
protected void load(Config config) throws Throwable {
String json = Decoder.getJson(UrlUtil.convert(config.getUrl()), TAG);
checkJson(config, Json.parse(json).getAsJsonObject());
checkJson(config, JsonParser.parseString(json).getAsJsonObject());
}
@Override

@ -11,6 +11,7 @@ import com.fongmi.android.tv.bean.Live;
import com.fongmi.android.tv.utils.UrlUtil;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.google.gson.JsonParser;
import java.util.HashMap;
import java.util.Map;
@ -302,8 +303,8 @@ public class LiveParser {
private void header(String line) {
try {
if (line.contains("#EXTHTTP:")) header.putAll(Json.toMap(Json.parse(line.split("#EXTHTTP:")[1].trim())));
if (line.contains("header=")) header.putAll(Json.toMap(Json.parse(line.split("header=")[1].trim())));
if (line.contains("#EXTHTTP:")) header.putAll(Json.toMap(JsonParser.parseString(line.split("#EXTHTTP:")[1].trim())));
if (line.contains("header=")) header.putAll(Json.toMap(JsonParser.parseString(line.split("header=")[1].trim())));
} catch (Exception e) {
e.printStackTrace();
}

@ -20,6 +20,7 @@ import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.ArrayList;
import java.util.HashMap;
@ -115,7 +116,7 @@ public class ParseJob implements ParseCallback {
private void jsonParse(Parse item, String webUrl, boolean fatal) throws Exception {
try (Response res = OkHttp.newCall(item.getUrl() + webUrl, item.getHeader()).execute()) {
JsonObject object = Json.parse(res.body().string()).getAsJsonObject();
JsonObject object = JsonParser.parseString(res.body().string()).getAsJsonObject();
String url = Json.safeString(object, "url");
JsonObject data = object.getAsJsonObject("data");
if (url.isEmpty()) url = Json.safeString(data, "url");

@ -12,7 +12,9 @@ import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.KeyUtil;
import com.fongmi.android.tv.utils.ResUtil;
public class CustomMovement extends ScrollingMovementMethod {
@ -31,6 +33,7 @@ public class CustomMovement extends ScrollingMovementMethod {
CharSequence text = view.getText();
boolean hasLinks = text instanceof Spannable && ((Spannable) text).getSpans(0, text.length(), ClickableSpan.class).length > 0;
view.setMovementMethod(hasLinks ? CustomMovement.getInstance() : null);
if (hasLinks) view.setHighlightColor(ResUtil.getColor(R.color.text_highlight));
}
@Override

@ -27,6 +27,7 @@ import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.impl.CustomTarget;
import com.github.catvod.utils.Json;
import com.google.common.net.HttpHeaders;
import com.google.gson.JsonParser;
import java.util.Collections;
import java.util.HashSet;
@ -94,7 +95,7 @@ public class ImgUtil {
}
private static void addHeader(LazyHeaders.Builder builder, String header) {
Map<String, String> map = Json.toMap(Json.parse(header));
Map<String, String> map = Json.toMap(JsonParser.parseString(header));
for (Map.Entry<String, String> entry : map.entrySet()) builder.addHeader(UrlUtil.fixHeader(entry.getKey()), entry.getValue());
}

@ -16,14 +16,6 @@ import java.util.Map;
public class Json {
public static JsonElement parse(String json) {
try {
return JsonParser.parseString(json);
} catch (Throwable e) {
return new JsonObject();
}
}
public static boolean isObj(String text) {
try {
if (TextUtils.isEmpty(text)) return false;
@ -79,7 +71,7 @@ public class Json {
public static JsonObject safeObject(JsonElement element) {
try {
if (element.isJsonPrimitive()) element = parse(element.getAsJsonPrimitive().getAsString());
if (element.isJsonPrimitive()) element = JsonParser.parseString(element.getAsJsonPrimitive().getAsString());
return element.getAsJsonObject();
} catch (Exception e) {
return new JsonObject();
@ -87,7 +79,7 @@ public class Json {
}
public static Map<String, String> toMap(String json) {
return TextUtils.isEmpty(json) ? null : toMap(parse(json));
return TextUtils.isEmpty(json) ? null : toMap(JsonParser.parseString(json));
}
public static Map<String, String> toMap(JsonElement element) {

Loading…
Cancel
Save