package com.bllry.filedrop import android.content.Context import androidx.datastore.core.DataStore import androidx.datastore.preferences.core.Preferences import androidx.datastore.preferences.core.edit import androidx.datastore.preferences.core.stringPreferencesKey import androidx.datastore.preferences.preferencesDataStore import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map private val Context.dataStore: DataStore by preferencesDataStore(name = "settings") /** Persisted connection settings: the PC address and the shared auth token. */ class Settings(private val context: Context) { private val addressKey = stringPreferencesKey("address") private val tokenKey = stringPreferencesKey("token") val address: Flow = context.dataStore.data.map { it[addressKey].orEmpty() } val token: Flow = context.dataStore.data.map { it[tokenKey].orEmpty() } suspend fun setAddress(value: String) { context.dataStore.edit { it[addressKey] = value.trim() } } suspend fun setToken(value: String) { context.dataStore.edit { it[tokenKey] = value.trim() } } }