mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Prioritize "all" ("Multi") lang in extensions lists
Fixes #8811 Fixes #8812
This commit is contained in:
		@@ -25,10 +25,7 @@ class GetExtensionLanguages(
 | 
			
		||||
                }
 | 
			
		||||
                .distinct()
 | 
			
		||||
                .sortedWith(
 | 
			
		||||
                    compareBy(
 | 
			
		||||
                        { it !in enabledLanguage },
 | 
			
		||||
                        { LocaleHelper.getDisplayName(it) },
 | 
			
		||||
                    ),
 | 
			
		||||
                    compareBy<String> { it !in enabledLanguage }.then(LocaleHelper.comparator),
 | 
			
		||||
                )
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -25,10 +25,7 @@ class GetLanguagesWithSources(
 | 
			
		||||
 | 
			
		||||
            sortedSources.groupBy { it.lang }
 | 
			
		||||
                .toSortedMap(
 | 
			
		||||
                    compareBy(
 | 
			
		||||
                        { it !in enabledLanguage },
 | 
			
		||||
                        { LocaleHelper.getDisplayName(it) },
 | 
			
		||||
                    ),
 | 
			
		||||
                    compareBy<String> { it !in enabledLanguage }.then(LocaleHelper.comparator),
 | 
			
		||||
                )
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -82,11 +82,11 @@ class ExtensionsScreenModel(
 | 
			
		||||
 | 
			
		||||
                val languagesWithExtensions = _available
 | 
			
		||||
                    .filter(queryFilter(searchQuery))
 | 
			
		||||
                    .groupBy { LocaleHelper.getSourceDisplayName(it.lang, context) }
 | 
			
		||||
                    .toSortedMap()
 | 
			
		||||
                    .groupBy { it.lang }
 | 
			
		||||
                    .toSortedMap(LocaleHelper.comparator)
 | 
			
		||||
                    .flatMap { (lang, exts) ->
 | 
			
		||||
                        listOf(
 | 
			
		||||
                            ExtensionUiModel.Header.Text(lang),
 | 
			
		||||
                            ExtensionUiModel.Header.Text(LocaleHelper.getSourceDisplayName(lang, context)),
 | 
			
		||||
                            *exts.map(extensionMapper(downloads)).toTypedArray(),
 | 
			
		||||
                        )
 | 
			
		||||
                    }
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,11 @@ import java.util.Locale
 | 
			
		||||
 */
 | 
			
		||||
object LocaleHelper {
 | 
			
		||||
 | 
			
		||||
    val comparator = compareBy<String>(
 | 
			
		||||
        { getDisplayName(it) },
 | 
			
		||||
        { it == "all" },
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns display name of a string language code.
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user