fix: banner crash

This commit is contained in:
aayush262 2024-05-02 00:39:27 +05:30
parent 31c509f88c
commit 71870ff235
10 changed files with 366 additions and 127 deletions

View file

@ -1358,10 +1358,10 @@ fun blurImage(imageView: ImageView, banner: String?) {
if (banner != null) { if (banner != null) {
val radius = PrefManager.getVal<Float>(PrefName.BlurRadius).toInt() val radius = PrefManager.getVal<Float>(PrefName.BlurRadius).toInt()
val sampling = PrefManager.getVal<Float>(PrefName.BlurSampling).toInt() val sampling = PrefManager.getVal<Float>(PrefName.BlurSampling).toInt()
if (PrefManager.getVal(PrefName.BlurBanners)) { val context = imageView.context
val context = imageView.context if (!(context as Activity).isDestroyed) {
if (!(context as Activity).isDestroyed) { val url = PrefManager.getVal<String>(PrefName.ImageUrl).ifEmpty { banner }
val url = PrefManager.getVal<String>(PrefName.ImageUrl).ifEmpty { banner } if (PrefManager.getVal(PrefName.BlurBanners)) {
Glide.with(context as Context) Glide.with(context as Context)
.load( .load(
if (banner.startsWith("http")) GlideUrl(url) else if (banner.startsWith("content://")) Uri.parse( if (banner.startsWith("http")) GlideUrl(url) else if (banner.startsWith("content://")) Uri.parse(
@ -1371,9 +1371,17 @@ fun blurImage(imageView: ImageView, banner: String?) {
.diskCacheStrategy(DiskCacheStrategy.RESOURCE).override(400) .diskCacheStrategy(DiskCacheStrategy.RESOURCE).override(400)
.apply(RequestOptions.bitmapTransform(BlurTransformation(radius, sampling))) .apply(RequestOptions.bitmapTransform(BlurTransformation(radius, sampling)))
.into(imageView) .into(imageView)
} else {
Glide.with(context as Context)
.load(
if (banner.startsWith("http")) GlideUrl(url) else if (banner.startsWith("content://")) Uri.parse(
url
) else File(url)
)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE).override(400)
.into(imageView)
} }
} else {
imageView.loadImage(banner)
} }
} else { } else {
imageView.setImageResource(R.drawable.linear_gradient_bg) imageView.setImageResource(R.drawable.linear_gradient_bg)

View file

@ -204,22 +204,22 @@ class AnimeFragment : Fragment() {
if (i) { if (i) {
model.getUpdated().observe(viewLifecycleOwner) { model.getUpdated().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
animePageAdapter.updateRecent(MediaAdaptor(0, it, requireActivity())) animePageAdapter.updateRecent(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
model.getMovies().observe(viewLifecycleOwner) { model.getMovies().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
animePageAdapter.updateMovies(MediaAdaptor(0, it, requireActivity())) animePageAdapter.updateMovies(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
model.getTopRated().observe(viewLifecycleOwner) { model.getTopRated().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
animePageAdapter.updateTopRated(MediaAdaptor(0, it, requireActivity())) animePageAdapter.updateTopRated(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
model.getMostFav().observe(viewLifecycleOwner) { model.getMostFav().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
animePageAdapter.updateMostFav(MediaAdaptor(0, it, requireActivity())) animePageAdapter.updateMostFav(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
if (animePageAdapter.trendingViewPager != null) { if (animePageAdapter.trendingViewPager != null) {

View file

@ -13,6 +13,7 @@ import androidx.core.content.ContextCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams import androidx.core.view.updateLayoutParams
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
@ -23,11 +24,14 @@ import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.currContext import ani.dantotsu.currContext
import ani.dantotsu.databinding.ItemAnimePageBinding import ani.dantotsu.databinding.ItemAnimePageBinding
import ani.dantotsu.databinding.LayoutTrendingBinding import ani.dantotsu.databinding.LayoutTrendingBinding
import ani.dantotsu.getAppString
import ani.dantotsu.getThemeColor import ani.dantotsu.getThemeColor
import ani.dantotsu.loadImage import ani.dantotsu.loadImage
import ani.dantotsu.media.CalendarActivity import ani.dantotsu.media.CalendarActivity
import ani.dantotsu.media.GenreActivity import ani.dantotsu.media.GenreActivity
import ani.dantotsu.media.Media
import ani.dantotsu.media.MediaAdaptor import ani.dantotsu.media.MediaAdaptor
import ani.dantotsu.media.MediaListViewActivity
import ani.dantotsu.media.SearchActivity import ani.dantotsu.media.SearchActivity
import ani.dantotsu.profile.ProfileActivity import ani.dantotsu.profile.ProfileActivity
import ani.dantotsu.px import ani.dantotsu.px
@ -193,13 +197,16 @@ class AnimePageAdapter : RecyclerView.Adapter<AnimePageAdapter.AnimePageViewHold
LayoutAnimationController(setSlideIn(), 0.25f) LayoutAnimationController(setSlideIn(), 0.25f)
} }
fun updateRecent(adaptor: MediaAdaptor) { fun updateRecent(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
animeUpdatedRecyclerView, animeUpdatedRecyclerView,
animeUpdatedProgressBar, animeUpdatedProgressBar,
animeRecently animeRecently,
animeRecentlyMore,
getAppString(R.string.updated),
media
) )
animePopular.visibility = View.VISIBLE animePopular.visibility = View.VISIBLE
animePopular.startAnimation(setSlideUp()) animePopular.startAnimation(setSlideUp())
@ -210,40 +217,49 @@ class AnimePageAdapter : RecyclerView.Adapter<AnimePageAdapter.AnimePageViewHold
} }
fun updateMovies(adaptor: MediaAdaptor) { fun updateMovies(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
animeMoviesRecyclerView, animeMoviesRecyclerView,
animeMoviesProgressBar, animeMoviesProgressBar,
animeMovies animeMovies,
animeMoviesMore,
getAppString(R.string.trending_movies),
media
) )
} }
} }
fun updateTopRated(adaptor: MediaAdaptor) { fun updateTopRated(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
animeTopRatedRecyclerView, animeTopRatedRecyclerView,
animeTopRatedProgressBar, animeTopRatedProgressBar,
animeTopRated animeTopRated,
animeTopRatedMore,
getAppString(R.string.top_rated),
media
) )
} }
} }
fun updateMostFav(adaptor: MediaAdaptor) { fun updateMostFav(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
animeMostFavRecyclerView, animeMostFavRecyclerView,
animeMostFavProgressBar, animeMostFavProgressBar,
animeMostFav animeMostFav,
animeMostFavMore,
getAppString(R.string.most_favourite),
media
) )
} }
} }
fun init(adaptor: MediaAdaptor, recyclerView: RecyclerView, progress: View, title: View) { fun init(adaptor: MediaAdaptor, recyclerView: RecyclerView, progress: View, title: View , more: View , string: String, media : MutableList<Media>) {
progress.visibility = View.GONE progress.visibility = View.GONE
recyclerView.adapter = adaptor recyclerView.adapter = adaptor
recyclerView.layoutManager = recyclerView.layoutManager =
@ -252,9 +268,19 @@ class AnimePageAdapter : RecyclerView.Adapter<AnimePageAdapter.AnimePageViewHold
LinearLayoutManager.HORIZONTAL, LinearLayoutManager.HORIZONTAL,
false false
) )
more.setOnClickListener {
ContextCompat.startActivity(
it.context, Intent(it.context, MediaListViewActivity::class.java)
.putExtra("title", string)
.putExtra("media", media as ArrayList<Media>),
null
)
}
recyclerView.visibility = View.VISIBLE recyclerView.visibility = View.VISIBLE
title.visibility = View.VISIBLE title.visibility = View.VISIBLE
more.visibility = View.VISIBLE
title.startAnimation(setSlideUp()) title.startAnimation(setSlideUp())
more.startAnimation(setSlideUp())
recyclerView.layoutAnimation = recyclerView.layoutAnimation =
LayoutAnimationController(setSlideIn(), 0.25f) LayoutAnimationController(setSlideIn(), 0.25f)
} }

View file

@ -233,10 +233,10 @@ class HomeFragment : Fragment() {
false false
) )
more.setOnClickListener { _ -> more.setOnClickListener { _ ->
MediaListViewActivity.mediaList = it
ContextCompat.startActivity( ContextCompat.startActivity(
requireActivity(), Intent(requireActivity(), MediaListViewActivity::class.java) requireActivity(), Intent(requireActivity(), MediaListViewActivity::class.java)
.putExtra("title", string), .putExtra("title", string)
.putExtra("media", it),
null null
) )
} }
@ -249,6 +249,7 @@ class HomeFragment : Fragment() {
} }
more.visibility = View.VISIBLE more.visibility = View.VISIBLE
title.visibility = View.VISIBLE title.visibility = View.VISIBLE
more.startAnimation(setSlideUp())
title.startAnimation(setSlideUp()) title.startAnimation(setSlideUp())
progress.visibility = View.GONE progress.visibility = View.GONE
} }

