From 640b9b1494c8e6d5e1ce34b3d4f4a8a9550efd3d Mon Sep 17 00:00:00 2001 From: FongMi Date: Sun, 11 May 2025 11:06:27 +0800 Subject: [PATCH] Fix m3u parser --- app/src/main/java/com/fongmi/android/tv/api/LiveParser.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java b/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java index 84156ac3a..4fe6ae257 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java +++ b/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java @@ -20,7 +20,7 @@ import java.util.regex.Pattern; public class LiveParser { - private static final Pattern M3U = Pattern.compile("^(?!.*#genre#)(#EXTM3U|#EXTINF)"); + private static final Pattern M3U = Pattern.compile("^(?!.*#genre#).*#EXT(?:M3U|INF).*", Pattern.MULTILINE); private static final Pattern CATCHUP_REPLACE = Pattern.compile(".*catchup-replace=\"(.?|.+?)\".*"); private static final Pattern CATCHUP_SOURCE = Pattern.compile(".*catchup-source=\"(.?|.+?)\".*"); private static final Pattern CATCHUP = Pattern.compile(".*catchup=\"(.?|.+?)\".*"); @@ -97,6 +97,7 @@ public class LiveParser { if (live.getEpg().isEmpty()) live.setEpg(extract(line, URL_TVG).replace("\"", "")); if (live.getEpg().isEmpty()) live.setEpg(extract(line, "tvg-url=", "url-tvg=")); } else if (line.startsWith("#EXTINF:")) { + if (line.contains("group-logo=")) continue; Group group = live.find(Group.create(extract(line, GROUP), live.isPass())); channel = group.find(Channel.create(extract(line, NAME))); channel.setTvgName(extract(line, TVG_NAME));