Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
305e1362a6 | ||
|
|
e9773c1353 |
@@ -8,8 +8,8 @@ android {
|
|||||||
applicationId "com.streamplayer"
|
applicationId "com.streamplayer"
|
||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 100500
|
versionCode 100700
|
||||||
versionName "10.0.5"
|
versionName "10.0.7"
|
||||||
buildConfigField "String", "DEVICE_REGISTRY_URL", '"http://194.163.191.200:4000"'
|
buildConfigField "String", "DEVICE_REGISTRY_URL", '"http://194.163.191.200:4000"'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -127,6 +127,8 @@ public class EventRepository {
|
|||||||
|
|
||||||
JSONArray array = new JSONArray(json);
|
JSONArray array = new JSONArray(json);
|
||||||
List<EventItem> events = new ArrayList<>();
|
List<EventItem> events = new ArrayList<>();
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
|
||||||
|
|
||||||
for (int i = 0; i < array.length(); i++) {
|
for (int i = 0; i < array.length(); i++) {
|
||||||
JSONObject obj = array.getJSONObject(i);
|
JSONObject obj = array.getJSONObject(i);
|
||||||
String title = obj.optString("title");
|
String title = obj.optString("title");
|
||||||
@@ -135,8 +137,20 @@ public class EventRepository {
|
|||||||
String status = obj.optString("status");
|
String status = obj.optString("status");
|
||||||
String link = obj.optString("link");
|
String link = obj.optString("link");
|
||||||
String normalized = normalizeLink(link);
|
String normalized = normalizeLink(link);
|
||||||
|
|
||||||
|
// Ajustar hora: la web muestra hora de España, Argentina es +2 horas
|
||||||
|
String displayTime = time;
|
||||||
|
try {
|
||||||
|
if (time != null && !time.isEmpty()) {
|
||||||
|
LocalTime localTime = LocalTime.parse(time.trim(), formatter);
|
||||||
|
LocalTime adjustedTime = localTime.plusHours(2);
|
||||||
|
displayTime = adjustedTime.format(formatter);
|
||||||
|
}
|
||||||
|
} catch (DateTimeParseException ignored) {
|
||||||
|
}
|
||||||
|
|
||||||
long startMillis = parseEventTime(time);
|
long startMillis = parseEventTime(time);
|
||||||
events.add(new EventItem(title, time, category, status, normalized, extractChannelName(link), startMillis));
|
events.add(new EventItem(title, displayTime, category, status, normalized, extractChannelName(link), startMillis));
|
||||||
}
|
}
|
||||||
return Collections.unmodifiableList(events);
|
return Collections.unmodifiableList(events);
|
||||||
}
|
}
|
||||||
@@ -167,9 +181,11 @@ public class EventRepository {
|
|||||||
try {
|
try {
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
|
||||||
LocalTime localTime = LocalTime.parse(time.trim(), formatter);
|
LocalTime localTime = LocalTime.parse(time.trim(), formatter);
|
||||||
|
// Ajustar hora: la web muestra hora de España, Argentina es +2 horas
|
||||||
|
LocalTime adjustedTime = localTime.plusHours(2);
|
||||||
ZoneId zone = ZoneId.of("America/Argentina/Buenos_Aires");
|
ZoneId zone = ZoneId.of("America/Argentina/Buenos_Aires");
|
||||||
LocalDate today = LocalDate.now(zone);
|
LocalDate today = LocalDate.now(zone);
|
||||||
ZonedDateTime start = ZonedDateTime.of(LocalDateTime.of(today, localTime), zone);
|
ZonedDateTime start = ZonedDateTime.of(LocalDateTime.of(today, adjustedTime), zone);
|
||||||
ZonedDateTime now = ZonedDateTime.now(zone);
|
ZonedDateTime now = ZonedDateTime.now(zone);
|
||||||
if (start.isBefore(now.minusHours(12))) {
|
if (start.isBefore(now.minusHours(12))) {
|
||||||
start = start.plusDays(1);
|
start = start.plusDays(1);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import com.google.android.exoplayer2.MediaItem;
|
|||||||
import com.google.android.exoplayer2.PlaybackException;
|
import com.google.android.exoplayer2.PlaybackException;
|
||||||
import com.google.android.exoplayer2.Player;
|
import com.google.android.exoplayer2.Player;
|
||||||
import com.google.android.exoplayer2.DefaultRenderersFactory;
|
import com.google.android.exoplayer2.DefaultRenderersFactory;
|
||||||
|
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
||||||
import com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource;
|
import com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource;
|
||||||
import com.google.android.exoplayer2.source.MediaSource;
|
import com.google.android.exoplayer2.source.MediaSource;
|
||||||
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
|
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
|
||||||
@@ -46,6 +47,7 @@ public class PlayerActivity extends AppCompatActivity {
|
|||||||
private View playerToolbar;
|
private View playerToolbar;
|
||||||
|
|
||||||
private ExoPlayer player;
|
private ExoPlayer player;
|
||||||
|
private DefaultTrackSelector trackSelector;
|
||||||
private String channelName;
|
private String channelName;
|
||||||
private String channelUrl;
|
private String channelUrl;
|
||||||
private boolean overlayVisible = true;
|
private boolean overlayVisible = true;
|
||||||
@@ -115,7 +117,16 @@ public class PlayerActivity extends AppCompatActivity {
|
|||||||
DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(this)
|
DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(this)
|
||||||
.setEnableDecoderFallback(true)
|
.setEnableDecoderFallback(true)
|
||||||
.setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON);
|
.setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON);
|
||||||
|
|
||||||
|
// Configurar track selector para máxima calidad
|
||||||
|
trackSelector = new DefaultTrackSelector(this);
|
||||||
|
DefaultTrackSelector.Parameters params = trackSelector.buildUponParameters()
|
||||||
|
.setForceHighestSupportedBitrate(true) // Forzar máximo bitrate
|
||||||
|
.build();
|
||||||
|
trackSelector.setParameters(params);
|
||||||
|
|
||||||
player = new ExoPlayer.Builder(this, renderersFactory)
|
player = new ExoPlayer.Builder(this, renderersFactory)
|
||||||
|
.setTrackSelector(trackSelector)
|
||||||
.setSeekForwardIncrementMs(10_000)
|
.setSeekForwardIncrementMs(10_000)
|
||||||
.setSeekBackIncrementMs(10_000)
|
.setSeekBackIncrementMs(10_000)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
Reference in New Issue
Block a user