View file

@ -162,12 +162,12 @@ class MangaFragment : Fragment() {
if (i == true) { if (i == true) {
model.getPopularNovel().observe(viewLifecycleOwner) { model.getPopularNovel().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
mangaPageAdapter.updateNovel(MediaAdaptor(0, it, requireActivity())) mangaPageAdapter.updateNovel(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
model.getPopularManga().observe(viewLifecycleOwner) { model.getPopularManga().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
mangaPageAdapter.updateTrendingManga(MediaAdaptor(0, it, requireActivity())) mangaPageAdapter.updateTrendingManga(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
model.getPopularManhwa().observe(viewLifecycleOwner) { model.getPopularManhwa().observe(viewLifecycleOwner) {
@ -177,18 +177,18 @@ class MangaFragment : Fragment() {
0, 0,
it, it,
requireActivity() requireActivity()
) ), it
) )
} }
} }
model.getTopRated().observe(viewLifecycleOwner) { model.getTopRated().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
mangaPageAdapter.updateTopRated(MediaAdaptor(0, it, requireActivity())) mangaPageAdapter.updateTopRated(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
model.getMostFav().observe(viewLifecycleOwner) { model.getMostFav().observe(viewLifecycleOwner) {
if (it != null) { if (it != null) {
mangaPageAdapter.updateMostFav(MediaAdaptor(0, it, requireActivity())) mangaPageAdapter.updateMostFav(MediaAdaptor(0, it, requireActivity()), it)
} }
} }
if (mangaPageAdapter.trendingViewPager != null) { if (mangaPageAdapter.trendingViewPager != null) {

View file

@ -22,10 +22,13 @@ import ani.dantotsu.R
import ani.dantotsu.connections.anilist.Anilist import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.databinding.ItemMangaPageBinding import ani.dantotsu.databinding.ItemMangaPageBinding
import ani.dantotsu.databinding.LayoutTrendingBinding import ani.dantotsu.databinding.LayoutTrendingBinding
import ani.dantotsu.getAppString
import ani.dantotsu.getThemeColor import ani.dantotsu.getThemeColor
import ani.dantotsu.loadImage import ani.dantotsu.loadImage
import ani.dantotsu.media.GenreActivity import ani.dantotsu.media.GenreActivity
import ani.dantotsu.media.Media
import ani.dantotsu.media.MediaAdaptor import ani.dantotsu.media.MediaAdaptor
import ani.dantotsu.media.MediaListViewActivity
import ani.dantotsu.media.SearchActivity import ani.dantotsu.media.SearchActivity
import ani.dantotsu.profile.ProfileActivity import ani.dantotsu.profile.ProfileActivity
import ani.dantotsu.px import ani.dantotsu.px
@ -178,65 +181,80 @@ class MangaPageAdapter : RecyclerView.Adapter<MangaPageAdapter.MangaPageViewHold
} }
fun updateTrendingManga(adaptor: MediaAdaptor) { fun updateTrendingManga(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
mangaTrendingMangaRecyclerView, mangaTrendingMangaRecyclerView,
mangaTrendingMangaProgressBar, mangaTrendingMangaProgressBar,
mangaTrendingManga mangaTrendingManga,
mangaTrendingMangaMore,
getAppString(R.string.trending_manga),
media
) )
} }
} }
fun updateTrendingManhwa(adaptor: MediaAdaptor) { fun updateTrendingManhwa(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
mangaTrendingManhwaRecyclerView, mangaTrendingManhwaRecyclerView,
mangaTrendingManhwaProgressBar, mangaTrendingManhwaProgressBar,
mangaTrendingManhwa mangaTrendingManhwa,
mangaTrendingManhwaMore,
getAppString(R.string.trending_manhwa),
media
) )
} }
} }
fun updateNovel(adaptor: MediaAdaptor) { fun updateNovel(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
mangaNovelRecyclerView, mangaNovelRecyclerView,
mangaNovelProgressBar, mangaNovelProgressBar,
mangaNovel mangaNovel,
mangaNovelMore,
getAppString(R.string.trending_novel),
media
) )
} }
} }
fun updateTopRated(adaptor: MediaAdaptor) { fun updateTopRated(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
mangaTopRatedRecyclerView, mangaTopRatedRecyclerView,
mangaTopRatedProgressBar, mangaTopRatedProgressBar,
mangaTopRated mangaTopRated,
mangaTopRatedMore,
getAppString(R.string.top_rated),
media
) )
} }
} }
fun updateMostFav(adaptor: MediaAdaptor) { fun updateMostFav(adaptor: MediaAdaptor, media: MutableList<Media>) {
binding.apply { binding.apply {
init( init(
adaptor, adaptor,
mangaMostFavRecyclerView, mangaMostFavRecyclerView,
mangaMostFavProgressBar, mangaMostFavProgressBar,
mangaMostFav mangaMostFav,
mangaMostFavMore,
getAppString(R.string.most_favourite),
media
) )
mangaPopular.visibility = View.VISIBLE mangaPopular.visibility = View.VISIBLE
mangaPopular.startAnimation(setSlideUp()) mangaPopular.startAnimation(setSlideUp())
} }
} }
fun init(adaptor: MediaAdaptor, recyclerView: RecyclerView, progress: View, title: View) { fun init(adaptor: MediaAdaptor, recyclerView: RecyclerView, progress: View, title: View , more: View , string: String, media : MutableList<Media>) {
progress.visibility = View.GONE progress.visibility = View.GONE
recyclerView.adapter = adaptor recyclerView.adapter = adaptor
recyclerView.layoutManager = recyclerView.layoutManager =
@ -245,9 +263,19 @@ class MangaPageAdapter : RecyclerView.Adapter<MangaPageAdapter.MangaPageViewHold
LinearLayoutManager.HORIZONTAL, LinearLayoutManager.HORIZONTAL,
false false
) )
more.setOnClickListener {
ContextCompat.startActivity(
it.context, Intent(it.context, MediaListViewActivity::class.java)
.putExtra("title", string)
.putExtra("media", media as ArrayList<Media>),
null
)
}
recyclerView.visibility = View.VISIBLE recyclerView.visibility = View.VISIBLE
title.visibility = View.VISIBLE title.visibility = View.VISIBLE
more.visibility = View.VISIBLE
title.startAnimation(setSlideUp()) title.startAnimation(setSlideUp())
more.startAnimation(setSlideUp())
recyclerView.layoutAnimation = recyclerView.layoutAnimation =
LayoutAnimationController(setSlideIn(), 0.25f) LayoutAnimationController(setSlideIn(), 0.25f)
} }

