PreferencesModeles.kt
33 lignes · 1164 octets
package fr.ebii.card2vcf.modeles import android.content.Context import android.content.SharedPreferences /** Langues OCR retenues par l'utilisateur et miroir éventuel pour le téléchargement. */ class PreferencesModeles internal constructor( private val prefs: SharedPreferences, ) { constructor(context: Context) : this( context.applicationContext.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE), ) fun languesSelectionnees(): Set<String> = prefs.getStringSet(KEY_LANGUES, null) ?: CatalogueModeles.LANGUES_PAR_DEFAUT fun setLanguesSelectionnees(langues: Set<String>) { prefs.edit().putStringSet(KEY_LANGUES, langues).apply() } /** null quand aucun miroir n'est configuré : les bases amont s'appliquent. */ fun miroir(): String? = prefs.getString(KEY_MIROIR, null)?.takeIf { it.isNotBlank() } fun setMiroir(url: String?) { prefs.edit().putString(KEY_MIROIR, url?.trim().orEmpty()).apply() } private companion object { const val PREFS_NAME = "modeles_locaux" const val KEY_LANGUES = "langues_selectionnees" const val KEY_MIROIR = "miroir" } }
GitRust