From 735c27e33385056a86eeff2b24e544497a3d610c Mon Sep 17 00:00:00 2001 From: Bnyro Date: Tue, 4 Feb 2025 15:13:10 +0100 Subject: [PATCH] fix: always sort languages alphabetically, no matter the engine used --- app/src/main/java/com/bnyro/translate/api/ap/ApEngine.kt | 2 +- app/src/main/java/com/bnyro/translate/api/mm/MMEngine.kt | 2 +- app/src/main/java/com/bnyro/translate/api/or/OneRingEngine.kt | 1 - app/src/main/java/com/bnyro/translate/api/po/PonsEngine.kt | 2 +- app/src/main/java/com/bnyro/translate/api/st/STEngine.kt | 2 +- .../main/java/com/bnyro/translate/ui/models/TranslationModel.kt | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/bnyro/translate/api/ap/ApEngine.kt b/app/src/main/java/com/bnyro/translate/api/ap/ApEngine.kt index d26cf9531..66cebbfd6 100644 --- a/app/src/main/java/com/bnyro/translate/api/ap/ApEngine.kt +++ b/app/src/main/java/com/bnyro/translate/api/ap/ApEngine.kt @@ -148,7 +148,7 @@ class ApEngine: TranslationEngine( "zh" to "Chinese", "zlm" to "Malay", "zu" to "Zulu" - ).map { Language(it.first, it.second) }.sortedBy { it.name } + ).map { Language(it.first, it.second) } } override suspend fun translate(query: String, source: String, target: String): Translation { diff --git a/app/src/main/java/com/bnyro/translate/api/mm/MMEngine.kt b/app/src/main/java/com/bnyro/translate/api/mm/MMEngine.kt index 9deaadd1c..257895aea 100644 --- a/app/src/main/java/com/bnyro/translate/api/mm/MMEngine.kt +++ b/app/src/main/java/com/bnyro/translate/api/mm/MMEngine.kt @@ -139,7 +139,7 @@ class MMEngine : TranslationEngine( "zu-ZA" to "Zulu" ) .map { Language(it.first, it.second) } - .sortedBy { it.name } + /* DEPRECATED endpoint apparently val request = Request.Builder() diff --git a/app/src/main/java/com/bnyro/translate/api/or/OneRingEngine.kt b/app/src/main/java/com/bnyro/translate/api/or/OneRingEngine.kt index 7a004d52c..89e1324a3 100644 --- a/app/src/main/java/com/bnyro/translate/api/or/OneRingEngine.kt +++ b/app/src/main/java/com/bnyro/translate/api/or/OneRingEngine.kt @@ -61,7 +61,6 @@ class OneRingEngine: TranslationEngine( Language(it.isO3Language, it.getDisplayName(Locale.getDefault())) } .distinctBy { it.code } - .sortedBy { it.name } } override suspend fun translate(query: String, source: String, target: String): Translation { diff --git a/app/src/main/java/com/bnyro/translate/api/po/PonsEngine.kt b/app/src/main/java/com/bnyro/translate/api/po/PonsEngine.kt index 90455425f..c8fb6e05f 100644 --- a/app/src/main/java/com/bnyro/translate/api/po/PonsEngine.kt +++ b/app/src/main/java/com/bnyro/translate/api/po/PonsEngine.kt @@ -40,7 +40,7 @@ class PonsEngine : TranslationEngine( override suspend fun getLanguages(): List { return api.getLanguages().languages.map { (code, langInfo) -> Language(code = code, name = langInfo.display) - }.sortedBy { it.name } + } } override suspend fun translate(query: String, source: String, target: String): Translation { diff --git a/app/src/main/java/com/bnyro/translate/api/st/STEngine.kt b/app/src/main/java/com/bnyro/translate/api/st/STEngine.kt index d4064530d..10e45634b 100644 --- a/app/src/main/java/com/bnyro/translate/api/st/STEngine.kt +++ b/app/src/main/java/com/bnyro/translate/api/st/STEngine.kt @@ -44,7 +44,7 @@ class STEngine : TranslationEngine( override suspend fun getLanguages(): List { return api.getLanguages(getSelectedEngine()).map { (code, name) -> Language(code = code, name = name) - }.sortedBy { it.code } + } } override suspend fun translate(query: String, source: String, target: String): Translation { diff --git a/app/src/main/java/com/bnyro/translate/ui/models/TranslationModel.kt b/app/src/main/java/com/bnyro/translate/ui/models/TranslationModel.kt index 6f4b69256..94774f2e1 100644 --- a/app/src/main/java/com/bnyro/translate/ui/models/TranslationModel.kt +++ b/app/src/main/java/com/bnyro/translate/ui/models/TranslationModel.kt @@ -208,7 +208,7 @@ class TranslationModel : ViewModel() { viewModelScope.launch { val languages = try { Log.e("engine", engine.name) - engine.getLanguages() + engine.getLanguages().sortedBy { it.name } } catch (e: Exception) { Log.e("Fetching languages", e.toString()) onError.invoke(e)