View file

@ -1,7 +1,6 @@
package ani.dantotsu.media package ani.dantotsu.media
import android.os.Bundle import android.os.Bundle
import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.Window import android.view.Window
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
@ -13,7 +12,7 @@ import ani.dantotsu.databinding.ActivityMediaListViewBinding
import ani.dantotsu.getThemeColor import ani.dantotsu.getThemeColor
import ani.dantotsu.hideSystemBarsExtendView import ani.dantotsu.hideSystemBarsExtendView
import ani.dantotsu.initActivity import ani.dantotsu.initActivity
import ani.dantotsu.navBarHeight import ani.dantotsu.others.getSerialized
import ani.dantotsu.settings.saving.PrefManager import ani.dantotsu.settings.saving.PrefManager
import ani.dantotsu.settings.saving.PrefName import ani.dantotsu.settings.saving.PrefName
import ani.dantotsu.statusBarHeight import ani.dantotsu.statusBarHeight
@ -50,15 +49,14 @@ class MediaListViewActivity: AppCompatActivity() {
topMargin = statusBarHeight topMargin = statusBarHeight
} }
} }
val screenWidth = resources.displayMetrics.run { widthPixels / density } val mediaList = intent.getSerialized("media") as? ArrayList<Media> ?: ArrayList()
binding.listTitle.text = intent.getStringExtra("title") binding.listTitle.text = intent.getStringExtra("title")
binding.mediaRecyclerView.adapter = MediaAdaptor(0, mediaList, this) binding.mediaRecyclerView.adapter = MediaAdaptor(0, mediaList, this)
val screenWidth = resources.displayMetrics.run { widthPixels / density }
binding.mediaRecyclerView.layoutManager = GridLayoutManager( binding.mediaRecyclerView.layoutManager = GridLayoutManager(
this, this,
(screenWidth / 120f).toInt() (screenWidth / 120f).toInt()
) )
} }
companion object{
var mediaList: ArrayList<Media> = arrayListOf()
}
} }

