Get the most popular movie Get the top rated movie Get the upcoming movie Get the movie now playingfeatures/api/requests/2
parent
5a6b157c4f
commit
fc371bf386
@ -0,0 +1,36 @@
|
||||
package fr.iut.pm.movieapplication.repository
|
||||
|
||||
import android.util.Log
|
||||
import fr.iut.pm.movieapplication.api.RetrofitInstance
|
||||
import fr.iut.pm.movieapplication.api.dtos.PopularDTO
|
||||
import fr.iut.pm.movieapplication.model.media.MediaResult
|
||||
import fr.iut.pm.movieapplication.utils.MediaResultMapper
|
||||
import retrofit2.Call
|
||||
import retrofit2.Callback
|
||||
import retrofit2.Response
|
||||
|
||||
class MediaRepository {
|
||||
|
||||
fun getTrends(callback: (List<MediaResult>) -> Unit) {
|
||||
val listMovie : MutableList<MediaResult> = mutableListOf()
|
||||
|
||||
RetrofitInstance.api.getTrending().enqueue(object : Callback<PopularDTO> {
|
||||
override fun onResponse(call: Call<PopularDTO>, response: Response<PopularDTO>) {
|
||||
if(response.isSuccessful) {
|
||||
Log.d("Response",response.body().toString())
|
||||
val popularDTO = response.body()
|
||||
popularDTO?.results?.forEach {
|
||||
val movie = MediaResultMapper.mapToMediaResult(it)
|
||||
listMovie.add(movie)
|
||||
movie.title?.let { it1 -> Log.d("Movie", it1) }
|
||||
}
|
||||
}
|
||||
callback(listMovie)
|
||||
}
|
||||
|
||||
override fun onFailure(call: Call<PopularDTO>, t: Throwable) {
|
||||
Log.d("Error failure", t.printStackTrace().toString())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
@ -1,4 +1,43 @@
|
||||
package fr.iut.pm.movieapplication.repository
|
||||
|
||||
import android.util.Log
|
||||
import fr.iut.pm.movieapplication.api.RetrofitInstance
|
||||
import fr.iut.pm.movieapplication.api.dtos.PopularDTO
|
||||
import fr.iut.pm.movieapplication.model.media.movie.Movie
|
||||
import fr.iut.pm.movieapplication.model.media.tvshow.TvShow
|
||||
import fr.iut.pm.movieapplication.utils.MediaResultMapper
|
||||
import retrofit2.Call
|
||||
import retrofit2.Callback
|
||||
import retrofit2.Response
|
||||
|
||||
class TVShowRepository {
|
||||
|
||||
fun getPopularTvShow(page : Int = 1 ,callback: (List<TvShow>) -> Unit ) {
|
||||
|
||||
val listMovie : MutableList<TvShow> = mutableListOf()
|
||||
|
||||
RetrofitInstance.api.getPopularMovies(page = page).enqueue(object :
|
||||
Callback<PopularDTO> {
|
||||
override fun onResponse(call: Call<PopularDTO>, response: Response<PopularDTO>) {
|
||||
if (response.isSuccessful) {
|
||||
Log.d("List :", response.body().toString())
|
||||
val popularDTO = response.body()
|
||||
val listMoviesDTO = popularDTO?.results
|
||||
listMoviesDTO?.forEach {
|
||||
|
||||
val tvShow = MediaResultMapper.mapToTvShow(it)
|
||||
listMovie.add(tvShow)
|
||||
Log.d("Movie ", tvShow.name )
|
||||
}
|
||||
|
||||
}
|
||||
callback(listMovie)
|
||||
}
|
||||
|
||||
override fun onFailure(call: Call<PopularDTO>, t: Throwable) {
|
||||
Log.d("Error failure", t.message.toString())
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/tv_shows_item_recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="@dimen/default_margin"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
Loading…
Reference in new issue