浏览代码

Hide language tag when only one language is used (#5834)

* Hide lang tag when only one lang used

* Comment the code

Can't be too useless and do nothing, Ghostbear practically wrote the entire PR for me

* Exclude 'all' from counting as a language

Co-Authored-By: Andreas <[email protected]>

* Use existing Preferences directly from Presenter

* Replace regex with an existing value

Co-authored-by: Andreas <[email protected]>
Soitora 3 年之前
父节点
当前提交
763bd54707
共有 1 个文件被更改,包括 17 次插入1 次删除
  1. 17 1
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt

+ 17 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt

@@ -260,7 +260,23 @@ class MangaInfoHeaderAdapter(
             val mangaSource = source?.toString()
             with(binding.mangaSource) {
                 if (mangaSource != null) {
-                    text = mangaSource
+                    val preferences = controller.presenter.preferences
+                    val enabledLanguages = preferences.enabledLanguages().get()
+                        .filterNot { it == "all" }
+
+                    text = if (enabledLanguages.size == 1) {
+                        // For edge cases where user disables a source they got manga of in their library.
+                        if (source.lang !in enabledLanguages) {
+                            source.toString()
+                        } else {
+                            // Hide the language tag when only one language is used.
+                            source.name
+                        }
+                    } else {
+                        // Display the language tag when multiple languages are used.
+                        source.toString()
+                    }
+
                     setOnClickListener {
                         val sourceManager = Injekt.get<SourceManager>()
                         controller.performSearch(sourceManager.getOrStub(source.id).name)