diff --git a/Cineapp/.idea/deploymentTargetDropDown.xml b/Cineapp/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..d8ccc32 --- /dev/null +++ b/Cineapp/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaApi.kt b/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaApi.kt index 14590c1..f5f900f 100644 --- a/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaApi.kt +++ b/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaApi.kt @@ -30,7 +30,7 @@ class MediaApi { listMediaResponse?.forEach { mediaResponse -> val media = mediaMapper.searchMapToMedia(mediaResponse) Log.d("Media", media.toString()) - listMedia.add(media) + if (media != null) listMedia.add(media) } callback(listMedia) } diff --git a/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaMapper.kt b/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaMapper.kt index 2640a17..cd2afa9 100644 --- a/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaMapper.kt +++ b/Cineapp/app/src/main/java/com/example/cinapp/Request/MediaMapper.kt @@ -5,11 +5,11 @@ import com.example.cinapp.model.Movie import com.example.cinapp.model.Serie class MediaMapper { - fun searchMapToMedia(mediaResponse: MediaResponse): Media { + fun searchMapToMedia(mediaResponse: MediaResponse): Media? { return when (mediaResponse.media_type) { "movie" -> mapToMovie(mediaResponse) "tv" -> mapToSerie(mediaResponse) - else -> throw IllegalArgumentException("Invalid media type") + else -> return null } } diff --git a/Cineapp/app/src/main/java/com/example/cinapp/viewModel/SearchViewModel.kt b/Cineapp/app/src/main/java/com/example/cinapp/viewModel/SearchViewModel.kt index 2f52c90..b75875f 100644 --- a/Cineapp/app/src/main/java/com/example/cinapp/viewModel/SearchViewModel.kt +++ b/Cineapp/app/src/main/java/com/example/cinapp/viewModel/SearchViewModel.kt @@ -31,10 +31,16 @@ class SearchViewModel : ViewModel() { MediaApi().search(query.toString(), 1) { listMedia -> - val recyclerView = rootView.findViewById(R.id.searchRecyclerView) - recyclerView.layoutManager = GridLayoutManager(context, 2) - recyclerView.adapter = MediaAdapter(listMedia) - + if(listMedia.isEmpty()){ + val textView = rootView.findViewById(R.id.noResult) + textView.visibility = View.VISIBLE + }else{ + val textView = rootView.findViewById(R.id.noResult) + textView.visibility = View.GONE + val recyclerView = rootView.findViewById(R.id.searchRecyclerView) + recyclerView.layoutManager = GridLayoutManager(context, 2) + recyclerView.adapter = MediaAdapter(listMedia) + } } diff --git a/Cineapp/app/src/main/res/layout/fragment_search.xml b/Cineapp/app/src/main/res/layout/fragment_search.xml index 4b20a1d..06c7202 100644 --- a/Cineapp/app/src/main/res/layout/fragment_search.xml +++ b/Cineapp/app/src/main/res/layout/fragment_search.xml @@ -26,6 +26,8 @@ app:iconifiedByDefault="false" app:layout_constraintTop_toTopOf="parent"/> + + + + diff --git a/Cineapp/app/src/main/res/values/strings.xml b/Cineapp/app/src/main/res/values/strings.xml index 8fd6324..1c37d28 100644 --- a/Cineapp/app/src/main/res/values/strings.xml +++ b/Cineapp/app/src/main/res/values/strings.xml @@ -18,4 +18,5 @@ Movie Serie Search + Aucun résultat \ No newline at end of file