Optimize epg catchup

pull/496/head
FongMi 2 years ago
parent 37001fbbc4
commit c0acf3e9b6
  1. 7
      app/src/main/java/com/fongmi/android/tv/bean/Catchup.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java

@ -1,5 +1,6 @@
package com.fongmi.android.tv.bean;
import android.net.Uri;
import android.text.TextUtils;
import com.google.gson.annotations.SerializedName;
@ -71,10 +72,12 @@ public class Catchup {
return getSource().isEmpty();
}
public String format(EpgData data) {
public String format(String url, EpgData data) {
String result = getSource();
Matcher matcher = Pattern.compile("(\\$\\{[^}]*\\})").matcher(result);
while (matcher.find()) result = result.replace(matcher.group(1), data.format(matcher.group(1)));
return result;
if (!TextUtils.isEmpty(Uri.parse(url).getQuery())) result = result.replace("?", "&");
if (url.contains("/PLTV/")) url = url.replace("/PLTV/", "/TVOD/");
return url + result;
}
}

@ -80,7 +80,7 @@ public class LiveViewModel extends ViewModel {
execute(URL, () -> {
item.setMsg(null);
Source.get().stop();
item.setUrl(item.getCurrent() + item.getCatchup().format(data));
item.setUrl(item.getCatchup().format(item.getCurrent(), data));
return item;
});
}

Loading…
Cancel
Save