fix: lang codes not found

This commit is contained in:
rebelonion 2024-05-06 22:31:21 -05:00
parent 40c2989b34
commit fda68a7ca2
11 changed files with 18 additions and 14 deletions

View file

@ -489,7 +489,7 @@ class AnimeWatchAdapter(
val adapter = ArrayAdapter( val adapter = ArrayAdapter(
fragment.requireContext(), fragment.requireContext(),
R.layout.item_dropdown, R.layout.item_dropdown,
parser.extension.sources.map { LanguageMapper.getLanguageCode(it.lang) } parser.extension.sources.map { LanguageMapper.getLanguageName(it.lang) }
) )
val items = adapter.count val items = adapter.count

View file

@ -371,7 +371,7 @@ class AnimeWatchFragment : Fragment() {
var selectedSetting = allSettings[0] var selectedSetting = allSettings[0]
if (allSettings.size > 1) { if (allSettings.size > 1) {
val names = val names =
allSettings.map { LanguageMapper.getLanguageCode(it.lang) }.toTypedArray() allSettings.map { LanguageMapper.getLanguageName(it.lang) }.toTypedArray()
val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup) val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup)
.setTitle("Select a Source") .setTitle("Select a Source")
.setSingleChoiceItems(names, -1) { dialog, which -> .setSingleChoiceItems(names, -1) { dialog, which ->

View file

@ -548,7 +548,7 @@ class MangaReadAdapter(
val adapter = ArrayAdapter( val adapter = ArrayAdapter(
fragment.requireContext(), fragment.requireContext(),
R.layout.item_dropdown, R.layout.item_dropdown,
parser.extension.sources.map { LanguageMapper.getLanguageCode(it.lang) } parser.extension.sources.map { LanguageMapper.getLanguageName(it.lang) }
) )
val items = adapter.count val items = adapter.count
binding?.animeSourceLanguageContainer?.isVisible = items > 1 binding?.animeSourceLanguageContainer?.isVisible = items > 1

View file

@ -385,7 +385,7 @@ open class MangaReadFragment : Fragment(), ScanlatorSelectionListener {
var selectedSetting = allSettings[0] var selectedSetting = allSettings[0]
if (allSettings.size > 1) { if (allSettings.size > 1) {
val names = val names =
allSettings.map { LanguageMapper.getLanguageCode(it.lang) }.toTypedArray() allSettings.map { LanguageMapper.getLanguageName(it.lang) }.toTypedArray()
val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup) val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup)
.setTitle("Select a Source") .setTitle("Select a Source")
.setSingleChoiceItems(names, -1) { dialog, which -> .setSingleChoiceItems(names, -1) { dialog, which ->

View file

@ -119,7 +119,7 @@ class LanguageMapper {
"zu" to "Zulu" "zu" to "Zulu"
) )
fun getLanguage(code: String): String { fun getLanguageName(code: String): String {
return if (code.contains("-")) { return if (code.contains("-")) {
try { try {
val parts = code.split("-") val parts = code.split("-")
@ -129,6 +129,9 @@ class LanguageMapper {
} }
} else { } else {
try { try {
if (code == "all") {
return codeMap[code] ?: code
}
Locale(code).displayName Locale(code).displayName
} catch (ignored: Exception) { } catch (ignored: Exception) {
code code
@ -137,7 +140,8 @@ class LanguageMapper {
} }
fun getLanguageCode(language: String): String { fun getLanguageCode(language: String): String {
return codeMap.filterValues { it.lowercase() == language.lowercase() }.keys.firstOrNull() ?: "all" return codeMap.filterValues { it.lowercase() == language.lowercase() }.keys.firstOrNull()
?: "all"
} }
enum class Language(val code: String) { enum class Language(val code: String) {

View file

@ -72,7 +72,7 @@ class InstalledAnimeExtensionsFragment : Fragment(), SearchQueryHandler {
if (allSettings.isNotEmpty()) { if (allSettings.isNotEmpty()) {
var selectedSetting = allSettings[0] var selectedSetting = allSettings[0]
if (allSettings.size > 1) { if (allSettings.size > 1) {
val names = allSettings.map { LanguageMapper.getLanguageCode(it.lang) } val names = allSettings.map { LanguageMapper.getLanguageName(it.lang) }
.toTypedArray() .toTypedArray()
var selectedIndex = 0 var selectedIndex = 0
val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup) val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup)
@ -295,7 +295,7 @@ class InstalledAnimeExtensionsFragment : Fragment(), SearchQueryHandler {
override fun onBindViewHolder(holder: ViewHolder, position: Int) { override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val extension = getItem(position) val extension = getItem(position)
val nsfw = if (extension.isNsfw) "(18+)" else "" val nsfw = if (extension.isNsfw) "(18+)" else ""
val lang = LanguageMapper.getLanguageCode(extension.lang) val lang = LanguageMapper.getLanguageName(extension.lang)
holder.extensionNameTextView.text = extension.name holder.extensionNameTextView.text = extension.name
val versionText = "$lang ${extension.versionName} $nsfw" val versionText = "$lang ${extension.versionName} $nsfw"
holder.extensionVersionTextView.text = versionText holder.extensionVersionTextView.text = versionText

View file

@ -71,7 +71,7 @@ class InstalledMangaExtensionsFragment : Fragment(), SearchQueryHandler {
if (allSettings.isNotEmpty()) { if (allSettings.isNotEmpty()) {
var selectedSetting = allSettings[0] var selectedSetting = allSettings[0]
if (allSettings.size > 1) { if (allSettings.size > 1) {
val names = allSettings.map { LanguageMapper.getLanguageCode(it.lang) } val names = allSettings.map { LanguageMapper.getLanguageName(it.lang) }
.toTypedArray() .toTypedArray()
var selectedIndex = 0 var selectedIndex = 0
val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup) val dialog = AlertDialog.Builder(requireContext(), R.style.MyPopup)
@ -293,7 +293,7 @@ class InstalledMangaExtensionsFragment : Fragment(), SearchQueryHandler {
override fun onBindViewHolder(holder: ViewHolder, position: Int) { override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val extension = getItem(position) // Use getItem() from ListAdapter val extension = getItem(position) // Use getItem() from ListAdapter
val nsfw = if (extension.isNsfw) "(18+)" else "" val nsfw = if (extension.isNsfw) "(18+)" else ""
val lang = LanguageMapper.getLanguageCode(extension.lang) val lang = LanguageMapper.getLanguageName(extension.lang)
holder.extensionNameTextView.text = extension.name holder.extensionNameTextView.text = extension.name
val versionText = "$lang ${extension.versionName} $nsfw" val versionText = "$lang ${extension.versionName} $nsfw"
holder.extensionVersionTextView.text = versionText holder.extensionVersionTextView.text = versionText

View file

@ -222,7 +222,7 @@ class InstalledNovelExtensionsFragment : Fragment(), SearchQueryHandler {
override fun onBindViewHolder(holder: ViewHolder, position: Int) { override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val extension = getItem(position) // Use getItem() from ListAdapter val extension = getItem(position) // Use getItem() from ListAdapter
val nsfw = "" val nsfw = ""
val lang = LanguageMapper.getLanguageCode("all") val lang = LanguageMapper.getLanguageName("all")
holder.extensionNameTextView.text = extension.name holder.extensionNameTextView.text = extension.name
val versionText = "$lang ${extension.versionName} $nsfw" val versionText = "$lang ${extension.versionName} $nsfw"
holder.extensionVersionTextView.text = versionText holder.extensionVersionTextView.text = versionText

View file

@ -203,7 +203,7 @@ class AnimeExtensionAdapter(private val clickListener: OnAnimeInstallClickListen
fun bind(extension: AnimeExtension.Available) { fun bind(extension: AnimeExtension.Available) {
val nsfw = if (extension.isNsfw) "(18+)" else "" val nsfw = if (extension.isNsfw) "(18+)" else ""
val lang = LanguageMapper.getLanguageCode(extension.lang) val lang = LanguageMapper.getLanguageName(extension.lang)
binding.extensionNameTextView.text = extension.name binding.extensionNameTextView.text = extension.name
val versionText = "$lang ${extension.versionName} $nsfw" val versionText = "$lang ${extension.versionName} $nsfw"
binding.extensionVersionTextView.text = versionText binding.extensionVersionTextView.text = versionText

View file

@ -201,7 +201,7 @@ class MangaExtensionAdapter(private val clickListener: OnMangaInstallClickListen
fun bind(extension: MangaExtension.Available) { fun bind(extension: MangaExtension.Available) {
val nsfw = if (extension.isNsfw) "(18+)" else "" val nsfw = if (extension.isNsfw) "(18+)" else ""
val lang = LanguageMapper.getLanguageCode(extension.lang) val lang = LanguageMapper.getLanguageName(extension.lang)
binding.extensionNameTextView.text = extension.name binding.extensionNameTextView.text = extension.name
val versionText = "$lang ${extension.versionName} $nsfw" val versionText = "$lang ${extension.versionName} $nsfw"
binding.extensionVersionTextView.text = versionText binding.extensionVersionTextView.text = versionText

View file

@ -202,7 +202,7 @@ class NovelExtensionAdapter(private val clickListener: OnNovelInstallClickListen
val extensionIconImageView: ImageView = binding.extensionIconImageView val extensionIconImageView: ImageView = binding.extensionIconImageView
fun bind(extension: NovelExtension.Available) { fun bind(extension: NovelExtension.Available) {
val nsfw = "" val nsfw = ""
val lang = LanguageMapper.getLanguageCode("all") val lang = LanguageMapper.getLanguageName("all")
binding.extensionNameTextView.text = extension.name binding.extensionNameTextView.text = extension.name
binding.extensionVersionTextView.text = "$lang ${extension.versionName} $nsfw" binding.extensionVersionTextView.text = "$lang ${extension.versionName} $nsfw"
} }