View file

@ -370,7 +370,6 @@
android:fontFamily="@font/poppins_bold" android:fontFamily="@font/poppins_bold"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/arrow_mark" android:src="@drawable/arrow_mark"
android:text="@string/continue_watching"
android:textSize="16sp" android:textSize="16sp"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
@ -466,7 +465,6 @@
android:fontFamily="@font/poppins_bold" android:fontFamily="@font/poppins_bold"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/arrow_mark" android:src="@drawable/arrow_mark"
android:text="@string/continue_watching"
android:textSize="16sp" android:textSize="16sp"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
@ -560,7 +558,6 @@
android:fontFamily="@font/poppins_bold" android:fontFamily="@font/poppins_bold"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/arrow_mark" android:src="@drawable/arrow_mark"
android:text="@string/continue_watching"
android:textSize="16sp" android:textSize="16sp"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
@ -658,7 +655,6 @@
android:fontFamily="@font/poppins_bold" android:fontFamily="@font/poppins_bold"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/arrow_mark" android:src="@drawable/arrow_mark"
android:text="@string/continue_watching"
android:textSize="16sp" android:textSize="16sp"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
@ -754,7 +750,6 @@
android:fontFamily="@font/poppins_bold" android:fontFamily="@font/poppins_bold"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/arrow_mark" android:src="@drawable/arrow_mark"
android:text="@string/continue_watching"
android:textSize="16sp" android:textSize="16sp"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
@ -847,7 +842,7 @@
android:fontFamily="@font/poppins_bold" android:fontFamily="@font/poppins_bold"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/arrow_mark" android:src="@drawable/arrow_mark"
android:text="@string/continue_watching"
android:textSize="16sp" android:textSize="16sp"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
@ -944,7 +939,6 @@
android:fontFamily="@font/poppins_bold" android:fontFamily="@font/poppins_bold"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/arrow_mark" android:src="@drawable/arrow_mark"
android:text="@string/continue_watching"
android:textSize="16sp" android:textSize="16sp"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>

