From 49c0c75ab4f54d944c9d9534803b9cd2ac3f8b8d Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 19 Jul 2024 12:01:25 +0800 Subject: [PATCH] Add timeZone param for live epg --- .../com/fongmi/android/tv/model/LiveViewModel.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java index 84b2efe6f..bd8d06b6d 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java @@ -1,5 +1,7 @@ package com.fongmi.android.tv.model; +import android.net.Uri; + import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; @@ -22,6 +24,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; import java.util.Locale; +import java.util.TimeZone; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -59,6 +62,7 @@ public class LiveViewModel extends ViewModel { public void getLive(Live item) { execute(LIVE, () -> { VodConfig.get().setRecent(item.getJar()); + setTimeZone(item.getEpg()); LiveParser.start(item); verify(item); return item; @@ -94,6 +98,16 @@ public class LiveViewModel extends ViewModel { }); } + private void setTimeZone(String url) { + try { + if (!url.contains("serverTimeZone=")) return; + TimeZone timeZone = TimeZone.getTimeZone(Uri.parse(url).getQueryParameter("serverTimeZone")); + formatTime.setTimeZone(timeZone); + formatDate.setTimeZone(timeZone); + } catch (Exception ignored) { + } + } + private void verify(Live item) { Iterator iterator = item.getGroups().iterator(); while (iterator.hasNext()) if (iterator.next().isEmpty()) iterator.remove();