2020-10-08 22:20:20 +02:00
package org.mosad.teapod.ui.library
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
2020-10-15 13:00:44 +02:00
import androidx.recyclerview.widget.GridLayoutManager
2020-10-08 22:20:20 +02:00
import kotlinx.android.synthetic.main.fragment_library.*
2020-10-09 13:02:58 +02:00
import kotlinx.coroutines.*
2020-10-11 10:02:00 +02:00
import org.mosad.teapod.MainActivity
2020-10-08 22:20:20 +02:00
import org.mosad.teapod.R
import org.mosad.teapod.parser.AoDParser
2020-10-15 13:00:44 +02:00
import org.mosad.teapod.util.MediaItemDecoration
2020-10-14 20:22:20 +02:00
import org.mosad.teapod.util.adapter.MediaItemAdapter
2020-10-08 22:20:20 +02:00
class LibraryFragment : Fragment ( ) {
2020-10-15 13:00:44 +02:00
private lateinit var adapter : MediaItemAdapter
private lateinit var layoutManager : GridLayoutManager
2020-10-08 22:20:20 +02:00
override fun onCreateView ( inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ) : View ? {
2020-10-09 13:02:58 +02:00
return inflater . inflate ( R . layout . fragment _library , container , false )
2020-10-08 22:20:20 +02:00
}
override fun onViewCreated ( view : View , savedInstanceState : Bundle ? ) {
super . onViewCreated ( view , savedInstanceState )
2020-10-15 13:00:44 +02:00
// init async
2020-10-09 13:02:58 +02:00
GlobalScope . launch {
2020-10-11 10:02:00 +02:00
if ( AoDParser . mediaList . isEmpty ( ) ) {
AoDParser ( ) . listAnimes ( )
}
2020-10-09 13:25:12 +02:00
// create and set the adapter, needs context
2020-10-09 13:02:58 +02:00
withContext ( Dispatchers . Main ) {
2020-10-12 20:30:45 +02:00
context ?. let {
2020-10-15 13:00:44 +02:00
layoutManager = GridLayoutManager ( context , 2 )
adapter = MediaItemAdapter ( AoDParser . mediaList )
adapter . onItemClick = { media , _ ->
( activity as MainActivity ) . showMediaFragment ( media )
}
recycler _media _library . layoutManager = layoutManager
recycler _media _library . adapter = adapter
recycler _media _library . addItemDecoration ( MediaItemDecoration ( 9 ) )
2020-10-12 20:30:45 +02:00
}
2020-10-09 13:02:58 +02:00
}
2020-10-08 22:20:20 +02:00
}
}
}