From 8b5ecc72885b6b6dc6d2a5169ff36383dd6b4b3e Mon Sep 17 00:00:00 2001 From: yattoz <12408848+yattoz@users.noreply.github.com> Date: Mon, 16 Dec 2019 23:58:58 +0100 Subject: [PATCH] Tied programme name to songTitleNextText. --- .../java/fr/forum_thalie/tsumugi/RadioService.kt | 2 +- .../fr/forum_thalie/tsumugi/planning/Planning.kt | 11 ++++++++++- .../tsumugi/ui/nowplaying/NowPlayingFragment.kt | 15 +++++++++++---- app/src/main/res/layout/fragment_nowplaying.xml | 7 ++++--- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt b/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt index c94f06d..cb5ba8c 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt @@ -130,7 +130,7 @@ class RadioService : MediaBrowserServiceCompat() { PlayerStore.instance.updateLp() } nowPlayingNotification.update(this) - Log.d(tag, Planning.instance.currentProgramme()) + Planning.instance.checkProgramme() } private val streamerPictureObserver = Observer { diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/planning/Planning.kt b/app/src/main/java/fr/forum_thalie/tsumugi/planning/Planning.kt index 5be46d4..03b69f6 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/planning/Planning.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/planning/Planning.kt @@ -1,6 +1,7 @@ package fr.forum_thalie.tsumugi.planning import android.content.Context +import androidx.lifecycle.MutableLiveData import fr.forum_thalie.tsumugi.Async import org.json.JSONObject import java.io.IOException @@ -10,8 +11,9 @@ class Planning { private val programmes: ArrayList = ArrayList() private var regularProgramme: String? = null + val currentProgramme: MutableLiveData = MutableLiveData() - fun currentProgramme(): String + private fun findCurrentProgramme(): String { programmes.forEach { if (it.isCurrent()) @@ -20,6 +22,13 @@ class Planning { return regularProgramme ?: "none" } + fun checkProgramme() + { + val newProgramme = findCurrentProgramme() + if (currentProgramme.value != newProgramme) + currentProgramme.value = newProgramme + } + fun parseUrl(url: String? = null, context: Context? = null) { val scrape : (Any?) -> String = { diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/ui/nowplaying/NowPlayingFragment.kt b/app/src/main/java/fr/forum_thalie/tsumugi/ui/nowplaying/NowPlayingFragment.kt index f2fb0db..14eb0a7 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/ui/nowplaying/NowPlayingFragment.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/ui/nowplaying/NowPlayingFragment.kt @@ -21,8 +21,10 @@ import com.google.android.material.snackbar.BaseTransientBottomBar import com.google.android.material.snackbar.Snackbar import fr.forum_thalie.tsumugi.* import fr.forum_thalie.tsumugi.alarm.RadioSleeper +import fr.forum_thalie.tsumugi.planning.Planning import fr.forum_thalie.tsumugi.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.Song +import kotlinx.android.synthetic.main.fragment_nowplaying.* class NowPlayingFragment : Fragment() { @@ -51,10 +53,11 @@ class NowPlayingFragment : Fragment() { val streamerPictureImageView: ImageView = root.findViewById(R.id.streamerPicture) // Note: these values are not used in the generic app, but if you want to, you can use them. - /* - val streamerNameText : TextView = root.findViewById(R.id.streamerName) val songTitleNextText: TextView = root.findViewById(R.id.text_song_title_next) val songArtistNextText: TextView = root.findViewById(R.id.text_song_artist_next) + + /* + val streamerNameText : TextView = root.findViewById(R.id.streamerName) val listenersText : TextView = root.findViewById(R.id.listenersCount) */ @@ -86,11 +89,15 @@ class NowPlayingFragment : Fragment() { PlayerStore.instance.currentSong.title.observe(viewLifecycleOwner, Observer { - songTitleText.text = it + songTitleText.text = it + }) + + Planning.instance.currentProgramme.observe(viewLifecycleOwner, Observer { + songTitleNextText.text = it }) PlayerStore.instance.currentSong.artist.observe(viewLifecycleOwner, Observer { - songArtistText.text = it + songArtistText.text = it }) PlayerStore.instance.playbackState.observe(viewLifecycleOwner, Observer { diff --git a/app/src/main/res/layout/fragment_nowplaying.xml b/app/src/main/res/layout/fragment_nowplaying.xml index 5903044..2336dc4 100644 --- a/app/src/main/res/layout/fragment_nowplaying.xml +++ b/app/src/main/res/layout/fragment_nowplaying.xml @@ -173,7 +173,7 @@ android:orientation="vertical" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" - android:visibility="gone" + android:visibility="visible" > + app:layout_constraintTop_toBottomOf="@id/upNext" + android:visibility="gone"/>