View file

@ -184,17 +184,38 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<TextView <LinearLayout
android:id="@+id/animeRecently"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/updated" <TextView
android:textSize="16sp" android:id="@+id/animeRecently"
android:visibility="invisible" android:layout_width="0dp"
tools:visibility="visible" /> android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_weight="1"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/updated"
android:textSize="16sp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageView
android:id="@+id/animeRecentlyMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -225,17 +246,38 @@
</FrameLayout> </FrameLayout>
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/animeMovies" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/trending_movies" <TextView
android:textSize="16sp" android:id="@+id/animeMovies"
android:visibility="invisible" android:layout_width="0dp"
tools:visibility="visible" /> android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/trending_movies"
android:textSize="16sp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageView
android:id="@+id/animeMoviesMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -265,17 +307,38 @@
</FrameLayout> </FrameLayout>
<TextView
android:id="@+id/animeTopRated" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/top_rated" <TextView
android:textSize="16sp" android:id="@+id/animeTopRated"
android:visibility="invisible" android:layout_width="0dp"
tools:visibility="visible" /> android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/top_rated"
android:textSize="16sp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageView
android:id="@+id/animeTopRatedMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -305,17 +368,37 @@
</FrameLayout> </FrameLayout>
<TextView <LinearLayout
android:id="@+id/animeMostFav"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/most_favourite" <TextView
android:textSize="16sp" android:id="@+id/animeMostFav"
android:visibility="invisible" android:layout_width="0dp"
tools:visibility="visible" /> android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/most_favourite"
android:textSize="16sp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageView
android:id="@+id/animeMostFavMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -124,17 +124,38 @@
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
<TextView
android:id="@+id/mangaTrendingManga"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/trending_manga" <TextView
android:textSize="16sp" android:id="@+id/mangaTrendingManga"
android:visibility="invisible" /> android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/trending_manga"
android:textSize="16sp"
android:visibility="invisible"
tools:visibility="visible"/>
<ImageView
android:id="@+id/mangaTrendingMangaMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -164,17 +185,37 @@
</FrameLayout> </FrameLayout>
<TextView
android:id="@+id/mangaTrendingManhwa" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/trending_manhwa"
android:textSize="16sp"
android:visibility="invisible" />
<TextView
android:id="@+id/mangaTrendingManhwa"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/trending_manhwa"
android:textSize="16sp"
android:visibility="invisible" />
<ImageView
android:id="@+id/mangaTrendingManhwaMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -203,17 +244,37 @@
</FrameLayout> </FrameLayout>
<TextView
android:id="@+id/mangaNovel" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/trending_novel"
android:textSize="16sp"
android:visibility="invisible" />
<TextView
android:id="@+id/mangaNovel"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/trending_novel"
android:textSize="16sp"
android:visibility="invisible" />
<ImageView
android:id="@+id/mangaNovelMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -242,17 +303,37 @@
</FrameLayout> </FrameLayout>
<TextView
android:id="@+id/mangaTopRated" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/top_rated"
android:textSize="16sp"
android:visibility="invisible" />
<TextView
android:id="@+id/mangaTopRated"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/top_rated"
android:textSize="16sp"
android:visibility="invisible" />
<ImageView
android:id="@+id/mangaTopRatedMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -281,16 +362,36 @@
</FrameLayout> </FrameLayout>
<TextView <LinearLayout
android:id="@+id/mangaMostFav"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:orientation="horizontal"
android:fontFamily="@font/poppins_bold" tools:ignore="UseCompoundDrawables">
android:padding="8dp"
android:text="@string/most_favourite" <TextView
android:textSize="16sp" android:id="@+id/mangaMostFav"
android:visibility="invisible" /> android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:text="@string/most_favourite"
android:textSize="16sp"
android:visibility="invisible" />
<ImageView
android:id="@+id/mangaMostFavMore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="24dp"
android:fontFamily="@font/poppins_bold"
android:padding="8dp"
android:src="@drawable/arrow_mark"
android:textSize="16sp"
android:visibility="invisible"
tools:ignore="ContentDescription" />
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"