🐛 correction spits query search

master
Julien THEME 2 years ago
parent 5c31039fd4
commit d2a14d8035

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="$USER_HOME$/.android/avd/pixel_5_-_api_33.avd" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2023-02-04T21:31:56.552483Z" />
</component>
</project>

@ -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)
}

@ -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
}
}

@ -31,10 +31,16 @@ class SearchViewModel : ViewModel() {
MediaApi().search(query.toString(), 1)
{ listMedia ->
val recyclerView = rootView.findViewById<RecyclerView>(R.id.searchRecyclerView)
recyclerView.layoutManager = GridLayoutManager(context, 2)
recyclerView.adapter = MediaAdapter(listMedia)
if(listMedia.isEmpty()){
val textView = rootView.findViewById<View>(R.id.noResult)
textView.visibility = View.VISIBLE
}else{
val textView = rootView.findViewById<View>(R.id.noResult)
textView.visibility = View.GONE
val recyclerView = rootView.findViewById<RecyclerView>(R.id.searchRecyclerView)
recyclerView.layoutManager = GridLayoutManager(context, 2)
recyclerView.adapter = MediaAdapter(listMedia)
}
}

@ -26,6 +26,8 @@
app:iconifiedByDefault="false"
app:layout_constraintTop_toTopOf="parent"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/searchRecyclerView"
android:layout_width="match_parent"
@ -36,6 +38,17 @@
tools:layout_editor_absoluteX="-16dp"
tools:listitem="@layout/item_search" />
<TextView
android:id="@+id/noResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:text="@string/aucun_r_sultat"
app:layout_constraintBottom_toBottomOf="@+id/searchRecyclerView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

@ -18,4 +18,5 @@
<string name="movie">Movie</string>
<string name="serie">Serie</string>
<string name="search">Search</string>
<string name="aucun_r_sultat">Aucun résultat</string>
</resources>
Loading…
Cancel
Save