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,
false
)
MediaListViewActivity.passedMedia = media.toCollection(ArrayList())
more.setOnClickListener {
ContextCompat.startActivity(
it.context, Intent(it.context, MediaListViewActivity::class.java)
.putExtra("title", string)
.putExtra("media", media as ArrayList<Media>),
.putExtra("title", string),
null
)
}

View file

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

View file

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

View file

@ -52,7 +52,8 @@ class MediaListViewActivity: AppCompatActivity() {
binding.listAppBar.setBackgroundColor(primaryColor)
binding.listTitle.setTextColor(primaryTextColor)
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)
var mediaView: View = when (view) {
1 -> binding.mediaList
@ -85,4 +86,8 @@ class MediaListViewActivity: AppCompatActivity() {
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 testType = "ping"
var testType = "basic"
var searchQuery = "Chainsaw Man"
var extensionsToTest: MutableList<String> = mutableListOf()
}

View file

@ -1,14 +1,11 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
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
android:id="@+id/listAppBar"
android:layout_width="match_parent"
@ -60,20 +57,19 @@
tools:ignore="ContentDescription,ImageContrastCheck" />
</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>
</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>