diff --git a/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift b/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift index d24127f3..368554e0 100644 --- a/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,7 +6,7 @@ import FlutterMacOS import Foundation import path_provider_foundation -import sqflite +import sqflite_darwin import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { diff --git a/flutter_cache_manager/pubspec.yaml b/flutter_cache_manager/pubspec.yaml index 4e49f688..b4b11218 100644 --- a/flutter_cache_manager/pubspec.yaml +++ b/flutter_cache_manager/pubspec.yaml @@ -23,7 +23,7 @@ dependencies: dev_dependencies: build_runner: ^2.4.12 - flutter_lints: ^4.0.0 + flutter_lints: ^6.0.0 flutter_test: sdk: flutter mockito: ^5.4.4 diff --git a/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart b/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart index 72b59e25..e87bf3a4 100644 --- a/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart +++ b/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart @@ -6,22 +6,27 @@ import 'firebase_http_file_service.dart'; /// Use [FirebaseCacheManager] if you want to download files from firebase storage /// and store them in your local cache. class FirebaseCacheManager extends CacheManager { - static const key = 'firebaseCache'; + static const defaultKey = 'firebaseCache'; - static final FirebaseCacheManager _instance = - FirebaseCacheManager._(retryOptions: _retryOptions, bucket: _bucket); + static final Map _instances = {}; static RetryOptions? _retryOptions; static String? _bucket; factory FirebaseCacheManager({RetryOptions? retryOptions, String? bucket}) { - _bucket = bucket; - _retryOptions = retryOptions; - return _instance; + final cacheKey = bucket ?? defaultKey; + if (_instances.containsKey(cacheKey)) { + return _instances[cacheKey]!; + } + _bucket = bucket ?? _bucket; + _retryOptions = retryOptions ?? _retryOptions; + final instance = FirebaseCacheManager._(key: cacheKey, retryOptions: _retryOptions, bucket: _bucket); + _instances[cacheKey] = instance; + return instance; } - FirebaseCacheManager._({RetryOptions? retryOptions, String? bucket}) + FirebaseCacheManager._({required String key, RetryOptions? retryOptions, String? bucket}) : super(Config(key, fileService: FirebaseHttpFileService( retryOptions: retryOptions, bucket: bucket))); diff --git a/flutter_cache_manager_firebase/pubspec.yaml b/flutter_cache_manager_firebase/pubspec.yaml index ca104438..d534aad7 100644 --- a/flutter_cache_manager_firebase/pubspec.yaml +++ b/flutter_cache_manager_firebase/pubspec.yaml @@ -10,12 +10,12 @@ dependencies: flutter: sdk: flutter flutter_cache_manager: ^3.4.1 - firebase_storage: '>=12.0.0 <13.0.0' + firebase_storage: ^13.0.0 path_provider: ^2.1.4 path: ^1.9.0 retry: ^3.1.2 dev_dependencies: - flutter_lints: ^4.0.0 + flutter_lints: ^6.0.0 flutter_test: sdk: flutter