From e4630df3e0f77fe5928984ef943cb83cdd093e29 Mon Sep 17 00:00:00 2001
From: aayush262 <99584765+aayush2622@users.noreply.github.com>
Date: Wed, 2 Apr 2025 10:52:58 +0530
Subject: [PATCH] move stuff to dev (#587)
* Update README.md
* Fixed missing manga pages when downloading (#586)
* To install multiple mangas (#582)
users can enter the value required to install as there is an EditText field instead of the Text View
---------
Co-authored-by: rebel onion <87634197+rebelonion@users.noreply.github.com>
Co-authored-by: Daniele Santoru <30676094+danyev3@users.noreply.github.com>
Co-authored-by: Rishvaish <68911202+rishabpuranika@users.noreply.github.com>
---
README.md | 2 +-
.../download/manga/MangaDownloaderService.kt | 10 ++++++--
.../dantotsu/media/manga/MangaReadAdapter.kt | 24 ++++++++++++-------
.../dantotsu/media/manga/MangaReadFragment.kt | 2 +-
app/src/main/res/layout/dialog_layout.xml | 23 ++++++++++++------
5 files changed, 41 insertions(+), 20 deletions(-)
diff --git a/README.md b/README.md
index 76bece4b..6b713a2a 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ Dantotsu is an [Anilist](https://anilist.co/) only client.
> **Dantotsu (断トツ; Dan-totsu)** literally means "the best of the best" in Japanese. Try it out for yourself and be the judge!
-
+
## Terms of Use
By downloading, installing, or using this application, you agree to:
diff --git a/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt b/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt
index 58e7de38..2ea82108 100644
--- a/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt
+++ b/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt
@@ -232,12 +232,18 @@ class MangaDownloaderService : Service() {
image.page,
image.source
)
+ if (bitmap == null) {
+ snackString("${task.chapter} - Retrying to download page ${index.ofLength(3)}, attempt ${retryCount + 1}.")
+ }
retryCount++
}
- if (bitmap != null) {
- saveToDisk("${index.ofLength(3)}.jpg", outputDir, bitmap)
+ if (bitmap == null) {
+ outputDir.deleteRecursively(this@MangaDownloaderService, false)
+ throw Exception("${task.chapter} - Unable to download all pages after $retryCount attempts. Try again.")
}
+
+ saveToDisk("${index.ofLength(3)}.jpg", outputDir, bitmap)
farthest++
builder.setProgress(task.imageData.size, farthest, false)
diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
index a76d44a4..ddf98974 100644
--- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt
@@ -7,9 +7,11 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.CheckBox
+import android.widget.EditText
import android.widget.ImageButton
import android.widget.LinearLayout
import android.widget.NumberPicker
+import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.content.ContextCompat.getString
import androidx.core.content.ContextCompat.startActivity
@@ -265,19 +267,22 @@ class MangaReadAdapter(
}
// Multi download
- downloadNo.text = "0"
+ //downloadNo.text = "0"
mediaDownloadTop.setOnClickListener {
- // Alert dialog asking for the number of chapters to download
fragment.requireContext().customAlertDialog().apply {
setTitle("Multi Chapter Downloader")
setMessage("Enter the number of chapters to download")
- val input = NumberPicker(currContext())
- input.minValue = 1
- input.maxValue = 20
- input.value = 1
+ val input = View.inflate(currContext(), R.layout.dialog_layout, null)
+ val editText = input.findViewById(R.id.downloadNo)
setCustomView(input)
setPosButton(R.string.ok) {
- downloadNo.text = "${input.value}"
+ val value = editText.text.toString().toIntOrNull()
+ if (value != null && value > 0) {
+ downloadNo.setText(value.toString(), TextView.BufferType.EDITABLE)
+ fragment.multiDownload(value)
+ } else {
+ toast("Please enter a valid number")
+ }
}
setNegButton(R.string.cancel)
show()
@@ -382,8 +387,9 @@ class MangaReadAdapter(
setCustomView(root)
setPosButton("OK") {
if (run) fragment.onIconPressed(style, reversed)
- if (downloadNo.text != "0") {
- fragment.multiDownload(downloadNo.text.toString().toInt())
+ val value = downloadNo.text.toString().toIntOrNull()
+ if (value != null && value > 0) {
+ fragment.multiDownload(value)
}
if (refresh) fragment.loadChapters(source, true)
}
diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt
index 6b7eb6bc..63ef7408 100644
--- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt
+++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt
@@ -474,7 +474,7 @@ open class MangaReadFragment : Fragment(), ScanlatorSelectionListener {
scanlator = chapter.scanlator ?: "Unknown",
imageData = images,
sourceMedia = media,
- retries = 2,
+ retries = 25,
simultaneousDownloads = 2
)
diff --git a/app/src/main/res/layout/dialog_layout.xml b/app/src/main/res/layout/dialog_layout.xml
index 3db06395..3c9df3b8 100644
--- a/app/src/main/res/layout/dialog_layout.xml
+++ b/app/src/main/res/layout/dialog_layout.xml
@@ -8,7 +8,7 @@
android:padding="16dp">
@@ -160,8 +160,8 @@
android:orientation="horizontal">
-
+ tools:text="Number" />
+
+
+
+
+
+
+
+