This commit is contained in:
tom5079
2021-12-14 22:19:15 +09:00
parent ddbfd0a201
commit 458530e80c
22 changed files with 449 additions and 380 deletions

View File

@@ -34,6 +34,8 @@ import kotlinx.coroutines.channels.Channel
import org.kodein.di.DIAware
import org.kodein.di.android.closestDI
import org.kodein.di.instance
import org.kodein.log.LoggerFactory
import org.kodein.log.newLogger
import xyz.quaver.hitomi.sha256
import java.io.File
import java.util.concurrent.ConcurrentHashMap
@@ -54,6 +56,8 @@ class NetworkCache(context: Context) : DIAware {
private val networkScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher())
private val logger = newLogger(LoggerFactory.default)
@OptIn(ExperimentalCoroutinesApi::class)
suspend fun load(requestBuilder: HttpRequestBuilder.() -> Unit): File = coroutineScope {
val request = HttpRequestBuilder().apply(requestBuilder)
@@ -95,6 +99,7 @@ class NetworkCache(context: Context) : DIAware {
progressChannel.close()
}
}.onFailure {
logger.warning(it)
file.delete()
FirebaseCrashlytics.getInstance().recordException(it)
progressChannel.close(it)