Skip to content

Commit 4b2e17f

Browse files
authored
feat(core): update to firebase_core-v2.17.0 (#13)
Signed-off-by: Hosung Kim [email protected] Signed-off-by: Hosung Kim [email protected]
1 parent 7402f41 commit 4b2e17f

File tree

16 files changed

+870
-1269
lines changed

16 files changed

+870
-1269
lines changed

packages/cloud_functions/example/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ dependencies:
88
cloud_functions: 4.0.7
99
cloud_functions_tizen:
1010
path: ..
11-
firebase_core: 2.4.1
12-
firebase_core_tizen: ^1.0.0
11+
firebase_core: ^2.17.0
12+
firebase_core_tizen: ^1.0.1
1313
flutter:
1414
sdk: flutter
1515

packages/cloud_functions/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ environment:
1212
dependencies:
1313
cloud_functions: 4.0.7
1414
cloud_functions_platform_interface: 5.1.26
15-
firebase_core_tizen: ^1.0.0
15+
firebase_core_tizen: ^1.0.1
1616
flutter:
1717
sdk: flutter
1818

packages/firebase_core/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.1
2+
3+
* Update firebase_core to 2.17.0.
4+
15
## 1.0.0
26

37
* Initial release.

packages/firebase_core/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ To use this package, you need to include `firebase_core_tizen` as a dependency a
1010

1111
```yaml
1212
dependencies:
13-
firebase_core: 2.4.1
14-
firebase_core_tizen: ^1.0.0
13+
firebase_core: ^2.17.0
14+
firebase_core_tizen: ^1.0.1
1515
```
1616
1717
Then you can import `firebase_core` in your Dart code:

packages/firebase_core/example/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ environment:
88
flutter: ">=3.3.0"
99

1010
dependencies:
11-
firebase_core: 2.4.1
11+
firebase_core: ^2.17.0
1212
firebase_core_tizen:
1313
path: ../
1414
flutter:

packages/firebase_core/pigeons/messages.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ import 'package:pigeon/pigeon.dart';
66

77
@ConfigurePigeon(
88
PigeonOptions(
9-
dartOut: 'temp/messages.g.dart', // do not use it
10-
cppHeaderOut: 'tizen/src/messages.h',
11-
cppSourceOut: 'tizen/src/messages.cc',
9+
dartOut: 'temp/messages.pigeon.dart', // do not use it
10+
cppHeaderOut: 'tizen/src/messages.g.h',
11+
cppSourceOut: 'tizen/src/messages.g.cc',
12+
cppOptions: CppOptions(namespace: 'firebase_core_tizen'),
1213
copyrightHeader: 'pigeons/copyright.txt',
1314
),
1415
)

packages/firebase_core/pubspec.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
name: firebase_core_tizen
22
description: Flutter plugin for Firebase Core, enabling connecting to multiple
33
Firebase apps.
4-
version: 1.0.0
4+
version: 1.0.1
55
homepage:
66

77
environment:
88
sdk: ">=2.18.0 <4.0.0"
99
flutter: ">=3.3.0"
1010

1111
dependencies:
12-
firebase_core: 2.4.1
13-
firebase_core_platform_interface: 4.5.2
12+
firebase_core: ^2.17.0
13+
firebase_core_platform_interface: ^4.8.0
1414
flutter:
1515
sdk: flutter
1616

1717
dev_dependencies:
1818
flutter_lints: ^2.0.0
1919
flutter_test:
2020
sdk: flutter
21-
pigeon: ^3.2.9
21+
pigeon: 9.2.5
2222

2323
flutter:
2424
plugin:

packages/firebase_core/tizen/src/firebase_core_tizen_plugin.cc

Lines changed: 50 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414
#include <string>
1515

1616
#include "log.h"
17-
#include "messages.h"
17+
#include "messages.g.h"
1818

19-
namespace {
19+
using ::firebase::App;
20+
21+
namespace firebase_core_tizen {
2022

2123
class FirebaseCoreTizenPlugin : public flutter::Plugin,
2224
public FirebaseCoreHostApi,
@@ -69,7 +71,31 @@ FirebaseCoreTizenPlugin::FirebaseCoreTizenPlugin(
6971

7072
FirebaseCoreTizenPlugin::~FirebaseCoreTizenPlugin() {}
7173

72-
static PigeonFirebaseOptions FirebaseOptionsToPigeonOptions(
74+
// Convert a Pigeon FirebaseOptions to a Firebase Options.
75+
firebase::AppOptions PigeonFirebaseOptionsToAppOptions(
76+
const PigeonFirebaseOptions& pigeon_options) {
77+
firebase::AppOptions app_options;
78+
79+
app_options.set_api_key(pigeon_options.api_key().c_str());
80+
app_options.set_app_id(pigeon_options.app_id().c_str());
81+
app_options.set_messaging_sender_id(
82+
pigeon_options.messaging_sender_id().c_str());
83+
app_options.set_project_id(pigeon_options.project_id().c_str());
84+
if (pigeon_options.database_u_r_l()) {
85+
app_options.set_database_url(pigeon_options.database_u_r_l()->c_str());
86+
}
87+
if (pigeon_options.storage_bucket()) {
88+
app_options.set_storage_bucket(pigeon_options.storage_bucket()->c_str());
89+
}
90+
if (pigeon_options.tracking_id()) {
91+
app_options.set_ga_tracking_id(pigeon_options.tracking_id()->c_str());
92+
}
93+
94+
return app_options;
95+
}
96+
97+
// Convert a AppOptions to PigeonInitializeOption
98+
PigeonFirebaseOptions OptionsFromFIROptions(
7399
const firebase::AppOptions& options) {
74100
PigeonFirebaseOptions pigeon_options;
75101

@@ -90,25 +116,12 @@ static PigeonFirebaseOptions FirebaseOptionsToPigeonOptions(
90116
return pigeon_options;
91117
}
92118

93-
static firebase::AppOptions PigeonOptionsToFirebaseOptions(
94-
const PigeonFirebaseOptions& options) {
95-
firebase::AppOptions app_options;
96-
97-
app_options.set_api_key(options.api_key().c_str());
98-
app_options.set_app_id(options.app_id().c_str());
99-
app_options.set_messaging_sender_id(options.messaging_sender_id().c_str());
100-
app_options.set_project_id(options.project_id().c_str());
101-
if (options.database_u_r_l()) {
102-
app_options.set_database_url(options.database_u_r_l()->c_str());
103-
}
104-
if (options.storage_bucket()) {
105-
app_options.set_storage_bucket(options.storage_bucket()->c_str());
106-
}
107-
if (options.tracking_id()) {
108-
app_options.set_ga_tracking_id(options.tracking_id()->c_str());
109-
}
110-
111-
return app_options;
119+
// Convert a firebase::App to PigeonInitializeResponse
120+
PigeonInitializeResponse AppToPigeonInitializeResponse(const App& app) {
121+
PigeonInitializeResponse response = PigeonInitializeResponse();
122+
response.set_name(app.name());
123+
response.set_options(OptionsFromFIROptions(app.options()));
124+
return response;
112125
}
113126

114127
void FirebaseCoreTizenPlugin::InitializeApp(
@@ -118,33 +131,29 @@ void FirebaseCoreTizenPlugin::InitializeApp(
118131
firebase::App* app = firebase::App::GetInstance(app_name.c_str());
119132
if (!app) {
120133
app = firebase::App::Create(
121-
PigeonOptionsToFirebaseOptions(initialize_app_request),
134+
PigeonFirebaseOptionsToAppOptions(initialize_app_request),
122135
app_name.c_str());
123136
}
124137

125-
PigeonInitializeResponse message_response;
126-
message_response.set_name(app->name());
127-
message_response.set_options(FirebaseOptionsToPigeonOptions(app->options()));
128-
129-
result(message_response);
138+
// Send back the result to Flutter
139+
result(AppToPigeonInitializeResponse(*app));
130140
}
131141

132142
void FirebaseCoreTizenPlugin::InitializeCore(
133143
std::function<void(ErrorOr<flutter::EncodableList> reply)> result) {
134-
flutter::EncodableList response;
144+
// TODO: Missing function to get the list of currently initialized apps
145+
std::vector<PigeonInitializeResponse> initializedApps;
146+
std::vector<App*> all_apps = App::GetApps();
147+
for (const App* app : all_apps) {
148+
initializedApps.push_back(AppToPigeonInitializeResponse(*app));
149+
}
135150

136-
std::vector<firebase::App*> firebase_apps = firebase::App::GetApps();
137-
for (auto app : firebase_apps) {
138-
PigeonInitializeResponse message_response;
139-
message_response.set_name(app->name());
140-
message_response.set_options(
141-
FirebaseOptionsToPigeonOptions(app->options()));
151+
flutter::EncodableList encodableList;
142152

143-
response.push_back(
144-
flutter::EncodableValue(message_response.ToEncodableMap()));
153+
for (const auto& item : initializedApps) {
154+
encodableList.push_back(flutter::CustomEncodableValue(item));
145155
}
146-
147-
result(response);
156+
result(encodableList);
148157
}
149158

150159
void FirebaseCoreTizenPlugin::OptionsFromResource(
@@ -177,11 +186,11 @@ void FirebaseCoreTizenPlugin::Delete(
177186
result(std::nullopt);
178187
}
179188

180-
} // namespace
189+
} // namespace firebase_core_tizen
181190

182191
void FirebaseCoreTizenPluginRegisterWithRegistrar(
183192
FlutterDesktopPluginRegistrarRef registrar) {
184-
FirebaseCoreTizenPlugin::RegisterWithRegistrar(
193+
firebase_core_tizen::FirebaseCoreTizenPlugin::RegisterWithRegistrar(
185194
flutter::PluginRegistrarManager::GetInstance()
186195
->GetRegistrar<flutter::PluginRegistrar>(registrar));
187196
}

0 commit comments

Comments
 (0)