Files
GPS2Audio/app/src/main/kotlin/de/waypointaudio/data/VersionNoticeStore.kt
T
2026-05-30 05:42:44 +00:00

33 lines
1.2 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package de.waypointaudio.data
import android.content.Context
import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.longPreferencesKey
import androidx.datastore.preferences.preferencesDataStore
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
/**
* Speichert den letzten versionCode, für den der Versionshinweis-Dialog
* vom Nutzer ausgeblendet wurde. Steigt der versionCode, erscheint der
* Dialog automatisch erneut auch wenn er zuvor deaktiviert wurde.
*/
private val Context.versionNoticeDataStore by preferencesDataStore(name = "version_notice_settings")
class VersionNoticeStore(private val context: Context) {
private companion object {
val KEY_DISMISSED_VERSION_CODE = longPreferencesKey("dismissed_version_code")
}
/** Letzter ausgeblendeter versionCode, oder 0 falls noch nie ausgeblendet. */
val dismissedVersionCode: Flow<Long> = context.versionNoticeDataStore.data
.map { it[KEY_DISMISSED_VERSION_CODE] ?: 0L }
suspend fun setDismissedVersionCode(code: Long) {
context.versionNoticeDataStore.edit { prefs ->
prefs[KEY_DISMISSED_VERSION_CODE] = code
}
}
}