From 1bb85809c9f6de76fa257ee90d3cb4dfe5d4851b Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Tue, 22 Sep 2026 16:37:00 +0900 Subject: [PATCH] [firebase_core] Update firebase_core to 4.15.0 --- packages/firebase_core/CHANGELOG.md | 7 ++++--- packages/firebase_core/README.md | 4 ++-- .../integration_test/firebase_core_test.dart | 6 ++++-- packages/firebase_core/example/pubspec.yaml | 2 +- .../firebase_core/lib/firebase_app_tizen.dart | 19 +++++++++++-------- .../lib/firebase_core_tizen.dart | 16 ++++++++++------ packages/firebase_core/pubspec.yaml | 2 +- 7 files changed, 33 insertions(+), 23 deletions(-) diff --git a/packages/firebase_core/CHANGELOG.md b/packages/firebase_core/CHANGELOG.md index 6addbc12a..59197a50e 100644 --- a/packages/firebase_core/CHANGELOG.md +++ b/packages/firebase_core/CHANGELOG.md @@ -1,7 +1,8 @@ -## NEXT +## 0.2.1 -* Omit obvious local variable types. -* Reformat with a line length of 100. +* Update firebase_core to 4.15.0. +* Fix app reinitialization, deletion, and data collection state. +* Fix code formatting and lint issues. ## 0.2.0 diff --git a/packages/firebase_core/README.md b/packages/firebase_core/README.md index 83463e6e5..f0411933e 100644 --- a/packages/firebase_core/README.md +++ b/packages/firebase_core/README.md @@ -10,8 +10,8 @@ This package is not an _endorsed_ implementation of `firebase_core`. Therefore, ```yaml dependencies: - firebase_core: ^4.14.0 - firebase_core_tizen: ^0.2.0 + firebase_core: ^4.15.0 + firebase_core_tizen: ^0.2.1 ``` Then you can import `firebase_core` in your Dart code: diff --git a/packages/firebase_core/example/integration_test/firebase_core_test.dart b/packages/firebase_core/example/integration_test/firebase_core_test.dart index 89c6f6634..876e384e4 100644 --- a/packages/firebase_core/example/integration_test/firebase_core_test.dart +++ b/packages/firebase_core/example/integration_test/firebase_core_test.dart @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Integration tests ported from upstream firebase_core v4.14.0: -// https://github.com/firebase/flutterfire/blob/firebase_core-v4.14.0/tests/integration_test/firebase_core/firebase_core_e2e_test.dart +// Integration tests ported from upstream firebase_core v4.15.0: +// https://github.com/firebase/flutterfire/blob/firebase_core-v4.15.0/tests/integration_test/firebase_core/firebase_core_e2e_test.dart // Originally authored by the Chromium project authors under a BSD-style // license. @@ -75,6 +75,8 @@ void main() { await app.setAutomaticDataCollectionEnabled(true); expect(app.isAutomaticDataCollectionEnabled, true); + expect(Firebase.app().isAutomaticDataCollectionEnabled, true); + expect(Firebase.apps.single.isAutomaticDataCollectionEnabled, true); }); test('FirebaseApp.setAutomaticResourceManagementEnabled()', () async { diff --git a/packages/firebase_core/example/pubspec.yaml b/packages/firebase_core/example/pubspec.yaml index 1edf5b605..4f7bb8a64 100644 --- a/packages/firebase_core/example/pubspec.yaml +++ b/packages/firebase_core/example/pubspec.yaml @@ -7,7 +7,7 @@ environment: flutter: ">=3.27.0" dependencies: - firebase_core: ^4.14.0 + firebase_core: ^4.15.0 firebase_core_tizen: path: ../ flutter: diff --git a/packages/firebase_core/lib/firebase_app_tizen.dart b/packages/firebase_core/lib/firebase_app_tizen.dart index 0bf56ed94..024be05d0 100644 --- a/packages/firebase_core/lib/firebase_app_tizen.dart +++ b/packages/firebase_core/lib/firebase_app_tizen.dart @@ -6,23 +6,26 @@ part of 'firebase_core_tizen.dart'; /// A Dart only implementation of a Firebase app instance. class FirebaseApp extends FirebaseAppPlatform { - FirebaseApp._(super.name, super.options); + FirebaseApp._(this._app, FirebaseOptions options) : super(_app.name, options); - bool _isAutomaticDataCollectionEnabled = false; + final core_dart.FirebaseApp _app; @override - Future delete() { - core_dart.Firebase.app(name).delete(); - return Future.value(); + Future delete() async { + if (name == defaultFirebaseAppName) { + throw noDefaultAppDelete(); + } + if (core_dart.Firebase.apps.any((app) => identical(app, _app))) { + _app.delete(); + } } @override - bool get isAutomaticDataCollectionEnabled => _isAutomaticDataCollectionEnabled; + bool get isAutomaticDataCollectionEnabled => _app.isAutomaticDataCollectionEnabled; @override Future setAutomaticDataCollectionEnabled(bool enabled) { - _isAutomaticDataCollectionEnabled = enabled; - return Future.value(); + return _app.setAutomaticDataCollectionEnabled(enabled); } /// Sets whether automatic resource management is enabled or disabled. diff --git a/packages/firebase_core/lib/firebase_core_tizen.dart b/packages/firebase_core/lib/firebase_core_tizen.dart index 773147642..dc8cfe1d1 100644 --- a/packages/firebase_core/lib/firebase_core_tizen.dart +++ b/packages/firebase_core/lib/firebase_core_tizen.dart @@ -20,7 +20,7 @@ class FirebaseCore extends FirebasePlatform { final core_dart.FirebaseOptions options = app.options; return FirebaseApp._( - app.name, + app, FirebaseOptions( apiKey: options.apiKey, appId: options.appId, @@ -50,15 +50,19 @@ class FirebaseCore extends FirebasePlatform { String? name, FirebaseOptions? options, }) async { + name ??= defaultFirebaseAppName; + if (name == defaultFirebaseAppName && options == null) { + if (core_dart.Firebase.apps.any((app) => app.name == name)) { + return app(name); + } + throw coreNotInitialized(); + } + assert( options != null, - 'options should be provided to initialize the default app.', + 'options should be provided to initialize a new app.', ); - /// Ensures the name isn't null, in case no name - /// passed, [defaultFirebaseAppName] will be used - name ??= defaultFirebaseAppName; - try { // Initialize the app in firebase_core_dart final dartOptions = core_dart.FirebaseOptions.fromMap(options!.asMap); diff --git a/packages/firebase_core/pubspec.yaml b/packages/firebase_core/pubspec.yaml index 8ac9bcc0b..a4f799b85 100644 --- a/packages/firebase_core/pubspec.yaml +++ b/packages/firebase_core/pubspec.yaml @@ -2,7 +2,7 @@ name: firebase_core_tizen description: Tizen implementation of the firebase_core plugin. homepage: https://github.com/flutter-tizen/plugins repository: https://github.com/flutter-tizen/plugins/tree/main/packages/firebase_core -version: 0.2.0 +version: 0.2.1 environment: sdk: ^3.6.0