add highlight (random of newly added (n=10))

This commit is contained in:
Jannik 2022-01-06 18:57:49 +01:00
parent 22d2d777c8
commit 349a0e451a
Signed by: Seil0
GPG Key ID: E8459F3723C52C24
1 changed files with 31 additions and 27 deletions

View File

@ -6,17 +6,19 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.joinAll import kotlinx.coroutines.joinAll
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.mosad.teapod.databinding.FragmentHomeBinding import org.mosad.teapod.databinding.FragmentHomeBinding
import org.mosad.teapod.parser.crunchyroll.Crunchyroll import org.mosad.teapod.parser.crunchyroll.Crunchyroll
import org.mosad.teapod.parser.crunchyroll.Item
import org.mosad.teapod.parser.crunchyroll.SortBy import org.mosad.teapod.parser.crunchyroll.SortBy
import org.mosad.teapod.util.ItemMedia
import org.mosad.teapod.util.adapter.MediaItemAdapter import org.mosad.teapod.util.adapter.MediaItemAdapter
import org.mosad.teapod.util.decoration.MediaItemDecoration import org.mosad.teapod.util.decoration.MediaItemDecoration
import org.mosad.teapod.util.showFragment import org.mosad.teapod.util.showFragment
import org.mosad.teapod.util.toItemMediaList import org.mosad.teapod.util.toItemMediaList
import kotlin.random.Random
class HomeFragment : Fragment() { class HomeFragment : Fragment() {
@ -26,7 +28,7 @@ class HomeFragment : Fragment() {
private lateinit var adapterNewTitles: MediaItemAdapter private lateinit var adapterNewTitles: MediaItemAdapter
private lateinit var adapterTopTen: MediaItemAdapter private lateinit var adapterTopTen: MediaItemAdapter
private lateinit var highlightMedia: ItemMedia private lateinit var highlightMedia: Item
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
binding = FragmentHomeBinding.inflate(inflater, container, false) binding = FragmentHomeBinding.inflate(inflater, container, false)
@ -46,20 +48,22 @@ class HomeFragment : Fragment() {
} }
private fun initHighlight() { private fun initHighlight() {
// TODO lifecycleScope.launch {
// if (AoDParser.highlightsList.isNotEmpty()) { val newTitles = Crunchyroll.browse(sortBy = SortBy.NEWLY_ADDED, n = 10)
// highlightMedia = AoDParser.highlightsList[0] highlightMedia = newTitles.items[Random.nextInt(newTitles.items.size)]
//
// binding.textHighlightTitle.text = highlightMedia.title // add media item to gui
// Glide.with(requireContext()).load(highlightMedia.posterUrl) binding.textHighlightTitle.text = highlightMedia.title
// .into(binding.imageHighlight) Glide.with(requireContext()).load(highlightMedia.images.poster_wide[0][3].source)
// .into(binding.imageHighlight)
// TODO watchlist indicator
// if (StorageController.myList.contains(0)) { // if (StorageController.myList.contains(0)) {
// binding.textHighlightMyList.setDrawableTop(R.drawable.ic_baseline_check_24) // binding.textHighlightMyList.setDrawableTop(R.drawable.ic_baseline_check_24)
// } else { // } else {
// binding.textHighlightMyList.setDrawableTop(R.drawable.ic_baseline_add_24) // binding.textHighlightMyList.setDrawableTop(R.drawable.ic_baseline_add_24)
// } // }
// } }
} }
/** /**
@ -88,11 +92,10 @@ class HomeFragment : Fragment() {
} }
asyncJobList.add(watchlistJob) asyncJobList.add(watchlistJob)
// new simulcasts TODO replace with new titles? browse(sortBy = SortBy.NEWLY_ADDED, n = 50) // new simulcasts
val simulcastsJob = lifecycleScope.launch { val simulcastsJob = lifecycleScope.launch {
// val latestSeasonTag = Crunchyroll.seasonList().items.first().id // val latestSeasonTag = Crunchyroll.seasonList().items.first().id
// val newSimulcasts = Crunchyroll.browse(seasonTag = latestSeasonTag, n = 50) // val newSimulcasts = Crunchyroll.browse(seasonTag = latestSeasonTag, n = 50)
val newSimulcasts = Crunchyroll.browse(sortBy = SortBy.NEWLY_ADDED, n = 50) val newSimulcasts = Crunchyroll.browse(sortBy = SortBy.NEWLY_ADDED, n = 50)
adapterNewTitles = MediaItemAdapter(newSimulcasts.toItemMediaList()) adapterNewTitles = MediaItemAdapter(newSimulcasts.toItemMediaList())
@ -100,18 +103,20 @@ class HomeFragment : Fragment() {
} }
asyncJobList.add(simulcastsJob) asyncJobList.add(simulcastsJob)
// top ten TODO // newly added / top ten
// adapterTopTen = MediaItemAdapter(AoDParser.topTenList) val newlyAddedJob = lifecycleScope.launch {
// binding.recyclerTopTen.adapter = adapterTopTen adapterTopTen = MediaItemAdapter(Crunchyroll.browse(sortBy = SortBy.POPULARITY, n = 10).toItemMediaList())
binding.recyclerTopTen.adapter = adapterTopTen
}
asyncJobList.add(newlyAddedJob)
asyncJobList.joinAll() asyncJobList.joinAll()
} }
private fun initActions() { private fun initActions() {
binding.buttonPlayHighlight.setOnClickListener { binding.buttonPlayHighlight.setOnClickListener {
// TODO get next episode // TODO implement
lifecycleScope.launch { lifecycleScope.launch {
// TODO
//val media = AoDParser.getMediaById(0) //val media = AoDParser.getMediaById(0)
// Log.d(javaClass.name, "Starting Player with mediaId: ${media.aodId}") // Log.d(javaClass.name, "Starting Player with mediaId: ${media.aodId}")
@ -120,8 +125,7 @@ class HomeFragment : Fragment() {
} }
binding.textHighlightMyList.setOnClickListener { binding.textHighlightMyList.setOnClickListener {
// TODO implement if needed // TODO implement
// if (StorageController.myList.contains(0)) { // if (StorageController.myList.contains(0)) {
// StorageController.myList.remove(0) // StorageController.myList.remove(0)
// binding.textHighlightMyList.setDrawableTop(R.drawable.ic_baseline_add_24) // binding.textHighlightMyList.setDrawableTop(R.drawable.ic_baseline_add_24)
@ -133,7 +137,7 @@ class HomeFragment : Fragment() {
} }
binding.textHighlightInfo.setOnClickListener { binding.textHighlightInfo.setOnClickListener {
activity?.showFragment(MediaFragment("")) activity?.showFragment(MediaFragment(highlightMedia.id))
} }
adapterUpNext.onItemClick = { id, _ -> adapterUpNext.onItemClick = { id, _ ->
@ -148,9 +152,9 @@ class HomeFragment : Fragment() {
activity?.showFragment(MediaFragment(id)) activity?.showFragment(MediaFragment(id))
} }
// adapterTopTen.onItemClick = { id, _ -> adapterTopTen.onItemClick = { id, _ ->
// activity?.showFragment(MediaFragment("")) //(mediaId)) activity?.showFragment(MediaFragment(id)) //(mediaId))
// } }
} }
} }