From 907c307c2b1b5d39082f0bb39aa4d3082a11c4f8 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Mon, 20 Nov 2023 00:12:56 +0100 Subject: [PATCH] don't offer locales without any own dictionary for multilingual typing --- .../openboard/inputmethod/latin/utils/DictionaryUtils.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/DictionaryUtils.kt b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/DictionaryUtils.kt index fe93fa407..dddb00e8d 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/DictionaryUtils.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/DictionaryUtils.kt @@ -25,7 +25,7 @@ fun getDictionaryLocales(context: Context): MutableSet { if (cachedDirectoryList != null) { for (directory in cachedDirectoryList) { if (!directory.isDirectory) continue - if (directory.list()?.isNotEmpty() != true) continue + if (!hasAnythingOtherThanExtractedMainDictionary(directory)) continue val dirLocale = DictionaryInfoUtils.getWordListIdFromFileName(directory.name) val locale = dirLocale.toLocale() locales.add(locale) @@ -84,10 +84,13 @@ fun cleanUnusedMainDicts(context: Context) { for (dir in dirs) { if (!dir.isDirectory) continue if (dir.name in usedLocales) continue - if (dir.listFiles()?.any { it.name != DictionaryInfoUtils.getMainDictFilename(dir.name) } != false) + if (hasAnythingOtherThanExtractedMainDictionary(dir)) continue dir.deleteRecursively() } } +private fun hasAnythingOtherThanExtractedMainDictionary(dir: File) = + dir.listFiles()?.any { it.name != DictionaryInfoUtils.getMainDictFilename(dir.name) } != false + const val DICTIONARY_URL = "https://codeberg.org/Helium314/aosp-dictionaries"