diff --git a/app/src/main/java/org/mosad/teapod/ui/MediaFragment.kt b/app/src/main/java/org/mosad/teapod/ui/MediaFragment.kt index a71a6c0..9849ea3 100644 --- a/app/src/main/java/org/mosad/teapod/ui/MediaFragment.kt +++ b/app/src/main/java/org/mosad/teapod/ui/MediaFragment.kt @@ -13,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import com.bumptech.glide.request.RequestOptions import jp.wasabeef.glide.transformations.BlurTransformation +import jp.wasabeef.glide.transformations.RoundedCornersTransformation import kotlinx.android.synthetic.main.fragment_media.* import org.mosad.teapod.MainActivity import org.mosad.teapod.R @@ -46,6 +47,7 @@ class MediaFragment(private val media: Media, private val tmdb: TMDBResponse) : // generic gui val backdropUrl = if (tmdb.backdropUrl.isNotEmpty()) tmdb.backdropUrl else media.info.posterLink val posterUrl = if (tmdb.posterUrl.isNotEmpty()) tmdb.posterUrl else media.info.posterLink + val posterCornerRadius = if (tmdb.posterUrl.isNotEmpty()) 60 else 30 Glide.with(requireContext()).load(backdropUrl) .apply(RequestOptions.placeholderOf(ColorDrawable(Color.DKGRAY))) @@ -53,6 +55,7 @@ class MediaFragment(private val media: Media, private val tmdb: TMDBResponse) : .into(image_backdrop) Glide.with(requireContext()).load(posterUrl) + .apply(RequestOptions.bitmapTransform(RoundedCornersTransformation(posterCornerRadius, 0))) .into(image_poster) text_title.text = media.title diff --git a/app/src/main/java/org/mosad/teapod/ui/library/LibraryFragment.kt b/app/src/main/java/org/mosad/teapod/ui/library/LibraryFragment.kt index 8e9c5c9..139726f 100644 --- a/app/src/main/java/org/mosad/teapod/ui/library/LibraryFragment.kt +++ b/app/src/main/java/org/mosad/teapod/ui/library/LibraryFragment.kt @@ -6,6 +6,7 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import kotlinx.android.synthetic.main.fragment_library.* +import kotlinx.android.synthetic.main.item_media.view.* import kotlinx.coroutines.* import org.mosad.teapod.MainActivity import org.mosad.teapod.R @@ -33,7 +34,7 @@ class LibraryFragment : Fragment() { withContext(Dispatchers.Main) { context?.let { adapter = CustomAdapter(it, AoDParser.mediaList) - list_library.adapter = adapter + grid_media_library.adapter = adapter } } } @@ -42,12 +43,11 @@ class LibraryFragment : Fragment() { } private fun initActions() { - list_library.setOnItemClickListener { _, _, position, _ -> + grid_media_library.setOnItemClickListener { _, _, position, _ -> val media = adapter.getItem(position) as Media println("selected item is: ${media.title}") - val mainActivity = activity as MainActivity - mainActivity.showDetailFragment(media) + (activity as MainActivity).showDetailFragment(media) } } diff --git a/app/src/main/java/org/mosad/teapod/ui/search/SearchFragment.kt b/app/src/main/java/org/mosad/teapod/ui/search/SearchFragment.kt index 4faf86b..dd82f6b 100644 --- a/app/src/main/java/org/mosad/teapod/ui/search/SearchFragment.kt +++ b/app/src/main/java/org/mosad/teapod/ui/search/SearchFragment.kt @@ -34,7 +34,7 @@ class SearchFragment : Fragment() { withContext(Dispatchers.Main) { context?.let { adapter = CustomAdapter(it, AoDParser.mediaList) - list_search.adapter = adapter + grid_media_search.adapter = adapter } } } @@ -57,7 +57,7 @@ class SearchFragment : Fragment() { } }) - list_search.setOnItemClickListener { _, _, position, _ -> + grid_media_search.setOnItemClickListener { _, _, position, _ -> search_text.clearFocus() // remove focus from the SearchView runBlocking { diff --git a/app/src/main/java/org/mosad/teapod/util/CustomAdapter.kt b/app/src/main/java/org/mosad/teapod/util/CustomAdapter.kt index 1bef607..a8b38f4 100644 --- a/app/src/main/java/org/mosad/teapod/util/CustomAdapter.kt +++ b/app/src/main/java/org/mosad/teapod/util/CustomAdapter.kt @@ -15,7 +15,7 @@ class CustomAdapter(val context: Context, private val originalMedia: ArrayList(R.id.text_title) val imagePoster = view.findViewById(R.id.image_poster) diff --git a/app/src/main/java/org/mosad/teapod/util/EpisodesAdapter.kt b/app/src/main/java/org/mosad/teapod/util/EpisodesAdapter.kt index b5b2f64..0bce94d 100644 --- a/app/src/main/java/org/mosad/teapod/util/EpisodesAdapter.kt +++ b/app/src/main/java/org/mosad/teapod/util/EpisodesAdapter.kt @@ -6,7 +6,9 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import kotlinx.android.synthetic.main.component_episode.view.* +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 class EpisodesAdapter(private val episodes: List, private val context: Context) : RecyclerView.Adapter() { @@ -14,7 +16,7 @@ class EpisodesAdapter(private val episodes: List, private val context: var onItemClick: ((String, Int) -> Unit)? = null override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder { - val view = LayoutInflater.from(parent.context).inflate(R.layout.component_episode, parent, false) + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_episode, parent, false) return MyViewHolder(view) } @@ -28,7 +30,9 @@ class EpisodesAdapter(private val episodes: List, private val context: holder.view.text_episode_desc.text = episodes[position].shortDesc if (episodes[position].posterLink.isNotEmpty()) { - Glide.with(context).load(episodes[position].posterLink).into(holder.view.image_episode) + Glide.with(context).load(episodes[position].posterLink) + .apply(RequestOptions.bitmapTransform(RoundedCornersTransformation(10, 0))) + .into(holder.view.image_episode) } if (!episodes[position].watched) { diff --git a/app/src/main/res/layout/fragment_library.xml b/app/src/main/res/layout/fragment_library.xml index 1feedbd..561a05e 100644 --- a/app/src/main/res/layout/fragment_library.xml +++ b/app/src/main/res/layout/fragment_library.xml @@ -7,13 +7,16 @@ android:background="#f5f5f5" tools:context=".ui.library.LibraryFragment"> - + android:clipToPadding="false" + android:horizontalSpacing="7dp" + android:numColumns="2" + android:padding="5dp" + android:verticalSpacing="7dp" + tools:layout_editor_absoluteX="5dp" + tools:layout_editor_absoluteY="5dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_media.xml b/app/src/main/res/layout/fragment_media.xml index db63ef6..66def21 100644 --- a/app/src/main/res/layout/fragment_media.xml +++ b/app/src/main/res/layout/fragment_media.xml @@ -33,9 +33,8 @@ diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index d2ef82e..1e64366 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -10,11 +10,8 @@ - \ No newline at end of file diff --git a/app/src/main/res/layout/component_episode.xml b/app/src/main/res/layout/item_episode.xml similarity index 96% rename from app/src/main/res/layout/component_episode.xml rename to app/src/main/res/layout/item_episode.xml index 1060d76..b51beb7 100644 --- a/app/src/main/res/layout/component_episode.xml +++ b/app/src/main/res/layout/item_episode.xml @@ -19,7 +19,7 @@ android:layout_width="128dp" android:layout_height="72dp" android:contentDescription="@string/component_poster_desc" - app:srcCompat="@drawable/ic_baseline_account_box_24" /> + app:srcCompat="@color/md_disabled_text_dark_theme" /> + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/linear_media.xml b/app/src/main/res/layout/linear_media.xml deleted file mode 100644 index b4fed00..0000000 --- a/app/src/main/res/layout/linear_media.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e092a30..e592849 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,6 +7,7 @@ Search for movies and series + poster Play