feat: Open random series from global list

This commit is contained in:
Ahmad Ansori Palembani 2024-10-13 18:50:12 +07:00
parent e4cc6505dd
commit ad070fd59a
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
3 changed files with 11 additions and 4 deletions

View file

@ -519,8 +519,12 @@ open class LibraryController(
filterTooltip?.show()
}
private fun openRandomManga() {
val items = adapter.currentItems.filter { (it is LibraryItem && !it.manga.isBlank() && !it.manga.isHidden() && (!it.manga.initialized || it.manga.unread > 0)) }
private fun openRandomManga(global: Boolean) {
val items = if (global) {
adapter.currentItems
} else {
presenter.allLibraryItems
}.filter { (it is LibraryItem && !it.manga.isBlank() && !it.manga.isHidden() && (!it.manga.initialized || it.manga.unread > 0)) }
if (items.isNotEmpty()) {
val item = items.random() as LibraryItem
openManga(item.manga)
@ -770,7 +774,8 @@ open class LibraryController(
binding.roundedCategoryHopper.categoryButton.setOnLongClickListener {
when (preferences.hopperLongPressAction().get()) {
4 -> openRandomManga()
5 -> openRandomManga(true)
4 -> openRandomManga(false)
3 -> showGroupOptions()
2 -> showDisplayOptions()
1 -> if (canCollapseOrExpandCategory() != null) presenter.toggleAllCategoryVisibility()

View file

@ -16,6 +16,7 @@
<item>@string/display_options</item>
<item>@string/group_library_by</item>
<item>@string/open_random_series</item>
<item>@string/open_random_series_global</item>
</string-array>
<string-array name="hide_hopper">
@ -151,4 +152,4 @@
<item>@string/clean_read_manga_not_in_library</item>
</string-array>
</resources>
</resources>

View file

@ -153,6 +153,7 @@
<string name="category_hopper_long_press">Category hopper long-press action</string>
<string name="expand_collapse_all_categories">Expand/collapse all categories</string>
<string name="open_random_series">Open a random series</string>
<string name="open_random_series_global">Open a random series (Global)</string>
<string name="expand_all_categories">Expand all categories</string>
<string name="collapse_all_categories">Collapse all categories</string>
<string name="reorder_filters">Reorder filters</string>