Fix saving cover
This commit is contained in:
@@ -9,6 +9,7 @@ import okhttp3.Request
|
|||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import okio.IOException
|
import okio.IOException
|
||||||
import org.koitharu.kotatsu.BuildConfig
|
import org.koitharu.kotatsu.BuildConfig
|
||||||
|
import org.koitharu.kotatsu.core.model.UnknownMangaSource
|
||||||
import org.koitharu.kotatsu.core.parser.MangaLoaderContextImpl
|
import org.koitharu.kotatsu.core.parser.MangaLoaderContextImpl
|
||||||
import org.koitharu.kotatsu.core.parser.MangaRepository
|
import org.koitharu.kotatsu.core.parser.MangaRepository
|
||||||
import org.koitharu.kotatsu.core.parser.ParserMangaRepository
|
import org.koitharu.kotatsu.core.parser.ParserMangaRepository
|
||||||
@@ -29,13 +30,13 @@ class CommonHeadersInterceptor @Inject constructor(
|
|||||||
override fun intercept(chain: Chain): Response {
|
override fun intercept(chain: Chain): Response {
|
||||||
val request = chain.request()
|
val request = chain.request()
|
||||||
val source = request.tag(MangaSource::class.java)
|
val source = request.tag(MangaSource::class.java)
|
||||||
val repository = if (source != null) {
|
val repository = if (source == null || source == UnknownMangaSource) {
|
||||||
mangaRepositoryFactoryLazy.get().create(source) as? ParserMangaRepository
|
if (BuildConfig.DEBUG && source == null) {
|
||||||
} else {
|
|
||||||
if (BuildConfig.DEBUG) {
|
|
||||||
Log.w("Http", "Request without source tag: ${request.url}")
|
Log.w("Http", "Request without source tag: ${request.url}")
|
||||||
}
|
}
|
||||||
null
|
null
|
||||||
|
} else {
|
||||||
|
mangaRepositoryFactoryLazy.get().create(source) as? ParserMangaRepository
|
||||||
}
|
}
|
||||||
val headersBuilder = request.headers.newBuilder()
|
val headersBuilder = request.headers.newBuilder()
|
||||||
repository?.getRequestHeaders()?.let {
|
repository?.getRequestHeaders()?.let {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import dagger.hilt.android.lifecycle.HiltViewModel
|
|||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.runInterruptible
|
import kotlinx.coroutines.runInterruptible
|
||||||
|
import org.koitharu.kotatsu.core.model.MangaSource
|
||||||
import org.koitharu.kotatsu.core.ui.BaseActivity
|
import org.koitharu.kotatsu.core.ui.BaseActivity
|
||||||
import org.koitharu.kotatsu.core.ui.BaseViewModel
|
import org.koitharu.kotatsu.core.ui.BaseViewModel
|
||||||
import org.koitharu.kotatsu.core.util.ext.MutableEventFlow
|
import org.koitharu.kotatsu.core.util.ext.MutableEventFlow
|
||||||
@@ -36,7 +37,7 @@ class ImageViewModel @Inject constructor(
|
|||||||
.memoryCachePolicy(CachePolicy.READ_ONLY)
|
.memoryCachePolicy(CachePolicy.READ_ONLY)
|
||||||
.data(savedStateHandle.require<Uri>(BaseActivity.EXTRA_DATA))
|
.data(savedStateHandle.require<Uri>(BaseActivity.EXTRA_DATA))
|
||||||
.memoryCachePolicy(CachePolicy.DISABLED)
|
.memoryCachePolicy(CachePolicy.DISABLED)
|
||||||
.source(savedStateHandle[ImageActivity.EXTRA_SOURCE])
|
.source(MangaSource(savedStateHandle[ImageActivity.EXTRA_SOURCE]))
|
||||||
.build()
|
.build()
|
||||||
val bitmap = coil.execute(request).getDrawableOrThrow().toBitmap()
|
val bitmap = coil.execute(request).getDrawableOrThrow().toBitmap()
|
||||||
runInterruptible(Dispatchers.IO) {
|
runInterruptible(Dispatchers.IO) {
|
||||||
|
|||||||
Reference in New Issue
Block a user