Add url-tvg detect for m3u

pull/586/head
FongMi 1 year ago
parent 0fe6afefae
commit bec51d42ff
  1. 2
      app/build.gradle
  2. 6
      app/src/main/java/com/fongmi/android/tv/api/LiveParser.java

@ -14,7 +14,7 @@ android {
//noinspection ExpiredTargetSdkVersion
targetSdk 28
versionCode 265
versionName "1203"
versionName "1203v2"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]

@ -28,7 +28,8 @@ public class LiveParser {
private static final Pattern CATCHUP_SOURCE = Pattern.compile(".*catchup-source=\"(.?|.+?)\".*");
private static final Pattern CATCHUP = Pattern.compile(".*catchup=\"(.?|.+?)\".*");
private static final Pattern TVG_URL = Pattern.compile(".*x-tvg-url=[\"']?([^\"'\\n,]+(?:,[^\"'\\n,]+)*)[\"']?");
private static final Pattern TVG_URL = Pattern.compile(".*tvg-url=([^\\s]+)");
private static final Pattern URL_TVG = Pattern.compile(".*url-tvg=([^\\s]+)");
private static final Pattern TVG_NAME = Pattern.compile(".*tvg-name=\"(.?|.+?)\".*");
private static final Pattern TVG_LOGO = Pattern.compile(".*tvg-logo=\"(.?|.+?)\".*");
private static final Pattern GROUP = Pattern.compile(".*group-title=\"(.?|.+?)\".*");
@ -88,7 +89,8 @@ public class LiveParser {
} else if (line.startsWith("#EXTM3U")) {
catchup.setType(extract(line, CATCHUP));
catchup.setSource(extract(line, CATCHUP_SOURCE));
if (live.getEpg().isEmpty()) live.setEpg(extract(line, TVG_URL));
if (live.getEpg().isEmpty()) live.setEpg(extract(line, TVG_URL).replace("\"", ""));
if (live.getEpg().isEmpty()) live.setEpg(extract(line, URL_TVG).replace("\"", ""));
} else if (line.startsWith("#EXTINF:")) {
Group group = live.find(Group.create(extract(line, GROUP), live.isPass()));
channel = group.find(Channel.create(extract(line, NAME)));

Loading…
Cancel
Save