merge GUIMedia and StreamMedia into Media, parse episode title from aod

This commit is contained in:
2020-10-12 17:52:24 +02:00
parent 0fc1d8b5c2
commit ae20e74702
7 changed files with 64 additions and 77 deletions

View File

@ -1,21 +1,15 @@
package org.mosad.teapod.util
import android.content.Context
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.*
import androidx.core.content.res.ResourcesCompat
import com.bumptech.glide.Glide
import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.transition.Transition
import org.mosad.teapod.R
import java.util.*
import kotlin.collections.ArrayList
class CustomAdapter(val context: Context, private val originalMedia: ArrayList<GUIMedia>) : BaseAdapter(), Filterable {
class CustomAdapter(val context: Context, private val originalMedia: ArrayList<Media>) : BaseAdapter(), Filterable {
private var filteredMedia = originalMedia.map { it.copy() }
private val customFilter = CustomFilter()
@ -68,7 +62,7 @@ class CustomAdapter(val context: Context, private val originalMedia: ArrayList<G
}
override fun publishResults(constraint: CharSequence?, results: FilterResults?) {
filteredMedia = results?.values as ArrayList<GUIMedia>
filteredMedia = results?.values as ArrayList<Media>
notifyDataSetChanged()
}

View File

@ -8,11 +8,10 @@ class DataTypes {
}
}
// TODO rework: add type, episodes list with episode title, if type == MOVIE the first episode will be the movie stream
data class GUIMedia(val title: String, val posterLink: String, val shortDesc : String, val link: String) {
data class Media(val title: String, val link: String, val type: DataTypes.MediaType, val posterLink: String, val shortDesc : String, var episodes: List<Episode> = listOf()) {
override fun toString(): String {
return title
}
}
data class StreamMedia(val type: DataTypes.MediaType, val streams: ArrayList<String> = arrayListOf())
data class Episode(val title: String = "", val streamUrl: String = "", var watched: Boolean = false)