fix: list view crash

This commit is contained in:
rebelonion 2024-05-21 11:28:46 -05:00
parent b3ed8acd5b
commit 66805bdf05
6 changed files with 31 additions and 30 deletions

View file

@ -268,11 +268,11 @@ class AnimePageAdapter : RecyclerView.Adapter<AnimePageAdapter.AnimePageViewHold
LinearLayoutManager.HORIZONTAL, LinearLayoutManager.HORIZONTAL,
false false
) )
MediaListViewActivity.passedMedia = media.toCollection(ArrayList())
more.setOnClickListener { more.setOnClickListener {
ContextCompat.startActivity( ContextCompat.startActivity(
it.context, Intent(it.context, MediaListViewActivity::class.java) it.context, Intent(it.context, MediaListViewActivity::class.java)
.putExtra("title", string) .putExtra("title", string),
.putExtra("media", media as ArrayList<Media>),
null null
) )
} }

View file

@ -233,10 +233,10 @@ class HomeFragment : Fragment() {
false false
) )
more.setOnClickListener { i -> more.setOnClickListener { i ->
MediaListViewActivity.passedMedia = it
ContextCompat.startActivity( ContextCompat.startActivity(
i.context, Intent(i.context, MediaListViewActivity::class.java) i.context, Intent(i.context, MediaListViewActivity::class.java)
.putExtra("title", string) .putExtra("title", string),
.putExtra("media", it),
null null
) )
} }
@ -393,11 +393,11 @@ class HomeFragment : Fragment() {
true true
} }
binding.homeHiddenItemsMore.setSafeOnClickListener { _ -> binding.homeHiddenItemsMore.setSafeOnClickListener { _ ->
MediaListViewActivity.passedMedia = it
ContextCompat.startActivity( ContextCompat.startActivity(
requireActivity(), requireActivity(),
Intent(requireActivity(), MediaListViewActivity::class.java) Intent(requireActivity(), MediaListViewActivity::class.java)
.putExtra("title", getString(R.string.hidden)) .putExtra("title", getString(R.string.hidden)),
.putExtra("media", it),
null null
) )
} }

View file

@ -271,10 +271,10 @@ class MangaPageAdapter : RecyclerView.Adapter<MangaPageAdapter.MangaPageViewHold
false false
) )
more.setOnClickListener { more.setOnClickListener {
MediaListViewActivity.passedMedia = media.toCollection(ArrayList())
ContextCompat.startActivity( ContextCompat.startActivity(
it.context, Intent(it.context, MediaListViewActivity::class.java) it.context, Intent(it.context, MediaListViewActivity::class.java)
.putExtra("title", string) .putExtra("title", string),
.putExtra("media", media as ArrayList<Media>),
null null
) )
} }

View file

@ -52,7 +52,8 @@ class MediaListViewActivity: AppCompatActivity() {
binding.listAppBar.setBackgroundColor(primaryColor) binding.listAppBar.setBackgroundColor(primaryColor)
binding.listTitle.setTextColor(primaryTextColor) binding.listTitle.setTextColor(primaryTextColor)
val screenWidth = resources.displayMetrics.run { widthPixels / density } val screenWidth = resources.displayMetrics.run { widthPixels / density }
val mediaList = intent.getSerialized("media") as? ArrayList<Media> ?: ArrayList() val mediaList = passedMedia ?: intent.getSerialized("media") as? ArrayList<Media> ?: ArrayList()
if (passedMedia != null) passedMedia = null
val view = PrefManager.getCustomVal("mediaView", 0) val view = PrefManager.getCustomVal("mediaView", 0)
var mediaView: View = when (view) { var mediaView: View = when (view) {
1 -> binding.mediaList 1 -> binding.mediaList
@ -85,4 +86,8 @@ class MediaListViewActivity: AppCompatActivity() {
if (view == 1) 1 else (screenWidth / 120f).toInt() if (view == 1) 1 else (screenWidth / 120f).toInt()
) )
} }
companion object {
var passedMedia: ArrayList<Media>? = null
}
} }

View file

@ -132,7 +132,7 @@ class ExtensionTestSettingsBottomDialog : BottomSheetDialogFragment() {
} }
var extensionType = "anime" var extensionType = "anime"
var testType = "ping" var testType = "basic"
var searchQuery = "Chainsaw Man" var searchQuery = "Chainsaw Man"
var extensionsToTest: MutableList<String> = mutableListOf() var extensionsToTest: MutableList<String> = mutableListOf()
} }

View file

@ -1,14 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:id="@+id/listAppBar" android:id="@+id/listAppBar"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -60,20 +57,19 @@
tools:ignore="ContentDescription,ImageContrastCheck" /> tools:ignore="ContentDescription,ImageContrastCheck" />
</LinearLayout> </LinearLayout>
<ani.dantotsu.FadingEdgeRecyclerView
android:id="@+id/mediaRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:requiresFadingEdge="horizontal"
tools:itemCount="4"
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_media_compact"
tools:orientation="horizontal" />
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout> <ani.dantotsu.FadingEdgeRecyclerView
android:id="@+id/mediaRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:requiresFadingEdge="horizontal"
android:nestedScrollingEnabled="false"
tools:itemCount="4"
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_media_compact"
tools:orientation="horizontal" />
</LinearLayout>