From 4e8d41b145958d8180156ea2045b464592129589 Mon Sep 17 00:00:00 2001
From: FooIbar <118464521+FooIbar@users.noreply.github.com>
Date: Wed, 11 Jan 2023 12:12:45 +0800
Subject: [PATCH] Show dialog before removing download label
---
.../hippo/ehviewer/ui/scene/DownloadsScene.kt | 28 +++++++++++++------
app/src/main/res/values-zh-rCN/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
3 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt
index 5d54bf006..4eed33299 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt
@@ -834,7 +834,9 @@ class DownloadsScene : BaseToolbarScene(), DownloadInfoListener, OnClickFabListe
RenameLabelDialogHelper(builder, dialog, label)
}
}
+ holder.option.visibility = View.VISIBLE
} else {
+ holder.edit.visibility = View.GONE
holder.option.visibility = View.GONE
}
}
@@ -1169,16 +1171,24 @@ class DownloadsScene : BaseToolbarScene(), DownloadInfoListener, OnClickFabListe
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
val position = viewHolder.bindingAdapterPosition
if (mDownloadManager == null) return
- lifecycleScope.launchIO {
- if (position != 0) {
- val label = mLabels[position]
- mDownloadManager!!.deleteLabel(label)
- }
- mLabels.removeAt(position)
- withUIContext {
- mLabelAdapter!!.notifyItemRemoved(position)
- }
+ if (position == 0) {
+ mLabelAdapter!!.notifyItemChanged(position)
+ return
}
+ val label = mLabels[position]
+ BaseDialogBuilder(context!!)
+ .setMessage(getString(R.string.delete_label, label))
+ .setPositiveButton(R.string.delete) { _, _ ->
+ lifecycleScope.launchIO {
+ mDownloadManager!!.deleteLabel(label)
+ mLabels.removeAt(position)
+ withUIContext {
+ mLabelAdapter!!.notifyItemRemoved(position)
+ }
+ }
+ }.setNegativeButton(android.R.string.cancel) { _, _ ->
+ mLabelAdapter!!.notifyItemChanged(position)
+ }.show()
}
}
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 73856b349..ea1c511f4 100755
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -306,6 +306,7 @@
“默认”是无效标签
标签已存在
重命名标签
+ 删除标签“%s”?
这里是阅读历史
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 82d423dc9..fa311889d 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -352,6 +352,7 @@
\"Default\" is an invalid label
Label exists
Rename label
+ Delete label \"%s\"?
Viewed galleries will be shown here