diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b2c7091b088..03739fff0cb 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -22,6 +22,41 @@
android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
= items.size) return@withLock -1
+ val writtenIndex =
+ (metadata.bytesWritten - stream.startAt) / items.chuckSize
+ if (currentIndex > writtenIndex + (parallelConnections * 2).coerceAtLeast(5)) {
+ -2
+ } else {
+ currentIndex++
+ }
+ }
+
+ if (index == -1) return@launch
+ if (index == -2) {
+ delay(500)
+ continue
}
// in case something has gone wrong set to failed if the fail is not caused by
@@ -1307,7 +1319,7 @@ object VideoDownloadManager {
metadata.type = DownloadType.IsDownloading
val currentMutex = Mutex()
- val current = (startAt until items.size).iterator()
+ var currentIndex = startAt
val fileMutex = Mutex()
val pendingData: HashMap = hashMapOf()
@@ -1341,8 +1353,18 @@ object VideoDownloadManager {
// mutex just in case, we never want this to fail due to multithreading
val index = currentMutex.withLock {
- if (!current.hasNext()) return@launch
- current.nextInt()
+ if (currentIndex >= items.size) return@withLock -1
+ if (currentIndex > metadata.hlsWrittenProgress + (parallelConnections * 2).coerceAtLeast(5)) {
+ -2
+ } else {
+ currentIndex++
+ }
+ }
+
+ if (index == -1) return@launch
+ if (index == -2) {
+ delay(500)
+ continue
}
// in case something has gone wrong set to failed if the fail is not caused by
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index a97145c3f81..e8cc86b86c9 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -2,7 +2,7 @@
# https://docs.gradle.org/current/userguide/dependency_versions.html#sec:strict-version
[versions]
activityKtx = "1.13.0"
-androidGradlePlugin = "9.1.1"
+androidGradlePlugin = "9.0.0"
animeDb = "1.0.2"
annotation = "1.10.0"
appcompat = "1.7.1"