Skip to content

Commit

Permalink
fix: downloaded OCR languages models UI, autoselect first downloaded …
Browse files Browse the repository at this point in the history
…OCR model
  • Loading branch information
Bnyro committed Jul 29, 2024
1 parent 84f47d4 commit bd3172b
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,6 @@ fun LanguageSelector(
private fun validateFilter(language: Language, query: String): Boolean {
if (query.isEmpty()) return true

val lowerQuery = query.lowercase()
return language.name.lowercase().contains(lowerQuery) ||
language.code.lowercase().contains(lowerQuery)
return language.name.lowercase().contains(query, ignoreCase = true) ||
language.code.lowercase().contains(query, ignoreCase = true)
}
3 changes: 0 additions & 3 deletions app/src/main/java/com/bnyro/translate/ui/models/TessModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,17 @@ package com.bnyro.translate.ui.models
import android.content.Context
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.bnyro.translate.obj.TessLanguage
import com.bnyro.translate.util.TessHelper
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext

class TessModel: ViewModel() {
var availableLanguages by mutableStateOf(emptyList<TessLanguage>())
var downloadedLanguages by mutableStateOf(emptyList<String>())
var notYetDownloadedLanguages by mutableStateOf(emptyList<TessLanguage>())

fun init(context: Context) {
downloadedLanguages = TessHelper.getDownloadedLanguages(context)
Expand Down
10 changes: 6 additions & 4 deletions app/src/main/java/com/bnyro/translate/ui/views/TessSettings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -99,24 +99,26 @@ fun TessSettings(
}

LaunchedEffect(query, tessModel.availableLanguages, tessModel.downloadedLanguages) {
val lowerQuery = query.lowercase()

filteredAvailableLanguages = tessModel.availableLanguages.filter { tessLang ->
tessLang.path.replace(TessHelper.DATA_FILE_SUFFIX, "").contains(lowerQuery) &&
tessLang.path.replace(TessHelper.DATA_FILE_SUFFIX, "").contains(query, ignoreCase = true) &&
tessModel.downloadedLanguages.none {
tessLang.path.replace(TessHelper.DATA_FILE_SUFFIX, "") == it
}
}

filteredDownloadedLanguages = tessModel.downloadedLanguages.filter { lang ->
lowerQuery.contains(lang)
lang.contains(query, ignoreCase = true)
}
}

val onDownloadComplete = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
// Refresh the downloaded languages every time a download finishes
tessModel.refreshDownloadedLanguages(context)
if (tessModel.downloadedLanguages.size == 1) {
selectedLanguage = tessModel.downloadedLanguages.first()
Preferences.put(Preferences.tessLanguageKey, selectedLanguage)
}
}
}

Expand Down

0 comments on commit bd3172b

Please sign in to comment.