show loading screen while loading media fragment

* use material components for shaped images and progress indicator
This commit is contained in:
2020-10-14 20:22:20 +02:00
parent d2728405d1
commit 5f80f1fabd
13 changed files with 89 additions and 35 deletions

View File

@ -0,0 +1,16 @@
package org.mosad.teapod.util
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import org.mosad.teapod.R
class LoadingFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_loading, container, false)
}
}

View File

@ -1,4 +1,4 @@
package org.mosad.teapod.util
package org.mosad.teapod.util.adapter
import android.content.Context
import android.view.LayoutInflater
@ -10,8 +10,9 @@ import com.bumptech.glide.request.RequestOptions
import jp.wasabeef.glide.transformations.RoundedCornersTransformation
import kotlinx.android.synthetic.main.item_episode.view.*
import org.mosad.teapod.R
import org.mosad.teapod.util.Episode
class EpisodesAdapter(private val episodes: List<Episode>, private val context: Context) : RecyclerView.Adapter<EpisodesAdapter.MyViewHolder>() {
class EpisodeItemAdapter(private val episodes: List<Episode>, private val context: Context) : RecyclerView.Adapter<EpisodeItemAdapter.MyViewHolder>() {
var onItemClick: ((String, Int) -> Unit)? = null

View File

@ -1,4 +1,4 @@
package org.mosad.teapod.util
package org.mosad.teapod.util.adapter
import android.content.Context
import android.view.LayoutInflater
@ -7,9 +7,10 @@ import android.view.ViewGroup
import android.widget.*
import com.bumptech.glide.Glide
import org.mosad.teapod.R
import org.mosad.teapod.util.Media
import java.util.*
class CustomAdapter(val context: Context, private val originalMedia: ArrayList<Media>) : BaseAdapter(), Filterable {
class MediaItemAdapter(val context: Context, private val originalMedia: ArrayList<Media>) : BaseAdapter(), Filterable {
private var filteredMedia = originalMedia.map { it.copy() }
private val customFilter = CustomFilter()