StanfordSpezi / SpeziKt

Kotlin & Android Version of the Stanford Spezi Framework
http://spezi.health/SpeziKt/
MIT License
7 stars 1 forks source link

DI in Bluetooth Module - Additional modules - Convention Plugins #8

Closed eldcn closed 1 month ago

eldcn commented 1 month ago

DI in Bluetooth Module - Additional modules - Convention Plugins

:recycle: Current situation & Problem

First iteration was using a listener / callback approach, which was causing a tight coupling of the components and made unit testing harder.

Instead we now introduce DI via Hilt, and a reactive approach for handling events and states of bluetooth related compontens using Kotlin flows APIs and Coroutines.

Furthermore, adjustments to the convention plugins and version catalogs were done, hopefully extracting and grouping the dependencies in appropriate bundles to be reused.

Additionally, these modules were introduced:

TODO:

:gear: Release Notes

Add a bullet point list summary of the feature and possible migration guides if this is a breaking change so this section can be added to the release notes. Include code snippets that provide examples of the feature implemented or links to the documentation if it appends or changes the public interface.

:books: Documentation

Please ensure that you properly document any additions in conformance to Spezi Documentation Guide. You can use this section to describe your solution, but we encourage contributors to document your reasoning and changes using in-line documentation.

:white_check_mark: Testing

Please ensure that the PR meets the testing requirements set by CodeCov and that new functionality is appropriately tested. This section describes important information about the tests and why some elements might not be testable.

:pencil: Code of Conduct & Contributing Guidelines

By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines: