mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-15 13:37:29 +01:00
Maintain source info in the database. (#6389)
* Maintain Source Info in database * Review changes and cleanups * Review changes 2 * Review Changes 3
This commit is contained in:
@@ -366,7 +366,10 @@ class MainActivity : BaseActivity() {
|
||||
|
||||
// Extension updates
|
||||
try {
|
||||
ExtensionGithubApi().checkForUpdates(this@MainActivity)?.let { pendingUpdates ->
|
||||
ExtensionGithubApi().checkForUpdates(
|
||||
this@MainActivity,
|
||||
fromAvailableExtensionList = true
|
||||
)?.let { pendingUpdates ->
|
||||
preferences.extensionUpdatesCount().set(pendingUpdates.size)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
|
||||
@@ -1140,7 +1140,9 @@ class MangaController :
|
||||
|
||||
private fun downloadChapters(chapters: List<ChapterItem>) {
|
||||
if (source is SourceManager.StubSource) {
|
||||
activity?.toast(R.string.loader_not_implemented_error)
|
||||
activity?.let {
|
||||
it.toast(it.getString(R.string.source_not_installed, source?.toString().orEmpty()))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -228,11 +228,7 @@ class MangaInfoHeaderAdapter(
|
||||
*/
|
||||
private fun setMangaInfo() {
|
||||
// Update full title TextView.
|
||||
binding.mangaFullTitle.text = if (manga.title.isBlank()) {
|
||||
view.context.getString(R.string.unknown)
|
||||
} else {
|
||||
manga.title
|
||||
}
|
||||
binding.mangaFullTitle.text = manga.title.ifBlank { view.context.getString(R.string.unknown) }
|
||||
|
||||
// Update author TextView.
|
||||
binding.mangaAuthor.text = if (manga.author.isNullOrBlank()) {
|
||||
@@ -249,6 +245,8 @@ class MangaInfoHeaderAdapter(
|
||||
}
|
||||
|
||||
// If manga source is known update source TextView.
|
||||
binding.mangaMissingSourceIcon.isVisible = source is SourceManager.StubSource
|
||||
|
||||
val mangaSource = source.toString()
|
||||
with(binding.mangaSource) {
|
||||
val enabledLanguages = preferences.enabledLanguages().get()
|
||||
|
||||
@@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.tachiyomi.data.download.DownloadManager
|
||||
import eu.kanade.tachiyomi.source.LocalSource
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
||||
import eu.kanade.tachiyomi.util.system.logcat
|
||||
@@ -87,6 +88,7 @@ class ChapterLoader(
|
||||
is LocalSource.Format.Epub -> EpubPageLoader(format.file)
|
||||
}
|
||||
}
|
||||
source is SourceManager.StubSource -> throw source.getSourceNotInstalledException()
|
||||
else -> error(context.getString(R.string.loader_not_implemented_error))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.databinding.ClearDatabaseSourceItemBinding
|
||||
import eu.kanade.tachiyomi.source.LocalSource
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import eu.kanade.tachiyomi.source.icon
|
||||
|
||||
data class ClearDatabaseSourceItem(val source: Source, private val mangaCount: Long) : AbstractFlexibleItem<ClearDatabaseSourceItem.Holder>() {
|
||||
@@ -37,9 +36,9 @@ data class ClearDatabaseSourceItem(val source: Source, private val mangaCount: L
|
||||
|
||||
itemView.post {
|
||||
when {
|
||||
source.id == LocalSource.ID -> binding.thumbnail.setImageResource(R.mipmap.ic_local_source)
|
||||
source is SourceManager.StubSource -> binding.thumbnail.setImageDrawable(null)
|
||||
source.icon() != null -> binding.thumbnail.setImageDrawable(source.icon())
|
||||
source.icon() != null && source.id != LocalSource.ID ->
|
||||
binding.thumbnail.setImageDrawable(source.icon())
|
||||
else -> binding.thumbnail.setImageResource(R.mipmap.ic_local_source)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user