♻️ refactor all

master
Julien THEME 2 years ago
parent dd14fea60b
commit 7e36466e75

@ -12,6 +12,6 @@
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2023-02-12T21:09:40.399241Z" />
<timeTargetWasSelectedWithDropDown value="2023-02-12T21:33:21.213896Z" />
</component>
</project>

@ -51,9 +51,6 @@ class MediaMapper {
originalName = mediaResponse.original_name,
originCountry = mediaResponse.origin_country,
isView = false
//seasons = mediaResponse.seasons,
//numberOfSeasons = mediaResponse.numberOfSeasons,
//numberOfEpisodes = mediaResponse.numberOfEpisodes
)
}
}

@ -21,16 +21,13 @@ class MediaRepository {
fun search(query: String, page: Int, callback: (List<Media>) -> Unit) {
val response: Call<Demmy> = service.searchMedia(query, page)
val listMedia: MutableList<Media> = mutableListOf()
Log.d("TAG", "search: " + response.request().url())
response.enqueue(object : Callback<Demmy> {
override fun onResponse(call: Call<Demmy>, response: Response<Demmy>) {
Log.d("Liste1 search", response.body().toString())
val allMedia = response.body()
val listMediaResponse = allMedia?.results
listMediaResponse?.forEach { mediaResponse ->
val media = mediaMapper.searchMapToMedia(mediaResponse)
Log.d("Media", media.toString())
if (media != null) listMedia.add(media)
}
callback(listMedia)
@ -40,7 +37,6 @@ class MediaRepository {
Log.d("ErrorRetrofit", t.message.toString())
}
})
Log.d("Liste2", listMedia.size.toString())
}
fun getPopularMovies(callback: (List<Media>) -> Unit ) {
@ -49,7 +45,6 @@ class MediaRepository {
response.enqueue(object : Callback<Demmy> {
override fun onResponse(call: Call<Demmy>, response: Response<Demmy>) {
Log.d("Liste1", response.body().toString())
val allMedia = response.body()!!
val listMediaResponse = allMedia.results
listMediaResponse.forEach { mediaResponse ->
@ -70,7 +65,6 @@ class MediaRepository {
response.enqueue(object : Callback<Demmy> {
override fun onResponse(call: Call<Demmy>, response: Response<Demmy>) {
Log.d("Liste1", response.body().toString())
val allMedia = response.body()!!
val listMediaResponse = allMedia.results
listMediaResponse.forEach { mediaResponse ->
@ -91,7 +85,6 @@ class MediaRepository {
response.enqueue(object : Callback<Demmy> {
override fun onResponse(call: Call<Demmy>, response: Response<Demmy>) {
Log.d("Liste1", response.body().toString())
val allMedia = response.body()!!
val listMediaResponse = allMedia.results
listMediaResponse.forEach { mediaResponse ->
@ -112,7 +105,6 @@ class MediaRepository {
response.enqueue(object : Callback<Demmy> {
override fun onResponse(call: Call<Demmy>, response: Response<Demmy>) {
Log.d("Liste1", response.body().toString())
val allMedia = response.body()!!
val listMediaResponse = allMedia.results
listMediaResponse.forEach { mediaResponse ->

@ -2,7 +2,6 @@ package com.example.cinapp.api.dto
class Demmy (
var page: Int,
var results: List<MediaResponse>,
var total_pages: Int,
var total_results: Int

@ -18,7 +18,6 @@ class MediaResponse(
val genre_ids: List<Int>,
val original_title: String,
val title: String,
val video: Boolean,
val release_date: String
) {

@ -9,21 +9,6 @@ interface MovieDAO {
@Query("SELECT * FROM movie")
fun getAll(): List<MovieEntity>
@Query("SELECT * FROM movie WHERE id IN (:movieIds)")
fun loadAllByIds(movieIds: IntArray): List<MovieEntity>
@Query("SELECT * FROM movie WHERE name LIKE :name LIMIT 1")
fun findByName(name: String): MovieEntity
@Query("SELECT * FROM movie WHERE id LIKE :id LIMIT 1")
fun findById(id: Int): MovieEntity
/* @Query("SELECT * FROM movie WHERE :genreId IN (genreIds)")
fun findByGenre(genreId: Int): List<MovieEntity>
@Query("SELECT * FROM movie WHERE :genreId IN (genreIds)")
fun findByGenres(genreId: List<Int>): List<MovieEntity>*/
@Query("SELECT * FROM movie WHERE id = :id")
fun getById(id: Int): MovieEntity

@ -1,7 +1,6 @@
package com.example.cinapp.data.persistance.DAO
import androidx.room.*
import com.example.cinapp.data.persistance.Entity.MovieEntity
import com.example.cinapp.data.persistance.Entity.SerieEntity
@Dao
@ -12,18 +11,6 @@ interface SerieDAO {
@Query("SELECT * FROM serie WHERE id IN (:serieIds)")
fun loadAllByIds(serieIds: IntArray): List<SerieEntity>
@Query("SELECT * FROM serie WHERE name LIKE :name LIMIT 1")
fun findByName(name: String): SerieEntity
@Query("SELECT * FROM serie WHERE id LIKE :id LIMIT 1")
fun findById(id: Int): SerieEntity
/* @Query("SELECT * FROM serie WHERE :genreId IN (genreIds)")
fun findByGenre(genreId: Int): List<SerieEntity>
@Query("SELECT * FROM serie WHERE :genreId IN (genreIds)")
fun findByGenres(genreId: List<Int>): List<SerieEntity>*/
@Query("SELECT * FROM serie WHERE id = :id")
fun getById(id: Int): SerieEntity

@ -33,7 +33,6 @@ class AppDatabase {
application = app
}
fun destroyInstance() {
instance = null
}

@ -17,6 +17,5 @@ data class MovieEntity (
val posterPath: String,
val voteAverage: Double,
val voteCount: Int,
/* val genreIds: List<Int>? = null,*/
var isView: Boolean
)

@ -17,6 +17,5 @@ data class SerieEntity (
val posterPath: String,
val voteAverage: Double,
val voteCount: Int,
/*val genreIds: List<Int>,*/
var isView: Boolean
)

@ -1,9 +1,6 @@
package com.example.cinapp.data.persistance
import android.app.Application
import android.content.Context
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.room.*
import com.example.cinapp.CinAppApplication
import com.example.cinapp.data.persistance.DAO.MovieDAO
@ -32,29 +29,15 @@ abstract class MediaDatabase: RoomDatabase() {
.build()
}
}
Log.d("MediaDatabase", "getInstance: ${instance.toString()}")
return instance!!
}
/*if (instance == null)
synchronized(this) {
if (instance == null)
instance = Room.databaseBuilder(
application.applicationContext,
DogDatabase::class.java,
DOG_DB_FILENAME
)
.build()
}
return instance!!*/
@JvmStatic
fun initialize(app: CinAppApplication) {
if (::application.isInitialized)
throw RuntimeException("the database must not be initialized twice")
application = app
Log.d("MediaDatabase", "initialize: ${application.toString()}")
}

@ -1,23 +0,0 @@
package com.example.cinapp.data.persistance.converter
import androidx.room.TypeConverter
import com.squareup.moshi.Moshi
import com.squareup.moshi.Types
class ListIntConverter {
@TypeConverter
fun fromString(value: String): List<Int> {
val moshi = Moshi.Builder().build()
val type = Types.newParameterizedType(List::class.java, Int::class.java)
val adapter = moshi.adapter<List<Int>>(type)
return adapter.fromJson(value) ?: emptyList()
}
@TypeConverter
fun fromList(list: List<Int>): String {
val moshi = Moshi.Builder().build()
val type = Types.newParameterizedType(List::class.java, Int::class.java)
val adapter = moshi.adapter<List<Int>>(type)
return adapter.toJson(list)
}
}

@ -1,30 +0,0 @@
package com.example.cinapp.ui.activity
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import com.example.cinapp.R
import com.example.cinapp.model.Media
import com.example.cinapp.ui.viewModel.MediaViewModel
class MediaDetailActivity : AppCompatActivity() {
/*private lateinit var viewModel: MediaViewModel
public lateinit var media: Media
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.movie_view)
val media = intent.getIntExtra("MEDIA", 0)
viewModel = ViewModelProvider(this).get(MediaViewModel::class.java)
var textView = findViewById<TextView>(R.id.info_name)
viewModel.getMediaLiveData(mediaId).observe(this, Observer { media ->
textView.text = media.title
})
}*/
}

@ -1,6 +1,5 @@
package com.example.cinapp.ui.adapter
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@ -12,7 +11,6 @@ import com.bumptech.glide.Glide
import com.example.cinapp.MainActivity
import com.example.cinapp.R
import com.example.cinapp.model.Media
import com.example.cinapp.ui.fragments.MovieFragment
import com.example.cinapp.ui.fragments.MovieInfo
class MediaAdapter(private val mediaList: LiveData<List<Media>>, private val main: MainActivity) : RecyclerView.Adapter<MediaAdapter.ViewHolder>() {
@ -25,21 +23,17 @@ class MediaAdapter(private val mediaList: LiveData<List<Media>>, private val mai
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_movie, parent, false)
Log.d("MediaAdapter", "onCreateViewHolder: $view")
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
mediaList.observeForever {
var media = it[position]
val media = it[position]
Glide.with(holder.itemView.context)
.load("https://image.tmdb.org/t/p/w500" + media.posterPath)
.override(400, 600)
.into(holder.poster)
Log.d("MediaAdapter", "onBindViewHolder: $media")
holder.poster.setOnClickListener {
Log.d("MediaAdapter", "onBindViewHolder: $media")
//changer de fragment
val fragment = MovieInfo()
fragment.media = media
main.replaceFragment(fragment)

@ -1,6 +1,5 @@
package com.example.cinapp.ui.extensions
import androidx.room.PrimaryKey
import com.example.cinapp.data.persistance.Entity.MovieEntity
import com.example.cinapp.model.Movie
@ -41,7 +40,6 @@ class MovieExtensions {
movie.posterPath?: "",
movie.voteAverage?: 0.0,
movie.voteCount?: 0,
/* movie.genreIds?: listOf(),*/
movie.isView?: false
)
}

@ -19,7 +19,6 @@ class SerieExtensions {
serie.posterPath?: "",
serie.voteAverage?: 0.0,
serie.voteCount?: 0,
/* serie.genreIds?: listOf(),*/
serie.isView?: false
)
}

@ -61,7 +61,6 @@ class HomeViewModel(private val main: MainActivity): ViewModel() {
}
fun addMediaToRecyclerView(recyclerView: RecyclerView, mediaList: MutableLiveData<List<Media>>) {
Log.d("HomeViewModel ------", "addMediaToRecyclerView: $recyclerView")
val layoutManager = StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.HORIZONTAL)
recyclerView.layoutManager = layoutManager
recyclerView.adapter = MediaAdapter(mediaList, main)

@ -13,13 +13,6 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MediaInfoViewModel: ViewModel() {
fun addMovieToWatchList() {
TODO("Not yet implemented")
}
fun addSerieToWatchList() {
TODO("Not yet implemented")
}
fun addMediaToWatchList(db: MediaDatabase, media: Media) {
viewModelScope.launch(Dispatchers.IO) {
@ -56,7 +49,6 @@ class MediaInfoViewModel: ViewModel() {
isInWatchList = db?.serieDAO()?.getById(serieEntity.id) != null
}
}
Log.d("isInWatchList", isInWatchList.toString())
return isInWatchList
}

@ -19,13 +19,11 @@ import kotlinx.coroutines.*
class MovieViewModel: ViewModel() {
var medias = MutableLiveData<List<Media>>()
var mediasEntity = MutableLiveData<List<MovieEntity>>()
@SuppressLint("StaticFieldLeak")
lateinit var main: MainActivity;
@JvmName("setSearchView1")
fun setMediaList(rootView: View) {
Log.d("SearchViewModel", "View: $rootView")
viewModelScope.launch(Dispatchers.IO) {
var listMediaEntity = downloadMedia()
var listeMedia : MutableList<Media> = mutableListOf()

@ -23,7 +23,6 @@ class SearchViewModel : ViewModel() {
@JvmName("setSearchView1")
fun setSearchView(rootView: View) {
searchView = rootView.findViewById(R.id.searchView)
Log.d("SearchViewModel", "setSearchView: $searchView")
searchView?.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {

@ -24,16 +24,14 @@ import kotlinx.coroutines.withContext
class SerieViewModel: ViewModel() {
var medias = MutableLiveData<List<Media>>()
var mediasEntity = MutableLiveData<List<SerieEntity>>()
@SuppressLint("StaticFieldLeak")
lateinit var main: MainActivity;
@JvmName("setSearchView1")
fun setMediaList(rootView: View) {
Log.d("SearchViewModel", "View: $rootView")
viewModelScope.launch(Dispatchers.IO) {
var listMediaEntity = downloadMedia()
var listeMedia : MutableList<Media> = mutableListOf()
val listMediaEntity = downloadMedia()
val listeMedia : MutableList<Media> = mutableListOf()
listMediaEntity.forEach() {
listeMedia.add(SerieExtensions.toSerie(it))
}

Loading…
Cancel
Save