feat: refactor Health
class to remove singleton pattern and enable dependency injection for DeviceInfoPlugin
#1114
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR removes the singleton pattern and allows for dependency injection for the
DeviceInfoPlugin
. Additionally, it updates the example application to reflect these changes.Dependency Injection for
DeviceInfoPlugin
:Health
class is no longer a singleton and theHealth()
factory constructor is removed.Health
class now accepts an optionalDeviceInfoPlugin
dependency through its constructor to facilitate easier mocking during unit tests. [1] [2]Global Instance Initialization:
Health
class is created and used throughout the example application instead of callingHealth()
multiple times._HealthAppState
to use the globalhealth
instance. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]Added
mocktail
as a development dependency inpubspec.yaml
to support mocking in unit tests.