Provided UseCases at ViewModelScope instead of Singleton #139
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.
Fixes #116
Earlier all the
UseCases
were provided as singleton to each and everyViewModel
. Means a single instance of a particularUseCase
was shared across variousViewModels
. In this way, even if anyUseCases
is not required by aViewModel
, it was still there in application level scope.Now, all the
UseCases
are scoped by@ViewModelScope
. Means it will be provided to aViewModel
only when it is required. Also If two (or more)ViewModels
are using same type ofUseCases
then the instance of use-case for each of them would be different. (Read more in the articles mentioned below, especially the last two).Articles referred: