multiplatform-settings
multiplatform-settings copied to clipboard
A Kotlin Multiplatform library for saving simple key-value data
Apple docs: https://developer.apple.com/documentation/security/seckeychaincallback?language=objc
Could it be possible to provide a way for saving data more securely, with encryption? I'm thinking about [EncryptedSharedPreferences](https://developer.android.com/reference/androidx/security/crypto/EncryptedSharedPreferences) for the Android, if I'm correct `Keychain` should work on Apple...
Are there any ideas or plans how to introduce `kotlinx.serialization` support also for `FlowSettings`? As both `multiplatform-settings-serialization` and `multiplatform-settings-coroutines` are independent it might end up in a completely new module,...
There are some naming conventions for functions that manipulate with data on "repository" level. One of them I use the most: - `get()`/`set()` - functions are synchronous - `load()`/`store()` -...
Currently these are just being converted to `Settings` and using the tests in `BaseSettingsTest`. They should have their own test cases as well.
[Kevin](https://github.com/kpgalligan) called me out in a [podcast](https://soundcloud.com/user-38099918/multiplatform-development-with-kevin-galligan#t=32:40) and said the name Multiplatform Settings isn't catchy enough. I've had this thought as well but I haven't yet come up with anything...
iOS simulator sample is [failing in CI](https://dev.azure.com/russhwolf/Multiplatform%20Settings/_build/results?buildId=213&view=logs&j=a82d9e72-1de4-5bd6-c188-90296135479e&t=b0849dab-3d03-5497-ea6b-6c3debae9583).
This feels unnecessary for implementations that just take a single delegate argument in the constructor, but as more config options become available (eg threading options in `AppleSettings`, commit vs apply...
We are receiving crash while creating instance of Settings on Android. Looks its not able to get context from androidx-startup ? version: 0.8 ``` Caused by java.lang.NullPointerException at com.russhwolf.settings.NoArgKt.Settings(NoArgKt.java:33) ```
This adds support for the wrapper around the normal setting (#155 ) to make it runtime observable. @russhwolf I have named it `runtime-observable` but we can rename it if there...