untenty
untenty

Reputation: 1

DataStore containts not null on first launch

I am trying to use DataStore to load/save app settings. After some experimentation and install/deinstall the app on first launch preferences[PreferencesKeys.LANGUAGE] containts a value ("EN"), although it should contain null. If I change applicationId, preferences[PreferencesKeys.LANGUAGE] containts null as it should be. It's as if there is a cache somewhere, but it clears when the application deletes.

Android Studio Koala Feature Drop | 2024.1.2 Patch 1.
Android 13 TKQ1.221114.001.
Version datastorePreferences = "1.1.1"

enum class LanguageEnum(val title: String) {
    EN("English"),
    RU("Русский")
}
//...
object PreferencesKeys {
    val LANGUAGE = stringPreferencesKey("language")
}
//...
val language: MutableState<LanguageEnum> = mutableStateOf(LanguageEnum.RU)
//...
CoroutineScope(Dispatchers.IO).launch {
    val languageFlow = context.dataStore.data
        .map { preferences -> preferences[PreferencesKeys.LANGUAGE] ?: LanguageEnum.RU.name }
    language.value = LanguageEnum.valueOf(languageFlow.first())
}

"Clear project", "Rebuild Project" and "Invalidate caches" doesn't help. Has anyone met something similar and how can this behavior be explained?

Upvotes: 0

Views: 55

Answers (0)

Related Questions