Baseflow / flutter_cache_manager

Generic cache manager for flutter
https://baseflow.com
MIT License
738 stars 427 forks source link

close CacheStore in CacheManager.dispose and cancel internal timer #418

Open EdwynZN opened 1 year ago

EdwynZN commented 1 year ago

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)

Bug Fix

:arrow_heading_down: What is the current behavior?

When closing the CacheManager (using whatever state management or manually Provider, Bloc, Riverpod, etc) and the internal clean up schedule timer of the store is still running there is an Exception thrown by the CacheInfoRepository if its implemented by an SQL/NoSQL package (Hive for example) because it tries to use a repository that is already closed

:new: What is the new behavior (if this is a feature change)?

CacheManager closes the internal store and by doing that, the store closes the repository used and also stops the timer in case it's running

:boom: Does this PR introduce a breaking change?

No

:bug: Recommendations for testing

Close the cacheManager after using it

:memo: Links to relevant issues/docs

:thinking: Checklist before submitting