mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
parent
454294e247
commit
7416aa40b1
3 changed files with 35 additions and 7 deletions
|
@ -24,6 +24,7 @@ import android.view.ViewPropertyAnimator
|
|||
import android.view.ViewTreeObserver
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.ImageView
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.view.ActionMode
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
|
@ -94,6 +95,7 @@ import eu.kanade.tachiyomi.ui.source.globalsearch.GlobalSearchController
|
|||
import eu.kanade.tachiyomi.util.isLocal
|
||||
import eu.kanade.tachiyomi.util.moveCategories
|
||||
import eu.kanade.tachiyomi.util.system.contextCompatDrawable
|
||||
import eu.kanade.tachiyomi.util.system.disableItems
|
||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
||||
import eu.kanade.tachiyomi.util.system.getResourceDrawable
|
||||
|
@ -1952,13 +1954,35 @@ class LibraryController(
|
|||
R.id.action_move_to_category -> showChangeMangaCategoriesSheet()
|
||||
R.id.action_share -> shareManga()
|
||||
R.id.action_delete -> {
|
||||
val options = arrayOf(
|
||||
R.string.remove_downloads,
|
||||
R.string.remove_from_library,
|
||||
)
|
||||
.map { activity!!.getString(it) }
|
||||
activity!!.materialAlertDialog()
|
||||
.setMessage(R.string.remove_from_library_question)
|
||||
.setPositiveButton(R.string.remove) { _, _ ->
|
||||
.setTitle(R.string.remove)
|
||||
.setMultiChoiceItems(
|
||||
options.toTypedArray(),
|
||||
options.map { true }.toBooleanArray(),
|
||||
) { dialog, position, _ ->
|
||||
if (position == 0) {
|
||||
val listView = (dialog as AlertDialog).listView
|
||||
listView.setItemChecked(position, true)
|
||||
}
|
||||
}
|
||||
.setPositiveButton(R.string.remove) { dialog, _ ->
|
||||
val listView = (dialog as AlertDialog).listView
|
||||
if (listView.isItemChecked(1)) {
|
||||
deleteMangasFromLibrary()
|
||||
} else {
|
||||
val mangas = selectedMangas.toList()
|
||||
presenter.confirmDeletion(mangas, false)
|
||||
}
|
||||
}
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.show()
|
||||
.show().apply {
|
||||
disableItems(arrayOf(options.first()))
|
||||
}
|
||||
}
|
||||
R.id.action_download_unread -> {
|
||||
presenter.downloadUnread(selectedMangas.toList())
|
||||
|
|
|
@ -920,16 +920,21 @@ class LibraryPresenter(
|
|||
}
|
||||
|
||||
/** Remove manga from the library and delete the downloads */
|
||||
fun confirmDeletion(mangas: List<Manga>) {
|
||||
fun confirmDeletion(mangas: List<Manga>, coverCacheToo: Boolean = true) {
|
||||
launchIO {
|
||||
val mangaToDelete = mangas.distinctBy { it.id }
|
||||
mangaToDelete.forEach { manga ->
|
||||
if (coverCacheToo) {
|
||||
coverCache.deleteFromCache(manga)
|
||||
}
|
||||
val source = sourceManager.get(manga.source) as? HttpSource
|
||||
if (source != null) {
|
||||
downloadManager.deleteManga(manga, source)
|
||||
}
|
||||
}
|
||||
if (!coverCacheToo) {
|
||||
requestDownloadBadgesUpdate()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -133,7 +133,6 @@
|
|||
<string name="updating_library">Updating library</string>
|
||||
<string name="selected_">Selected: %1$d</string>
|
||||
<string name="local">Local</string>
|
||||
<string name="remove_from_library_question">Remove from library?</string>
|
||||
<string name="library_search_hint">Search title, tags, source</string>
|
||||
<string name="library_is_empty_add_from_browse">Your library is empty, add series to your
|
||||
library from the browse tab.</string>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue