The Android and Rust code have previously managed joint custody of the derived data database. With more complex migrations now required, we need to make the Android side read-only. To achieve that, the Android side will remove Room and instead rely on more primitive SQLite APIs for read-only access.
As part of implementing this change, database management throughout the SDK is being refactored.
There will be multiple representations of the data:
- Database representation (and some Entity representations in the places that Room hasn’t been removed yet). These representations are not as type safe and don’t match Kotlin best practices in all cases.
- Once #615 is implemented there will also be network representations
- Type safe models, which often appear in the public API The Database and Network representations will be converted to and from the type safe model representation.
* [#706] Fix crashes identified by robo tests
- Removed unused xml layouts
- Fixed several xml attributes to be backward compatible
* Reduce number of unnecessary logs in console
* Bump min Android SDK version from 19 to 21
* Bump demo-app minSdk to version 21 too
* Update changelog
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
* [#509] Remove OkHttp and Okio dependencies
- Okio -> Java NIO anf OkHttp -> HttpURLConnection in SaplingParamTool class
- Both replaced also in the test packages
- Removed dependencies to the replaced components
- Again switched a few assertions from JUnit to kotlin.test
- Created readLinesInFlow() function which is now reused in few places and runs without OkHttp
- Added subsequent TODOs to code base
- Wrapped to withContext to move it to an IO thread.
- Added use function on the stream and close() at the end of the channels use.
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
The third party plugin that we’ve used for publishing has introduced multiple breaking changes recently.
By migrating to more standard Gradle publishing APIs, the deployment process is more explicit for those unfamiliar with Gradle. It also will simplify some upcoming changes to modularize this SDK project.
* [#539] SDK causes crash on emulators with x86_64 architecture
- NDK version reverted back to 22.1.7171670.
- Attached TODO with issue for future handling of the problem.
- Install specific Android NDK version.
- Update changelog.
Co-authored-by: Carter Jernigan <git@carterjernigan.com>