diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 415d9ca..c566f25 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,10 +5,12 @@ - + - @@ -43,11 +44,4 @@ - - - diff --git a/app/src/main/java/com/streamplayer/ChannelAdapter.java b/app/src/main/java/com/streamplayer/ChannelAdapter.java index 5e18d2e..7b362ca 100644 --- a/app/src/main/java/com/streamplayer/ChannelAdapter.java +++ b/app/src/main/java/com/streamplayer/ChannelAdapter.java @@ -46,6 +46,7 @@ public class ChannelAdapter extends RecyclerView.Adapter { float scale = hasFocus ? 1.08f : 1f; v.animate().scaleX(scale).scaleY(scale).setDuration(120).start(); + v.setSelected(hasFocus); }); } diff --git a/app/src/main/java/com/streamplayer/ChannelRepository.java b/app/src/main/java/com/streamplayer/ChannelRepository.java index bfeec39..1a1cdf8 100644 --- a/app/src/main/java/com/streamplayer/ChannelRepository.java +++ b/app/src/main/java/com/streamplayer/ChannelRepository.java @@ -1,12 +1,17 @@ package com.streamplayer; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.List; public final class ChannelRepository { - private static final List CHANNELS = Collections.unmodifiableList(Arrays.asList( + private static final List CHANNELS = createChannels(); + + private static List createChannels() { + List channels = new ArrayList<>(Arrays.asList( new StreamChannel("ESPN", "https://streamtpmedia.com/global2.php?stream=espn"), new StreamChannel("ESPN 2", "https://streamtpmedia.com/global2.php?stream=espn2"), new StreamChannel("ESPN 3", "https://streamtpmedia.com/global2.php?stream=espn3"), @@ -73,7 +78,10 @@ public final class ChannelRepository { new StreamChannel("TUDN MX", "https://streamtpmedia.com/global2.php?stream=TUDNMX"), new StreamChannel("FUTV", "https://streamtpmedia.com/global2.php?stream=futv"), new StreamChannel("LaLiga Hypermotion", "https://streamtpmedia.com/global2.php?stream=laligahypermotion") - )); + )); + channels.sort(Comparator.comparing(StreamChannel::getName, String.CASE_INSENSITIVE_ORDER)); + return Collections.unmodifiableList(channels); + } private ChannelRepository() { } diff --git a/app/src/main/res/drawable/bg_channel_item_selector.xml b/app/src/main/res/drawable/bg_channel_item_selector.xml index 1635de3..a31cbae 100644 --- a/app/src/main/res/drawable/bg_channel_item_selector.xml +++ b/app/src/main/res/drawable/bg_channel_item_selector.xml @@ -1,30 +1,39 @@ + + + + + + + - - + + - - + + - + + android:width="2dp" + android:color="#33FFFFFF" /> diff --git a/app/src/main/res/layout/item_channel.xml b/app/src/main/res/layout/item_channel.xml index c43f9dc..6c966f6 100644 --- a/app/src/main/res/layout/item_channel.xml +++ b/app/src/main/res/layout/item_channel.xml @@ -6,6 +6,7 @@ android:background="@drawable/bg_channel_item_selector" android:focusable="true" android:focusableInTouchMode="true" + android:defaultFocusHighlightEnabled="true" android:gravity="center_horizontal" android:orientation="vertical" android:padding="16dp"> diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml new file mode 100644 index 0000000..1c6eb7e --- /dev/null +++ b/app/src/main/res/values/arrays.xml @@ -0,0 +1,15 @@ + + + + Azteca Deportes + Canal 5 MX + Caliente TV MX + DAZN 1 + DAZN 2 + DAZN LaLiga + DSports + DSports 2 + DSports Plus + ESPN + +