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:Healthclass is no longer a singleton and theHealth()factory constructor is removed.Healthclass now accepts an optionalDeviceInfoPlugindependency through its constructor to facilitate easier mocking during unit tests. [1] [2]Global Instance Initialization:
Healthclass is created and used throughout the example application instead of callingHealth()multiple times._HealthAppStateto use the globalhealthinstance. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]Added
mocktailas a development dependency inpubspec.yamlto support mocking in unit tests.