|
|
@ -1,38 +1,22 @@
|
|
|
|
package fr.iut.pm.movieapplication.ui.fragments
|
|
|
|
package fr.iut.pm.movieapplication.ui.fragments
|
|
|
|
|
|
|
|
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.util.Log
|
|
|
|
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
import android.view.View
|
|
|
|
import android.view.View
|
|
|
|
import android.view.ViewGroup
|
|
|
|
import android.view.ViewGroup
|
|
|
|
import android.widget.AdapterView
|
|
|
|
import android.widget.AdapterView
|
|
|
|
import android.widget.ArrayAdapter
|
|
|
|
import android.widget.ArrayAdapter
|
|
|
|
import android.widget.Spinner
|
|
|
|
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
import androidx.fragment.app.viewModels
|
|
|
|
import androidx.fragment.app.viewModels
|
|
|
|
import androidx.lifecycle.Observer
|
|
|
|
|
|
|
|
import androidx.recyclerview.widget.GridLayoutManager
|
|
|
|
|
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
|
|
|
|
|
import fr.iut.pm.movieapplication.R
|
|
|
|
import fr.iut.pm.movieapplication.R
|
|
|
|
import fr.iut.pm.movieapplication.databinding.FragmentMoviesBinding
|
|
|
|
import fr.iut.pm.movieapplication.databinding.FragmentMoviesBinding
|
|
|
|
import fr.iut.pm.movieapplication.model.media.movie.Movie
|
|
|
|
|
|
|
|
import fr.iut.pm.movieapplication.ui.adapter.MovieAdapter
|
|
|
|
|
|
|
|
import fr.iut.pm.movieapplication.ui.viewmodel.MoviesVM
|
|
|
|
import fr.iut.pm.movieapplication.ui.viewmodel.MoviesVM
|
|
|
|
import fr.iut.pm.movieapplication.utils.Constants.Companion.PAGE_SIZE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MoviesFragment(
|
|
|
|
class MoviesFragment(
|
|
|
|
) : Fragment() {
|
|
|
|
) : Fragment() {
|
|
|
|
|
|
|
|
|
|
|
|
private var isLoading = false
|
|
|
|
|
|
|
|
private var isLastPage = false
|
|
|
|
|
|
|
|
private var currentPage = 1
|
|
|
|
|
|
|
|
private var currentList : MutableList<Movie> = mutableListOf()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private val moviesVM by viewModels<MoviesVM>()
|
|
|
|
private val moviesVM by viewModels<MoviesVM>()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lateinit var spinner: Spinner
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCreateView(
|
|
|
|
override fun onCreateView(
|
|
|
|
inflater: LayoutInflater, container: ViewGroup?,
|
|
|
|
inflater: LayoutInflater, container: ViewGroup?,
|
|
|
|
savedInstanceState: Bundle?
|
|
|
|
savedInstanceState: Bundle?
|
|
|
@ -41,25 +25,25 @@ class MoviesFragment(
|
|
|
|
binding.moviesVM = moviesVM
|
|
|
|
binding.moviesVM = moviesVM
|
|
|
|
binding.lifecycleOwner = viewLifecycleOwner
|
|
|
|
binding.lifecycleOwner = viewLifecycleOwner
|
|
|
|
|
|
|
|
|
|
|
|
val adapter = ArrayAdapter.createFromResource(
|
|
|
|
val adapter = ArrayAdapter.createFromResource(
|
|
|
|
requireContext(),
|
|
|
|
requireContext(),
|
|
|
|
R.array.movie_filter,
|
|
|
|
R.array.movie_filter,
|
|
|
|
android.R.layout.simple_spinner_item
|
|
|
|
android.R.layout.simple_spinner_item
|
|
|
|
)
|
|
|
|
)
|
|
|
|
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
|
|
|
|
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
|
|
|
|
|
|
|
|
|
|
|
|
with(binding.categorySpinner)
|
|
|
|
with(binding.categorySpinner)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
this.adapter = adapter
|
|
|
|
this.adapter = adapter
|
|
|
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
|
|
|
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
|
|
|
override fun onItemSelected(
|
|
|
|
override fun onItemSelected(
|
|
|
|
parent: AdapterView<*>?,
|
|
|
|
parent: AdapterView<*>?,
|
|
|
|
view: View?,
|
|
|
|
view: View?,
|
|
|
|
position: Int,
|
|
|
|
position: Int,
|
|
|
|
id: Long
|
|
|
|
id: Long
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
moviesVM.getDataFilter(selectedItem.toString())
|
|
|
|
moviesVM.getData(selectedItem.toString())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onNothingSelected(parent: AdapterView<*>?) {
|
|
|
|
override fun onNothingSelected(parent: AdapterView<*>?) {
|
|
|
|