diff --git a/android/src/main/java/io/rownd/android/models/repos/StateRepo.kt b/android/src/main/java/io/rownd/android/models/repos/StateRepo.kt index 27aab95..28a250b 100644 --- a/android/src/main/java/io/rownd/android/models/repos/StateRepo.kt +++ b/android/src/main/java/io/rownd/android/models/repos/StateRepo.kt @@ -201,15 +201,17 @@ class StateRepo @Inject constructor() { companion object { private var dataStore: DataStore? = null + + @Synchronized fun defaultDataStore(context: Context): DataStore { // DataStore must be a singleton dataStore?.let { return it } - return DataStoreFactory.create( + val ds = DataStoreFactory.create( storage = FileStorage(GlobalStateSerializer) { - context.dataStoreFile(Rownd.config.stateFileName) + context.applicationContext.dataStoreFile(Rownd.config.stateFileName) }, corruptionHandler = ReplaceFileCorruptionHandler { ex -> // Handle cases where on-device state has become corrupt. @@ -225,6 +227,8 @@ class StateRepo @Inject constructor() { return@ReplaceFileCorruptionHandler GlobalState() } ) + dataStore = ds + return ds } } }