Remove some progress dialogs

This commit is contained in:
arkon 2020-04-20 23:10:10 -04:00
parent 3d10dad780
commit d6e49be268
6 changed files with 6 additions and 118 deletions

View file

@ -24,7 +24,6 @@ import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.download.model.Download
import eu.kanade.tachiyomi.databinding.ChaptersControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.popControllerWithTag
import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.util.lang.launchInUI
@ -504,12 +503,10 @@ class ChaptersController : NucleusController<ChaptersControllerBinding, Chapters
fun deleteChapters(chapters: List<ChapterItem>) {
if (chapters.isEmpty()) return
DeletingChaptersDialog().showDialog(router)
presenter.deleteChapters(chapters)
}
fun onChaptersDeleted(chapters: List<ChapterItem>) {
dismissDeletingDialog()
// this is needed so the downloaded text gets removed from the item
chapters.forEach {
adapter?.updateItem(it)
@ -518,14 +515,9 @@ class ChaptersController : NucleusController<ChaptersControllerBinding, Chapters
}
fun onChaptersDeletedError(error: Throwable) {
dismissDeletingDialog()
Timber.e(error)
}
private fun dismissDeletingDialog() {
router.popControllerWithTag(DeletingChaptersDialog.TAG)
}
// OVERFLOW MENU DIALOGS
private fun setDisplayMode(id: Int) {

View file

@ -1,26 +0,0 @@
package eu.kanade.tachiyomi.ui.manga.chapter
import android.app.Dialog
import android.os.Bundle
import com.afollestad.materialdialogs.MaterialDialog
import com.bluelinelabs.conductor.Router
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.DialogController
class DeletingChaptersDialog(bundle: Bundle? = null) : DialogController(bundle) {
companion object {
const val TAG = "deleting_dialog"
}
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
return MaterialDialog.Builder(activity!!)
.progress(true, 0)
.content(R.string.deleting)
.build()
}
override fun showDialog(router: Router) {
showDialog(router, TAG)
}
}

View file

@ -1,26 +0,0 @@
package eu.kanade.tachiyomi.ui.recent.updates
import android.app.Dialog
import android.os.Bundle
import com.afollestad.materialdialogs.MaterialDialog
import com.bluelinelabs.conductor.Router
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.DialogController
class DeletingChaptersDialog(bundle: Bundle? = null) : DialogController(bundle) {
companion object {
const val TAG = "deleting_dialog"
}
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
return MaterialDialog.Builder(activity!!)
.progress(true, 0)
.content(R.string.deleting)
.build()
}
override fun showDialog(router: Router) {
showDialog(router, TAG)
}
}

View file

@ -21,7 +21,6 @@ import eu.kanade.tachiyomi.databinding.UpdatesControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NoToolbarElevationController
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.popControllerWithTag
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
@ -262,7 +261,6 @@ class UpdatesController : NucleusController<UpdatesControllerBinding, UpdatesPre
}
override fun deleteChapters(chaptersToDelete: List<UpdatesItem>) {
DeletingChaptersDialog().showDialog(router)
presenter.deleteChapters(chaptersToDelete)
}
@ -286,7 +284,6 @@ class UpdatesController : NucleusController<UpdatesControllerBinding, UpdatesPre
* Called when chapters are deleted
*/
fun onChaptersDeleted() {
dismissDeletingDialog()
adapter?.notifyDataSetChanged()
}
@ -295,17 +292,9 @@ class UpdatesController : NucleusController<UpdatesControllerBinding, UpdatesPre
* @param error error message
*/
fun onChaptersDeletedError(error: Throwable) {
dismissDeletingDialog()
Timber.e(error)
}
/**
* Called to dismiss deleting dialog
*/
private fun dismissDeletingDialog() {
router.popControllerWithTag(DeletingChaptersDialog.TAG)
}
/**
* Called when ActionMode created.
* @param mode the ActionMode object

View file

@ -9,7 +9,6 @@ import android.os.Build
import android.os.Bundle
import android.os.PowerManager
import android.provider.Settings
import android.view.View
import androidx.preference.PreferenceScreen
import com.afollestad.materialdialogs.MaterialDialog
import com.bluelinelabs.conductor.RouterTransaction
@ -117,10 +116,6 @@ class SettingsAdvancedController : SettingsController() {
var deletedFiles = 0
val ctrl = DeletingFilesDialogController()
ctrl.total = files.size
ctrl.showDialog(router)
Observable.defer { Observable.from(files) }
.doOnNext { file ->
if (chapterCache.removeFileFromCache(file.name)) {
@ -129,50 +124,15 @@ class SettingsAdvancedController : SettingsController() {
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
ctrl.setProgress(deletedFiles)
}, {
.doOnError {
activity?.toast(R.string.cache_delete_error)
}, {
ctrl.finish()
}
.doOnCompleted {
activity?.toast(resources?.getString(R.string.cache_deleted, deletedFiles))
findPreference(CLEAR_CACHE_KEY)?.summary =
resources?.getString(R.string.used_cache, chapterCache.readableSize)
})
}
class DeletingFilesDialogController : DialogController() {
var total = 0
private var materialDialog: MaterialDialog? = null
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
return MaterialDialog.Builder(activity!!)
.title(R.string.deleting)
.progress(false, total, true)
.cancelable(false)
.build()
.also { materialDialog = it }
}
override fun onDestroyView(view: View) {
super.onDestroyView(view)
materialDialog = null
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
finish()
}
fun setProgress(deletedFiles: Int) {
materialDialog?.setProgress(deletedFiles)
}
fun finish() {
router.popController(this)
}
resources?.getString(R.string.used_cache, chapterCache.readableSize)
}
.subscribe()
}
class ClearDatabaseDialogController : DialogController() {

View file

@ -112,7 +112,6 @@
<string name="action_webview_refresh">Refresh</string>
<!-- Operations -->
<string name="deleting">Deleting…</string>
<string name="loading">Loading…</string>
<!-- Shortcuts-->