From 8ddea19798f6ca859f810addd702b78c8349e29c Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 11:58:42 +0000 Subject: [PATCH 01/13] chore: update CI to fetch base history for flutter_plugin_tools format and apply formatting --- .github/workflows/all_plugins.yaml | 4 +- .../FlutterFirebaseFirestoreException.java | 25 +- .../FlutterFirebaseFirestoreMessageCodec.java | 6 +- .../FlutterFirebaseFirestorePlugin.java | 9 +- .../GeneratedAndroidFirebaseFirestore.java | 4 + .../firestore/utils/PigeonParser.java | 3 +- .../firestore/example/MainActivity.kt | 2 +- .../example/ios/Runner/AppDelegate.swift | 2 +- .../ios/cloud_firestore/Package.swift | 8 +- .../macos/cloud_firestore/Package.swift | 8 +- .../ios/Runner/AppDelegate.swift | 2 +- .../FirebaseFunctionsStreamHandler.kt | 15 +- .../functions/FlutterFirebaseAppRegistrar.kt | 3 +- .../FlutterFirebaseFunctionsPlugin.kt | 76 +- .../GeneratedAndroidCloudFunctions.g.kt | 63 +- .../functions/StreamResponseSubscriber.kt | 3 +- .../functions/example/MainActivity.kt | 2 +- .../ios/cloud_functions/Package.swift | 8 +- .../CloudFunctionsMessages.g.swift | 23 +- .../FirebaseFunctionsPlugin.swift | 40 +- .../FunctionsStreamHandler.swift | 53 +- .../macos/cloud_functions/Package.swift | 8 +- .../plugins/firebase/ai/FirebaseAIPlugin.kt | 113 ++- .../example/ios/Runner/AppDelegate.swift | 2 +- .../firebase_ai/ios/firebase_ai/Package.swift | 8 +- .../macos/firebase_ai/Package.swift | 8 +- .../plugins/firebase/analytics/Constants.kt | 2 +- .../FlutterFirebaseAnalyticsPlugin.kt | 155 ++--- .../analytics/FlutterFirebaseAppRegistrar.kt | 4 +- .../GeneratedAndroidFirebaseAnalytics.g.kt | 163 +++-- .../analytics/example/MainActivity.kt | 2 +- .../ios/firebase_analytics/Package.swift | 8 +- .../FirebaseAnalyticsMessages.g.swift | 103 +-- .../FirebaseAnalyticsPlugin.swift | 122 ++-- .../macos/firebase_analytics/Package.swift | 8 +- .../appcheck/FirebaseAppCheckPlugin.kt | 59 +- .../appcheck/FlutterFirebaseAppRegistrar.kt | 19 +- .../GeneratedAndroidFirebaseAppCheck.g.kt | 104 ++- .../appcheck/TokenChannelStreamHandler.kt | 16 +- .../firebase/appcheck/example/MainActivity.kt | 2 +- .../ios/firebase_app_check/Package.swift | 8 +- .../FirebaseAppCheckMessages.g.swift | 57 +- .../FirebaseAppCheckPlugin.swift | 114 +-- .../macos/firebase_app_check/Package.swift | 8 +- .../installations/example/MainActivity.kt | 2 +- .../example/ios/Runner/AppDelegate.swift | 2 +- .../firebase_app_installations/Package.swift | 8 +- .../FirebaseInstallationsPlugin.swift | 112 +-- .../IdChangedStreamHandler.swift | 23 +- .../firebase_app_installations/Package.swift | 8 +- .../auth/FlutterFirebaseAuthPlugin.java | 3 +- .../FlutterFirebaseAuthPluginException.java | 3 +- .../auth/GeneratedAndroidFirebaseAuth.java | 16 + .../firebase/auth/example/MainActivity.kt | 2 +- .../example/ios/Runner/AppDelegate.swift | 2 +- .../ios/firebase_auth/Package.swift | 8 +- .../macos/firebase_auth/Package.swift | 8 +- .../core/FlutterFirebaseCorePlugin.java | 9 +- .../core/GeneratedAndroidFirebaseCore.java | 6 + .../firebasecoreexample/MainActivity.kt | 2 +- .../ios/firebase_core/Package.swift | 12 +- .../macos/firebase_core/Package.swift | 12 +- .../MainActivity.kt | 2 +- .../ios/firebase_crashlytics/Package.swift | 8 +- .../macos/firebase_crashlytics/Package.swift | 8 +- .../dataconnect/example/MainActivity.kt | 2 +- .../firebase/database/ChildEventsProxy.kt | 49 +- .../plugins/firebase/database/Constants.kt | 3 +- .../firebase/database/EventStreamHandler.kt | 74 +- .../plugins/firebase/database/EventsProxy.kt | 38 +- .../database/FirebaseDatabasePlugin.kt | 440 +++++++----- .../database/FlutterDataSnapshotPayload.kt | 2 +- .../database/FlutterFirebaseAppRegistrar.kt | 6 +- .../FlutterFirebaseDatabaseException.kt | 125 ++-- .../GeneratedAndroidFirebaseDatabase.g.kt | 579 ++++++++++----- .../plugins/firebase/database/QueryBuilder.kt | 134 ++-- .../firebase/database/TransactionExecutor.kt | 73 +- .../firebase/database/TransactionHandler.kt | 100 +-- .../firebase/database/ValueEventsProxy.kt | 25 +- .../firebase/database/example/MainActivity.kt | 2 +- .../example/macos/Runner/AppDelegate.swift | 2 +- .../ios/firebase_database/Package.swift | 8 +- ...FirebaseDatabaseObserveStreamHandler.swift | 7 +- .../FLTFirebaseDatabasePlugin.swift | 259 ++++--- .../FLTFirebaseDatabaseUtils.swift | 27 +- .../FirebaseDatabaseMessages.g.swift | 320 +++++---- .../macos/firebase_database/Package.swift | 8 +- .../plugins/firebase/tests/MainActivity.kt | 2 +- .../firebase_in_app_messaging/Package.swift | 8 +- ...erFirebaseMessagingBackgroundExecutor.java | 8 +- ...terFirebaseMessagingBackgroundService.java | 3 +- .../FlutterFirebaseMessagingPlugin.java | 22 +- .../FlutterFirebaseMessagingReceiver.java | 6 +- .../FlutterFirebaseMessagingService.java | 3 +- .../FlutterFirebaseMessagingStore.java | 6 +- .../messaging/PluginRegistrantException.java | 5 +- .../messaging/example/MainActivity.kt | 2 +- .../ios/firebase_messaging/Package.swift | 8 +- .../macos/firebase_messaging/Package.swift | 8 +- .../plugins/firebase/tests/MainActivity.kt | 2 +- .../example/ios/Runner/AppDelegate.swift | 2 +- .../Package.swift | 8 +- .../FirebaseModelDownloaderPlugin.swift | 49 +- .../Package.swift | 8 +- .../FlutterFirebaseAppRegistrar.kt | 3 +- .../FlutterFirebasePerformancePlugin.kt | 44 +- .../GeneratedAndroidFirebasePerformance.g.kt | 207 +++--- .../plugins/firebase/tests/MainActivity.kt | 2 +- .../ios/firebase_performance/Package.swift | 8 +- .../FirebasePerformanceMessages.g.swift | 85 ++- .../FirebasePerformancePlugin.swift | 42 +- .../FirebaseRemoteConfigPlugin.kt | 144 ++-- .../FlutterFirebaseAppRegistrar.kt | 3 +- .../GeneratedAndroidFirebaseRemoteConfig.g.kt | 163 +++-- .../remoteconfig/example/MainActivity.kt | 2 +- .../ios/firebase_remote_config/Package.swift | 8 +- .../FirebaseRemoteConfigMessages.g.swift | 82 ++- .../FirebaseRemoteConfigPlugin.swift | 39 +- .../FirebaseRemoteConfigUtils.swift | 6 +- .../firebase_remote_config/Package.swift | 8 +- .../storage/FlutterFirebaseAppRegistrar.kt | 5 +- .../FlutterFirebaseStorageException.kt | 23 +- .../storage/FlutterFirebaseStoragePlugin.kt | 276 ++++---- .../storage/FlutterFirebaseStorageTask.kt | 93 ++- .../GeneratedAndroidFirebaseStorage.g.kt | 657 ++++++++++++------ .../storage/TaskStateChannelStreamHandler.kt | 22 +- .../firebasestorageexample/MainActivity.kt | 2 +- .../ios/firebase_storage/Package.swift | 8 +- .../FLTFirebaseStoragePlugin.swift | 313 +++++---- .../FirebaseStorageMessages.g.swift | 286 ++++---- .../TaskStateChannelStreamHandler.swift | 17 +- .../macos/firebase_storage/Package.swift | 8 +- 132 files changed, 3970 insertions(+), 2727 deletions(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index df1427acee93..f3871dfbf874 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -86,6 +86,8 @@ jobs: timeout-minutes: 20 steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 + with: + fetch-depth: 0 - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' @@ -109,7 +111,7 @@ jobs: swiftformat --version - name: 'Dart, Java and Objective-C ' run: | - flutter pub global run flutter_plugin_tools format + flutter pub global run flutter_plugin_tools format --base-branch=origin/main ./.github/workflows/scripts/validate-formatting.sh - name: 'Swift' if: ${{ success() || failure() }} diff --git a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreException.java b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreException.java index 759eecaf4cf7..7caa39dc96e5 100644 --- a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreException.java +++ b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreException.java @@ -10,30 +10,41 @@ public class FlutterFirebaseFirestoreException extends Exception { private static final String ERROR_ABORTED = - "The operation was aborted, typically due to a concurrency issue like transaction aborts, etc."; + "The operation was aborted, typically due to a concurrency issue like transaction aborts," + + " etc."; private static final String ERROR_ALREADY_EXISTS = "Some document that we attempted to create already exists."; private static final String ERROR_CANCELLED = "The operation was cancelled (typically by the caller)."; private static final String ERROR_DATA_LOSS = "Unrecoverable data loss or corruption."; private static final String ERROR_DEADLINE_EXCEEDED = - "Deadline expired before operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire."; + "Deadline expired before operation could complete. For operations that change the state of" + + " the system, this error may be returned even if the operation has completed" + + " successfully. For example, a successful response from a server could have been" + + " delayed long enough for the deadline to expire."; private static final String ERROR_FAILED_PRECONDITION = - "Operation was rejected because the system is not in a state required for the operation's execution. If performing a query, ensure it has been indexed via the Firebase console."; + "Operation was rejected because the system is not in a state required for the operation's" + + " execution. If performing a query, ensure it has been indexed via the Firebase" + + " console."; private static final String ERROR_INTERNAL = - "Internal errors. Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken."; + "Internal errors. Means some invariants expected by underlying system has been broken. If you" + + " see one of these errors, something is very broken."; private static final String ERROR_INVALID_ARGUMENT = - "Client specified an invalid argument. Note that this differs from failed-precondition. invalid-argument indicates arguments that are problematic regardless of the state of the system (e.g., an invalid field name)."; + "Client specified an invalid argument. Note that this differs from failed-precondition." + + " invalid-argument indicates arguments that are problematic regardless of the state of" + + " the system (e.g., an invalid field name)."; private static final String ERROR_NOT_FOUND = "Some requested document was not found."; private static final String ERROR_OUT_OF_RANGE = "Operation was attempted past the valid range."; private static final String ERROR_PERMISSION_DENIED = "The caller does not have permission to execute the specified operation."; private static final String ERROR_RESOURCE_EXHAUSTED = - "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space."; + "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file" + + " system is out of space."; private static final String ERROR_UNAUTHENTICATED = "The request does not have valid authentication credentials for the operation."; private static final String ERROR_UNAVAILABLE = - "The service is currently unavailable. This is a most likely a transient condition and may be corrected by retrying with a backoff."; + "The service is currently unavailable. This is a most likely a transient condition and may be" + + " corrected by retrying with a backoff."; private static final String ERROR_UNIMPLEMENTED = "Operation is not implemented or not supported/enabled."; private static final String ERROR_UNKNOWN = diff --git a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreMessageCodec.java b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreMessageCodec.java index 0c10ec694e5f..a446a11f364e 100644 --- a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreMessageCodec.java +++ b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestoreMessageCodec.java @@ -82,7 +82,8 @@ protected void writeValue(ByteArrayOutputStream stream, Object value) { writeValue(stream, appName); writeValue(stream, ((DocumentReference) value).getPath()); String databaseURL; - // There is no way of getting database URL from Firebase android SDK API so we cache it ourselves + // There is no way of getting database URL from Firebase android SDK API so we cache it + // ourselves synchronized (FlutterFirebaseFirestorePlugin.firestoreInstanceCache) { databaseURL = FlutterFirebaseFirestorePlugin.getCachedFirebaseFirestoreInstanceForKey(firestore) @@ -534,7 +535,8 @@ private Query readFirestoreQuery(ByteBuffer buffer) { } catch (Exception exception) { Log.e( "FLTFirestoreMsgCodec", - "An error occurred while parsing query arguments, this is most likely an error with this SDK.", + "An error occurred while parsing query arguments, this is most likely an error with this" + + " SDK.", exception); return null; } diff --git a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestorePlugin.java b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestorePlugin.java index 14cea06420c1..14046b1179d6 100644 --- a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestorePlugin.java +++ b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestorePlugin.java @@ -369,7 +369,8 @@ public void namedQueryGet( if (query == null) { result.error( new NullPointerException( - "Named query has not been found. Please check it has been loaded properly via loadBundle().")); + "Named query has not been found. Please check it has been loaded properly via" + + " loadBundle().")); return; } @@ -764,7 +765,8 @@ public void queryGet( result.error( new GeneratedAndroidFirebaseFirestore.FlutterError( "invalid_query", - "An error occurred while parsing query arguments, see native logs for more information. Please report this issue.", + "An error occurred while parsing query arguments, see native logs for more" + + " information. Please report this issue.", null)); return; } @@ -973,7 +975,8 @@ public void querySnapshot( result.error( new GeneratedAndroidFirebaseFirestore.FlutterError( "invalid_query", - "An error occurred while parsing query arguments, see native logs for more information. Please report this issue.", + "An error occurred while parsing query arguments, see native logs for more" + + " information. Please report this issue.", null)); return; } diff --git a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/GeneratedAndroidFirebaseFirestore.java b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/GeneratedAndroidFirebaseFirestore.java index 60f2d8ff6638..9e4321e264c9 100644 --- a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/GeneratedAndroidFirebaseFirestore.java +++ b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/GeneratedAndroidFirebaseFirestore.java @@ -2504,6 +2504,7 @@ public interface Result { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for nullable API method returns. */ public interface NullableResult { /** Success case callback method for handling returns. */ @@ -2512,6 +2513,7 @@ public interface NullableResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for void API method returns. */ public interface VoidResult { /** Success case callback method for handling returns. */ @@ -2520,6 +2522,7 @@ public interface VoidResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface FirebaseFirestoreHostApi { @@ -2646,6 +2649,7 @@ void executePipeline( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `FirebaseFirestoreHostApi` to handle messages through the * `binaryMessenger`. diff --git a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/utils/PigeonParser.java b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/utils/PigeonParser.java index 305a62120f8b..027c9c01ed43 100644 --- a/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/utils/PigeonParser.java +++ b/packages/cloud_firestore/cloud_firestore/android/src/main/java/io/flutter/plugins/firebase/firestore/utils/PigeonParser.java @@ -261,7 +261,8 @@ public static Query parseQuery( } catch (Exception exception) { Log.e( "FLTFirestoreMsgCodec", - "An error occurred while parsing query arguments, this is most likely an error with this SDK.", + "An error occurred while parsing query arguments, this is most likely an error with this" + + " SDK.", exception); return null; } diff --git a/packages/cloud_firestore/cloud_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/firestore/example/MainActivity.kt b/packages/cloud_firestore/cloud_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/firestore/example/MainActivity.kt index 47ab27f36c9a..18b6218e85dd 100644 --- a/packages/cloud_firestore/cloud_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/firestore/example/MainActivity.kt +++ b/packages/cloud_firestore/cloud_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/firestore/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.firestore.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/cloud_firestore/cloud_firestore/example/ios/Runner/AppDelegate.swift b/packages/cloud_firestore/cloud_firestore/example/ios/Runner/AppDelegate.swift index b6363034812b..626664468b89 100644 --- a/packages/cloud_firestore/cloud_firestore/example/ios/Runner/AppDelegate.swift +++ b/packages/cloud_firestore/cloud_firestore/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @main @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index eeb28d8e1eaa..ddb6eb7a7ca8 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "cloud_firestore", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "cloud-firestore", targets: ["cloud_firestore"]), + .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] - ), + ) ] ) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift index 744936afe8b1..6d132ada25ec 100644 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "cloud_firestore", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "cloud-firestore", targets: ["cloud_firestore"]), + .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] - ), + ) ] ) diff --git a/packages/cloud_firestore/cloud_firestore/pipeline_example/ios/Runner/AppDelegate.swift b/packages/cloud_firestore/cloud_firestore/pipeline_example/ios/Runner/AppDelegate.swift index b6363034812b..626664468b89 100644 --- a/packages/cloud_firestore/cloud_firestore/pipeline_example/ios/Runner/AppDelegate.swift +++ b/packages/cloud_firestore/cloud_firestore/pipeline_example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @main @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FirebaseFunctionsStreamHandler.kt b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FirebaseFunctionsStreamHandler.kt index 604c8e4dfa53..32544cdd3d34 100644 --- a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FirebaseFunctionsStreamHandler.kt +++ b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FirebaseFunctionsStreamHandler.kt @@ -10,13 +10,13 @@ import com.google.firebase.functions.HttpsCallableReference import com.google.firebase.functions.StreamResponse import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.EventChannel.EventSink -import org.reactivestreams.Publisher import java.net.URL import java.util.Objects import java.util.concurrent.TimeUnit +import org.reactivestreams.Publisher class FirebaseFunctionsStreamHandler(private val firebaseFunctions: FirebaseFunctions) : - EventChannel.StreamHandler { + EventChannel.StreamHandler { private var subscriber: StreamResponseSubscriber? = null override fun onListen(arguments: Any, events: EventSink) { @@ -36,7 +36,7 @@ class FirebaseFunctionsStreamHandler(private val firebaseFunctions: FirebaseFunc val timeout = arguments["timeout"] as Int? val parameters = arguments["parameters"] val limitedUseAppCheckToken = - Objects.requireNonNull(arguments["limitedUseAppCheckToken"]) as Boolean + Objects.requireNonNull(arguments["limitedUseAppCheckToken"]) as Boolean if (origin != null) { val originUri = Uri.parse(origin) @@ -44,9 +44,10 @@ class FirebaseFunctionsStreamHandler(private val firebaseFunctions: FirebaseFunc } val httpsCallableReference: HttpsCallableReference - val options: HttpsCallableOptions =HttpsCallableOptions.Builder() - .setLimitedUseAppCheckTokens(limitedUseAppCheckToken) - .build() + val options: HttpsCallableOptions = + HttpsCallableOptions.Builder() + .setLimitedUseAppCheckTokens(limitedUseAppCheckToken) + .build() val publisher: Publisher if (functionName != null) { @@ -54,7 +55,7 @@ class FirebaseFunctionsStreamHandler(private val firebaseFunctions: FirebaseFunc publisher = httpsCallableReference.stream(parameters) } else if (functionUri != null) { httpsCallableReference = - firebaseFunctions.getHttpsCallableFromUrl(URL(functionUri), options) + firebaseFunctions.getHttpsCallableFromUrl(URL(functionUri), options) publisher = httpsCallableReference.stream() } else { throw IllegalArgumentException("Either functionName or functionUri must be set") diff --git a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseAppRegistrar.kt b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseAppRegistrar.kt index 14e4ce487ebd..a704f964b124 100644 --- a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseAppRegistrar.kt +++ b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseAppRegistrar.kt @@ -12,7 +12,6 @@ import com.google.firebase.platforminfo.LibraryVersionComponent class FlutterFirebaseAppRegistrar : ComponentRegistrar { override fun getComponents(): List> { return listOf( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) - ) + LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)) } } diff --git a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt index 3705e390c0b8..08a475e27cc3 100644 --- a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt +++ b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt @@ -25,9 +25,7 @@ import java.util.Locale import java.util.Objects import java.util.concurrent.TimeUnit -class FlutterFirebaseFunctionsPlugin - - : FlutterPlugin, FlutterFirebasePlugin, CloudFunctionsHostApi { +class FlutterFirebaseFunctionsPlugin : FlutterPlugin, FlutterFirebasePlugin, CloudFunctionsHostApi { private var channel: MethodChannel? = null private var pluginBinding: FlutterPluginBinding? = null private var messenger: BinaryMessenger? = null @@ -66,7 +64,7 @@ class FlutterFirebaseFunctionsPlugin val origin = arguments["origin"] as String? val timeout = (arguments["timeout"] as Number?)?.toInt() val limitedUseAppCheckToken = - Objects.requireNonNull(arguments["limitedUseAppCheckToken"]) as Boolean + Objects.requireNonNull(arguments["limitedUseAppCheckToken"]) as Boolean val parameters = arguments["parameters"] if (origin != null) { @@ -76,23 +74,21 @@ class FlutterFirebaseFunctionsPlugin val httpsCallableReference: HttpsCallableReference val options: HttpsCallableOptions = - HttpsCallableOptions.Builder() - .setLimitedUseAppCheckTokens(limitedUseAppCheckToken) - .build() - - httpsCallableReference = if (functionName != null) { - firebaseFunctions.getHttpsCallable(functionName, options) - } else if (functionUri != null) { - firebaseFunctions.getHttpsCallableFromUrl(URL(functionUri), options) - } else { - throw IllegalArgumentException("Either functionName or functionUri must be set") - } + HttpsCallableOptions.Builder() + .setLimitedUseAppCheckTokens(limitedUseAppCheckToken) + .build() + + httpsCallableReference = + if (functionName != null) { + firebaseFunctions.getHttpsCallable(functionName, options) + } else if (functionUri != null) { + firebaseFunctions.getHttpsCallableFromUrl(URL(functionUri), options) + } else { + throw IllegalArgumentException("Either functionName or functionUri must be set") + } if (timeout != null) { - httpsCallableReference.setTimeout( - timeout.toLong(), - TimeUnit.MILLISECONDS - ) + httpsCallableReference.setTimeout(timeout.toLong(), TimeUnit.MILLISECONDS) } val result = Tasks.await(httpsCallableReference.call(parameters)) @@ -117,21 +113,20 @@ class FlutterFirebaseFunctionsPlugin var additionalData: Any? = null if (exception.cause is FirebaseFunctionsException) { - val functionsException = - exception.cause as FirebaseFunctionsException? + val functionsException = exception.cause as FirebaseFunctionsException? code = functionsException!!.code.name message = functionsException.message additionalData = functionsException.details - if (functionsException.cause is IOException - && "Canceled" == (functionsException.cause as IOException).message - ) { + if (functionsException.cause is IOException && + "Canceled" == (functionsException.cause as IOException).message) { // return DEADLINE_EXCEEDED for IOException cancel errors, to match iOS & Web code = FirebaseFunctionsException.Code.DEADLINE_EXCEEDED.name message = FirebaseFunctionsException.Code.DEADLINE_EXCEEDED.name - } else if (functionsException.cause is InterruptedIOException // return DEADLINE_EXCEEDED for InterruptedIOException errors, to match iOS & Web - && "timeout" == (functionsException.cause as InterruptedIOException).message - ) { + } else if (functionsException.cause is + InterruptedIOException // return DEADLINE_EXCEEDED for InterruptedIOException errors, to + // match iOS & Web + && "timeout" == (functionsException.cause as InterruptedIOException).message) { code = FirebaseFunctionsException.Code.DEADLINE_EXCEEDED.name message = FirebaseFunctionsException.Code.DEADLINE_EXCEEDED.name } else if (functionsException.cause is IOException) { @@ -172,28 +167,23 @@ class FlutterFirebaseFunctionsPlugin } override fun call(arguments: Map, callback: (Result) -> Unit) { - httpsFunctionCall(arguments as Map) - .addOnCompleteListener { task -> - if (task.isSuccessful){ - callback(Result.success(task.result)) - } - else { - val exception = task.exception - callback(Result.failure(FlutterError( - "firebase_functions", - exception?.message, - getExceptionDetails(exception) - ))) - } - + httpsFunctionCall(arguments as Map).addOnCompleteListener { task -> + if (task.isSuccessful) { + callback(Result.success(task.result)) + } else { + val exception = task.exception + callback( + Result.failure( + FlutterError( + "firebase_functions", exception?.message, getExceptionDetails(exception)))) + } } } override fun registerEventChannel(arguments: Map, callback: (Result) -> Unit) { val eventId = Objects.requireNonNull(arguments["eventChannelId"]) as String val eventChannelName = "$METHOD_CHANNEL_NAME/$eventId" - val eventChannel = - EventChannel(pluginBinding!!.binaryMessenger, eventChannelName) + val eventChannel = EventChannel(pluginBinding!!.binaryMessenger, eventChannelName) val functions = getFunctions(arguments) val streamHandler = FirebaseFunctionsStreamHandler(functions) eventChannel.setStreamHandler(streamHandler) diff --git a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/GeneratedAndroidCloudFunctions.g.kt b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/GeneratedAndroidCloudFunctions.g.kt index 7b5c2181da86..e3cb89c46f8b 100644 --- a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/GeneratedAndroidCloudFunctions.g.kt +++ b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/GeneratedAndroidCloudFunctions.g.kt @@ -10,12 +10,11 @@ package io.flutter.plugins.firebase.functions import android.util.Log import io.flutter.plugin.common.BasicMessageChannel import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMethodCodec import io.flutter.plugin.common.StandardMessageCodec import java.io.ByteArrayOutputStream import java.nio.ByteBuffer + private object GeneratedAndroidCloudFunctionsPigeonUtils { fun wrapResult(result: Any?): List { @@ -24,58 +23,66 @@ private object GeneratedAndroidCloudFunctionsPigeonUtils { fun wrapError(exception: Throwable): List { return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) + listOf(exception.code, exception.message, exception.details) } else { listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) } } } /** * Error class for passing custom error details to Flutter via a thrown PlatformException. + * * @property code The error code. * @property message The error message. * @property details The error details. Must be a datatype supported by the api codec. */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null +class FlutterError( + val code: String, + override val message: String? = null, + val details: Any? = null ) : RuntimeException() + private open class GeneratedAndroidCloudFunctionsPigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { - return super.readValueOfType(type, buffer) + return super.readValueOfType(type, buffer) } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { super.writeValue(stream, value) } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ interface CloudFunctionsHostApi { fun call(arguments: Map, callback: (Result) -> Unit) + fun registerEventChannel(arguments: Map, callback: (Result) -> Unit) companion object { /** The codec used by CloudFunctionsHostApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidCloudFunctionsPigeonCodec() - } - /** Sets up an instance of `CloudFunctionsHostApi` to handle messages through the `binaryMessenger`. */ + val codec: MessageCodec by lazy { GeneratedAndroidCloudFunctionsPigeonCodec() } + /** + * Sets up an instance of `CloudFunctionsHostApi` to handle messages through the + * `binaryMessenger`. + */ @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: CloudFunctionsHostApi?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + fun setUp( + binaryMessenger: BinaryMessenger, + api: CloudFunctionsHostApi?, + messageChannelSuffix: String = "" + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -95,7 +102,11 @@ interface CloudFunctionsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List diff --git a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/StreamResponseSubscriber.kt b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/StreamResponseSubscriber.kt index 9785ca3285b4..d6224703433d 100644 --- a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/StreamResponseSubscriber.kt +++ b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/StreamResponseSubscriber.kt @@ -10,8 +10,7 @@ import io.flutter.plugin.common.EventChannel.EventSink import org.reactivestreams.Subscriber import org.reactivestreams.Subscription -class StreamResponseSubscriber(private val eventSink: EventSink?) : - Subscriber { +class StreamResponseSubscriber(private val eventSink: EventSink?) : Subscriber { private var subscription: Subscription? = null private val mainThreadHandler = Handler(Looper.getMainLooper()) diff --git a/packages/cloud_functions/cloud_functions/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/functions/example/MainActivity.kt b/packages/cloud_functions/cloud_functions/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/functions/example/MainActivity.kt index 1e409db224c4..30f8b8e8c69a 100644 --- a/packages/cloud_functions/cloud_functions/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/functions/example/MainActivity.kt +++ b/packages/cloud_functions/cloud_functions/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/functions/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.functions.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift index 13368bccaf73..c9442d2aea15 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "cloud_functions", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "cloud-functions", targets: ["cloud_functions"]), + .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift index fca2234a4060..86ba0c92f137 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift @@ -88,8 +88,9 @@ class CloudFunctionsMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol CloudFunctionsHostApi { func call(arguments: [String: Any?], completion: @escaping (Result) -> Void) - func registerEventChannel(arguments: [String: Any], - completion: @escaping (Result) -> Void) + func registerEventChannel( + arguments: [String: Any], + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -100,11 +101,14 @@ class CloudFunctionsHostApiSetup { /// Sets up an instance of `CloudFunctionsHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: CloudFunctionsHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: CloudFunctionsHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let callChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call\(channelSuffix)", + name: + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -114,9 +118,9 @@ class CloudFunctionsHostApiSetup { let argumentsArg = args[0] as! [String: Any?] api.call(arguments: argumentsArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -125,7 +129,8 @@ class CloudFunctionsHostApiSetup { callChannel.setMessageHandler(nil) } let registerEventChannelChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel\(channelSuffix)", + name: + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -137,7 +142,7 @@ class CloudFunctionsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift index 7163bdda6f10..38e10713625c 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseFunctions + #if canImport(FlutterMacOS) import FlutterMacOS #else @@ -13,14 +15,14 @@ #else import firebase_core_shared #endif -import FirebaseFunctions extension FlutterError: Error {} let kFLTFirebaseFunctionsChannelName = "plugins.flutter.io/firebase_functions" public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, FlutterPlugin, - CloudFunctionsHostApi { + CloudFunctionsHostApi +{ func call(arguments: [String: Any?], completion: @escaping (Result) -> Void) { httpsFunctionCall(arguments: arguments) { result, error in if let error { @@ -31,8 +33,10 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt } } - func registerEventChannel(arguments: [String: Any], - completion: @escaping (Result) -> Void) { + func registerEventChannel( + arguments: [String: Any], + completion: @escaping (Result) -> Void + ) { let eventChannelId = arguments["eventChannelId"]! let eventChannelName = "\(kFLTFirebaseFunctionsChannelName)/\(eventChannelId)" let eventChannel = FlutterEventChannel(name: eventChannelName, binaryMessenger: binaryMessenger) @@ -80,8 +84,10 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt CloudFunctionsHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) } - private func httpsFunctionCall(arguments: [String: Any], - completion: @escaping (Any?, FlutterError?) -> Void) { + private func httpsFunctionCall( + arguments: [String: Any], + completion: @escaping (Any?, FlutterError?) -> Void + ) { let appName = arguments["appName"] as? String ?? "" let functionName = arguments["functionName"] as? String let functionUri = arguments["functionUri"] as? String @@ -96,9 +102,10 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt let functions = Functions.functions(app: app, region: region ?? "") if let origin, !origin.isEmpty, - let url = URL(string: origin), - let host = url.host, - let port = url.port { + let url = URL(string: origin), + let host = url.host, + let port = url.port + { functions.useEmulator(withHost: host, port: port) } @@ -109,14 +116,17 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt if let functionName, !functionName.isEmpty { function = functions.httpsCallable(functionName, options: options) } else if let functionUri, !functionUri.isEmpty, - let url = URL(string: functionUri) { + let url = URL(string: functionUri) + { function = functions.httpsCallable(url, options: options) } else { - completion(nil, FlutterError( - code: "IllegalArgumentException", - message: "Either functionName or functionUri must be set", - details: nil - )) + completion( + nil, + FlutterError( + code: "IllegalArgumentException", + message: "Either functionName or functionUri must be set", + details: nil + )) return } diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift index 2cf023757450..f61f405a9457 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift @@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseFunctions + #if canImport(FlutterMacOS) import FlutterMacOS #else import Flutter #endif -import FirebaseFunctions - class FunctionsStreamHandler: NSObject, FlutterStreamHandler { var functions: Functions private var streamTask: Task? @@ -19,8 +19,10 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { super.init() } - func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { streamTask = Task { await httpsStreamCall(arguments: arguments, events: events) } @@ -35,9 +37,11 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { private func httpsStreamCall(arguments: Any?, events: @escaping FlutterEventSink) async { guard let arguments = arguments as? [String: Any] else { await MainActor.run { - events(FlutterError(code: "invalid_arguments", - message: "Invalid arguments", - details: nil)) + events( + FlutterError( + code: "invalid_arguments", + message: "Invalid arguments", + details: nil)) } return } @@ -49,9 +53,10 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { let limitedUseAppCheckToken = arguments["limitedUseAppCheckToken"] as? Bool ?? false if let origin, - let url = URL(string: origin), - let host = url.host, - let port = url.port { + let url = URL(string: origin), + let host = url.host, + let port = url.port + { functions.useEmulator(withHost: host, port: port) } @@ -67,9 +72,11 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { function = functions.httpsCallable(url, options: options) } else { await MainActor.run { - events(FlutterError(code: "IllegalArgumentException", - message: "Either functionName or functionUri must be set", - details: nil)) + events( + FlutterError( + code: "IllegalArgumentException", + message: "Either functionName or functionUri must be set", + details: nil)) } return } @@ -86,9 +93,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { for try await response in stream { await MainActor.run { switch response { - case let .message(message): + case .message(let message): events(["message": message.value]) - case let .result(result): + case .result(let result): events(["result": result.value]) events(FlutterEndOfEventStream) } @@ -96,16 +103,20 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { } } catch { await MainActor.run { - events(FlutterError(code: "unknown", - message: error.localizedDescription, - details: ["code": "unknown", "message": error.localizedDescription])) + events( + FlutterError( + code: "unknown", + message: error.localizedDescription, + details: ["code": "unknown", "message": error.localizedDescription])) } } } else { await MainActor.run { - events(FlutterError(code: "unknown", - message: "Streaming requires iOS 15+ or macOS 12+", - details: nil)) + events( + FlutterError( + code: "unknown", + message: "Streaming requires iOS 15+ or macOS 12+", + details: nil)) } } } diff --git a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift index 9d7ca8dc6440..68290dced718 100644 --- a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "cloud_functions", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "cloud-functions", targets: ["cloud_functions"]), + .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_ai/firebase_ai/android/src/main/kotlin/io/flutter/plugins/firebase/ai/FirebaseAIPlugin.kt b/packages/firebase_ai/firebase_ai/android/src/main/kotlin/io/flutter/plugins/firebase/ai/FirebaseAIPlugin.kt index 3377f693d3e5..0a7e5168400a 100644 --- a/packages/firebase_ai/firebase_ai/android/src/main/kotlin/io/flutter/plugins/firebase/ai/FirebaseAIPlugin.kt +++ b/packages/firebase_ai/firebase_ai/android/src/main/kotlin/io/flutter/plugins/firebase/ai/FirebaseAIPlugin.kt @@ -25,77 +25,74 @@ import java.security.MessageDigest import java.security.NoSuchAlgorithmException class FirebaseAIPlugin : FlutterPlugin, MethodChannel.MethodCallHandler { - private lateinit var channel: MethodChannel - private lateinit var context: Context + private lateinit var channel: MethodChannel + private lateinit var context: Context - override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) { - context = binding.applicationContext - channel = MethodChannel(binding.binaryMessenger, "plugins.flutter.io/firebase_ai") - channel.setMethodCallHandler(this) - } + override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) { + context = binding.applicationContext + channel = MethodChannel(binding.binaryMessenger, "plugins.flutter.io/firebase_ai") + channel.setMethodCallHandler(this) + } - override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { - channel.setMethodCallHandler(null) - } + override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { + channel.setMethodCallHandler(null) + } - override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) { - when (call.method) { - "getPlatformHeaders" -> { - val headers = mapOf( - "X-Android-Package" to context.packageName, - "X-Android-Cert" to (getSigningCertFingerprint() ?: "") - ) - result.success(headers) - } - else -> result.notImplemented() - } + override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) { + when (call.method) { + "getPlatformHeaders" -> { + val headers = + mapOf( + "X-Android-Package" to context.packageName, + "X-Android-Cert" to (getSigningCertFingerprint() ?: "")) + result.success(headers) + } + else -> result.notImplemented() } + } - @OptIn(ExperimentalStdlibApi::class) - private fun getSigningCertFingerprint(): String? { - val packageName = context.packageName - val signature = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - val packageInfo = try { + @OptIn(ExperimentalStdlibApi::class) + private fun getSigningCertFingerprint(): String? { + val packageName = context.packageName + val signature = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + val packageInfo = + try { context.packageManager.getPackageInfo( - packageName, - PackageManager.GET_SIGNING_CERTIFICATES - ) - } catch (e: PackageManager.NameNotFoundException) { + packageName, PackageManager.GET_SIGNING_CERTIFICATES) + } catch (e: PackageManager.NameNotFoundException) { Log.e(TAG, "PackageManager couldn't find the package \"$packageName\"", e) return null - } - val signingInfo = packageInfo?.signingInfo ?: return null - if (signingInfo.hasMultipleSigners()) { - signingInfo.apkContentsSigners.firstOrNull() - } else { - signingInfo.signingCertificateHistory.lastOrNull() - } + } + val signingInfo = packageInfo?.signingInfo ?: return null + if (signingInfo.hasMultipleSigners()) { + signingInfo.apkContentsSigners.firstOrNull() + } else { + signingInfo.signingCertificateHistory.lastOrNull() + } } else { - @Suppress("DEPRECATION") - val packageInfo = try { - context.packageManager.getPackageInfo( - packageName, - PackageManager.GET_SIGNATURES - ) - } catch (e: PackageManager.NameNotFoundException) { + @Suppress("DEPRECATION") + val packageInfo = + try { + context.packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES) + } catch (e: PackageManager.NameNotFoundException) { Log.e(TAG, "PackageManager couldn't find the package \"$packageName\"", e) return null - } - @Suppress("DEPRECATION") - packageInfo?.signatures?.firstOrNull() + } + @Suppress("DEPRECATION") packageInfo?.signatures?.firstOrNull() } ?: return null - return try { - val messageDigest = MessageDigest.getInstance("SHA-1") - val digest = messageDigest.digest(signature.toByteArray()) - digest.toHexString(HexFormat.UpperCase) - } catch (e: NoSuchAlgorithmException) { - Log.w(TAG, "No support for SHA-1 algorithm found.", e) - null - } + return try { + val messageDigest = MessageDigest.getInstance("SHA-1") + val digest = messageDigest.digest(signature.toByteArray()) + digest.toHexString(HexFormat.UpperCase) + } catch (e: NoSuchAlgorithmException) { + Log.w(TAG, "No support for SHA-1 algorithm found.", e) + null } + } - companion object { - private const val TAG = "FirebaseAIPlugin" - } + companion object { + private const val TAG = "FirebaseAIPlugin" + } } diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner/AppDelegate.swift b/packages/firebase_ai/firebase_ai/example/ios/Runner/AppDelegate.swift index b6363034812b..626664468b89 100644 --- a/packages/firebase_ai/firebase_ai/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ai/firebase_ai/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @main @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift index 087f2530b1c1..a9bd49d4e4d1 100644 --- a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift @@ -10,10 +10,10 @@ import PackageDescription let package = Package( name: "firebase_ai", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-ai", targets: ["firebase_ai"]), + .library(name: "firebase-ai", targets: ["firebase_ai"]) ], dependencies: [], targets: [ @@ -21,8 +21,8 @@ let package = Package( name: "firebase_ai", dependencies: [], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift index 5440873b51b2..c551b27e41a6 100644 --- a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift @@ -10,10 +10,10 @@ import PackageDescription let package = Package( name: "firebase_ai", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-ai", targets: ["firebase_ai"]), + .library(name: "firebase-ai", targets: ["firebase_ai"]) ], dependencies: [], targets: [ @@ -21,8 +21,8 @@ let package = Package( name: "firebase_ai", dependencies: [], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/Constants.kt b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/Constants.kt index bb544b5b274b..9ba614b48b43 100644 --- a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/Constants.kt +++ b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/Constants.kt @@ -8,7 +8,7 @@ object Constants { const val AD_STORAGE_CONSENT_GRANTED: String = "adStorageConsentGranted" const val ANALYTICS_STORAGE_CONSENT_GRANTED: String = "analyticsStorageConsentGranted" const val AD_PERSONALIZATION_SIGNALS_CONSENT_GRANTED: String = - "adPersonalizationSignalsConsentGranted" + "adPersonalizationSignalsConsentGranted" const val AD_USER_DATA_CONSENT_GRANTED: String = "adUserDataConsentGranted" const val USER_ID: String = "userId" const val EVENT_NAME: String = "eventName" diff --git a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAnalyticsPlugin.kt b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAnalyticsPlugin.kt index e70e6812fef8..cadc75c84548 100644 --- a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAnalyticsPlugin.kt +++ b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAnalyticsPlugin.kt @@ -22,14 +22,13 @@ import io.flutter.plugins.firebase.core.FlutterFirebasePlugin.cachedThreadPool import io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry import java.util.Objects -class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, - FlutterPlugin, FirebaseAnalyticsHostApi { +class FlutterFirebaseAnalyticsPlugin : + FlutterFirebasePlugin, FlutterPlugin, FirebaseAnalyticsHostApi { private lateinit var analytics: FirebaseAnalytics private var channel: MethodChannel? = null private var messenger: BinaryMessenger? = null - private fun initInstance(messenger: BinaryMessenger, context: Context) { analytics = FirebaseAnalytics.getInstance(context) val channelName = "plugins.flutter.io/firebase_analytics" @@ -39,7 +38,9 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, this.messenger = messenger } - override fun getPluginConstantsForFirebaseApp(firebaseApp: FirebaseApp?): Task> { + override fun getPluginConstantsForFirebaseApp( + firebaseApp: FirebaseApp? + ): Task> { val taskCompletionSource = TaskCompletionSource>() cachedThreadPool.execute { @@ -86,11 +87,7 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, cachedThreadPool.execute { try { - taskCompletionSource.setResult( - Tasks.await( - analytics.sessionId - ) - ) + taskCompletionSource.setResult(Tasks.await(analytics.sessionId)) } catch (e: java.lang.Exception) { taskCompletionSource.setException(e) } @@ -104,14 +101,9 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, cachedThreadPool.execute { try { - val eventName = - Objects.requireNonNull(arguments[Constants.EVENT_NAME]) as String - val map = - arguments[Constants.PARAMETERS] as Map? - val parameterBundle: Bundle? = - createBundleFromMap( - map - ) + val eventName = Objects.requireNonNull(arguments[Constants.EVENT_NAME]) as String + val map = arguments[Constants.PARAMETERS] as Map? + val parameterBundle: Bundle? = createBundleFromMap(map) analytics.logEvent(eventName, parameterBundle) taskCompletionSource.setResult(null) } catch (e: java.lang.Exception) { @@ -202,44 +194,31 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, cachedThreadPool.execute { try { - val adStorageGranted = - arguments[Constants.AD_STORAGE_CONSENT_GRANTED] - val analyticsStorageGranted = - arguments[Constants.ANALYTICS_STORAGE_CONSENT_GRANTED] + val adStorageGranted = arguments[Constants.AD_STORAGE_CONSENT_GRANTED] + val analyticsStorageGranted = arguments[Constants.ANALYTICS_STORAGE_CONSENT_GRANTED] val adPersonalizationSignalsGranted = - arguments[Constants.AD_PERSONALIZATION_SIGNALS_CONSENT_GRANTED] - val adUserDataGranted = - arguments[Constants.AD_USER_DATA_CONSENT_GRANTED] - val parameters = - java.util.HashMap() + arguments[Constants.AD_PERSONALIZATION_SIGNALS_CONSENT_GRANTED] + val adUserDataGranted = arguments[Constants.AD_USER_DATA_CONSENT_GRANTED] + val parameters = java.util.HashMap() if (adStorageGranted != null) { - parameters[ConsentType.AD_STORAGE] = if (adStorageGranted) - ConsentStatus.GRANTED - else - ConsentStatus.DENIED + parameters[ConsentType.AD_STORAGE] = + if (adStorageGranted) ConsentStatus.GRANTED else ConsentStatus.DENIED } if (analyticsStorageGranted != null) { - parameters[ConsentType.ANALYTICS_STORAGE] = if (analyticsStorageGranted) - ConsentStatus.GRANTED - else - ConsentStatus.DENIED + parameters[ConsentType.ANALYTICS_STORAGE] = + if (analyticsStorageGranted) ConsentStatus.GRANTED else ConsentStatus.DENIED } if (adPersonalizationSignalsGranted != null) { parameters[ConsentType.AD_PERSONALIZATION] = - if (adPersonalizationSignalsGranted) - ConsentStatus.GRANTED - else - ConsentStatus.DENIED + if (adPersonalizationSignalsGranted) ConsentStatus.GRANTED else ConsentStatus.DENIED } if (adUserDataGranted != null) { - parameters[ConsentType.AD_USER_DATA] = if (adUserDataGranted) - ConsentStatus.GRANTED - else - ConsentStatus.DENIED + parameters[ConsentType.AD_USER_DATA] = + if (adUserDataGranted) ConsentStatus.GRANTED else ConsentStatus.DENIED } analytics.setConsent(parameters) @@ -257,11 +236,7 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, cachedThreadPool.execute { try { - analytics.setDefaultEventParameters( - createBundleFromMap( - parameters - ) - ) + analytics.setDefaultEventParameters(createBundleFromMap(parameters)) taskCompletionSource.setResult(null) } catch (e: java.lang.Exception) { taskCompletionSource.setException(e) @@ -276,11 +251,7 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, cachedThreadPool.execute { try { - taskCompletionSource.setResult( - Tasks.await( - analytics.appInstanceId - ) - ) + taskCompletionSource.setResult(Tasks.await(analytics.appInstanceId)) } catch (e: java.lang.Exception) { taskCompletionSource.setException(e) } @@ -299,7 +270,8 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, if (value is String) { bundle.putString(key, value) } else if (value is Int) { - // FirebaseAnalytics default event parameters only support long and double types, so we convert the int to a long. + // FirebaseAnalytics default event parameters only support long and double types, so we + // convert the int to a long. bundle.putLong(key, value.toLong()) } else if (value is Long) { bundle.putLong(key, value) @@ -318,11 +290,10 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, } else { if (item != null) { throw IllegalArgumentException( - ("Unsupported value type: " - + item.javaClass.canonicalName - + " in list at key " - + key) - ) + ("Unsupported value type: " + + item.javaClass.canonicalName + + " in list at key " + + key)) } } } @@ -331,18 +302,13 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, } else if (value is Map<*, *>) { bundle.putParcelable(key, createBundleFromMap(value as Map)) } else { - throw IllegalArgumentException( - "Unsupported value type: " + value.javaClass.canonicalName - ) + throw IllegalArgumentException("Unsupported value type: " + value.javaClass.canonicalName) } } return bundle } - private fun handleVoidTaskResult( - task: Task, - callback: (Result) -> Unit - ) { + private fun handleVoidTaskResult(task: Task, callback: (Result) -> Unit) { if (task.isSuccessful) { callback(Result.success(Unit)) } else { @@ -351,10 +317,7 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, } } - private fun handleTypedTaskResult( - task: Task, - callback: (Result) -> Unit - ) { + private fun handleTypedTaskResult(task: Task, callback: (Result) -> Unit) { if (task.isSuccessful) { callback(Result.success(task.result)) } else { @@ -364,16 +327,11 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, } override fun logEvent(event: Map, callback: (Result) -> Unit) { - handleLogEvent(event).addOnCompleteListener { task -> - handleVoidTaskResult(task, callback) - } + handleLogEvent(event).addOnCompleteListener { task -> handleVoidTaskResult(task, callback) } } - override fun setUserId(userId: String?, callback: (Result) -> Unit) { - handleSetUserId(userId).addOnCompleteListener { task -> - handleVoidTaskResult(task, callback) - } + handleSetUserId(userId).addOnCompleteListener { task -> handleVoidTaskResult(task, callback) } } override fun setUserProperty(name: String, value: String?, callback: (Result) -> Unit) { @@ -401,58 +359,41 @@ class FlutterFirebaseAnalyticsPlugin : FlutterFirebasePlugin, } override fun setConsent(consent: Map, callback: (Result) -> Unit) { - handleSetConsent(consent).addOnCompleteListener { task -> - handleVoidTaskResult(task, callback) - } - + handleSetConsent(consent).addOnCompleteListener { task -> handleVoidTaskResult(task, callback) } } override fun setDefaultEventParameters( - parameters: Map?, - callback: (Result) -> Unit + parameters: Map?, + callback: (Result) -> Unit ) { handleSetDefaultEventParameters(parameters).addOnCompleteListener { task -> handleVoidTaskResult(task, callback) } } - override fun getAppInstanceId(callback: (Result) -> Unit) { - handleGetAppInstanceId().addOnCompleteListener { task -> - handleTypedTaskResult(task, callback) - } + handleGetAppInstanceId().addOnCompleteListener { task -> handleTypedTaskResult(task, callback) } } override fun getSessionId(callback: (Result) -> Unit) { - handleGetSessionId().addOnCompleteListener { task -> - handleTypedTaskResult(task, callback) - } + handleGetSessionId().addOnCompleteListener { task -> handleTypedTaskResult(task, callback) } } override fun initiateOnDeviceConversionMeasurement( - arguments: Map, - callback: (Result) -> Unit + arguments: Map, + callback: (Result) -> Unit ) { callback( - Result.failure( - FlutterError( - "unimplemented", - "initiateOnDeviceConversionMeasurement is only available on iOS.", - null - ) - ) - ) + Result.failure( + FlutterError( + "unimplemented", + "initiateOnDeviceConversionMeasurement is only available on iOS.", + null))) } override fun logTransaction(transactionId: String, callback: (Result) -> Unit) { callback( - Result.failure( - FlutterError( - "unimplemented", - "logTransaction is only available on iOS.", - null - ) - ) - ) + Result.failure( + FlutterError("unimplemented", "logTransaction is only available on iOS.", null))) } } diff --git a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAppRegistrar.kt b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAppRegistrar.kt index 2a14d576ae89..42f5356cce24 100644 --- a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAppRegistrar.kt +++ b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/FlutterFirebaseAppRegistrar.kt @@ -9,12 +9,10 @@ import com.google.firebase.components.Component import com.google.firebase.components.ComponentRegistrar import com.google.firebase.platforminfo.LibraryVersionComponent - @Keep class FlutterFirebaseAppRegistrar : ComponentRegistrar { override fun getComponents(): List> { return listOf( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) - ) + LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)) } } diff --git a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/GeneratedAndroidFirebaseAnalytics.g.kt b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/GeneratedAndroidFirebaseAnalytics.g.kt index e2dd133d1e21..c556353c8f91 100644 --- a/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/GeneratedAndroidFirebaseAnalytics.g.kt +++ b/packages/firebase_analytics/firebase_analytics/android/src/main/kotlin/io/flutter/plugins/firebase/analytics/GeneratedAndroidFirebaseAnalytics.g.kt @@ -10,12 +10,11 @@ package io.flutter.plugins.firebase.analytics import android.util.Log import io.flutter.plugin.common.BasicMessageChannel import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMethodCodec import io.flutter.plugin.common.StandardMessageCodec import java.io.ByteArrayOutputStream import java.nio.ByteBuffer + private object GeneratedAndroidFirebaseAnalyticsPigeonUtils { fun wrapResult(result: Any?): List { @@ -24,19 +23,15 @@ private object GeneratedAndroidFirebaseAnalyticsPigeonUtils { fun wrapError(exception: Throwable): List { return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) + listOf(exception.code, exception.message, exception.details) } else { listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) } } + fun doubleEquals(a: Double, b: Double): Boolean { // Normalize -0.0 to 0.0 and handle NaN equality. return (if (a == 0.0) 0.0 else a) == (if (b == 0.0) 0.0 else b) || (a.isNaN() && b.isNaN()) @@ -180,27 +175,23 @@ private object GeneratedAndroidFirebaseAnalyticsPigeonUtils { else -> value.hashCode() } } - } /** * Error class for passing custom error details to Flutter via a thrown PlatformException. + * * @property code The error code. * @property message The error message. * @property details The error details. Must be a datatype supported by the api codec. */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null +class FlutterError( + val code: String, + override val message: String? = null, + val details: Any? = null ) : RuntimeException() /** Generated class from Pigeon that represents data sent in messages. */ -data class AnalyticsEvent ( - val name: String, - val parameters: Map? = null -) - { +data class AnalyticsEvent(val name: String, val parameters: Map? = null) { companion object { fun fromList(pigeonVar_list: List): AnalyticsEvent { val name = pigeonVar_list[0] as String @@ -208,12 +199,14 @@ data class AnalyticsEvent ( return AnalyticsEvent(name, parameters) } } + fun toList(): List { return listOf( - name, - parameters, + name, + parameters, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -222,7 +215,8 @@ data class AnalyticsEvent ( return true } val other = other as AnalyticsEvent - return GeneratedAndroidFirebaseAnalyticsPigeonUtils.deepEquals(this.name, other.name) && GeneratedAndroidFirebaseAnalyticsPigeonUtils.deepEquals(this.parameters, other.parameters) + return GeneratedAndroidFirebaseAnalyticsPigeonUtils.deepEquals(this.name, other.name) && + GeneratedAndroidFirebaseAnalyticsPigeonUtils.deepEquals(this.parameters, other.parameters) } override fun hashCode(): Int { @@ -232,18 +226,18 @@ data class AnalyticsEvent ( return result } } + private open class GeneratedAndroidFirebaseAnalyticsPigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { return when (type) { 129.toByte() -> { - return (readValue(buffer) as? List)?.let { - AnalyticsEvent.fromList(it) - } + return (readValue(buffer) as? List)?.let { AnalyticsEvent.fromList(it) } } else -> super.readValueOfType(type, buffer) } } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { when (value) { is AnalyticsEvent -> { stream.write(129) @@ -254,33 +248,56 @@ private open class GeneratedAndroidFirebaseAnalyticsPigeonCodec : StandardMessag } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ interface FirebaseAnalyticsHostApi { fun logEvent(event: Map, callback: (Result) -> Unit) + fun setUserId(userId: String?, callback: (Result) -> Unit) + fun setUserProperty(name: String, value: String?, callback: (Result) -> Unit) + fun setAnalyticsCollectionEnabled(enabled: Boolean, callback: (Result) -> Unit) + fun resetAnalyticsData(callback: (Result) -> Unit) + fun setSessionTimeoutDuration(timeout: Long, callback: (Result) -> Unit) + fun setConsent(consent: Map, callback: (Result) -> Unit) + fun setDefaultEventParameters(parameters: Map?, callback: (Result) -> Unit) + fun getAppInstanceId(callback: (Result) -> Unit) + fun getSessionId(callback: (Result) -> Unit) - fun initiateOnDeviceConversionMeasurement(arguments: Map, callback: (Result) -> Unit) + + fun initiateOnDeviceConversionMeasurement( + arguments: Map, + callback: (Result) -> Unit + ) + fun logTransaction(transactionId: String, callback: (Result) -> Unit) companion object { /** The codec used by FirebaseAnalyticsHostApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidFirebaseAnalyticsPigeonCodec() - } - /** Sets up an instance of `FirebaseAnalyticsHostApi` to handle messages through the `binaryMessenger`. */ + val codec: MessageCodec by lazy { GeneratedAndroidFirebaseAnalyticsPigeonCodec() } + /** + * Sets up an instance of `FirebaseAnalyticsHostApi` to handle messages through the + * `binaryMessenger`. + */ @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: FirebaseAnalyticsHostApi?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + fun setUp( + binaryMessenger: BinaryMessenger, + api: FirebaseAnalyticsHostApi?, + messageChannelSuffix: String = "" + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -299,7 +316,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -318,7 +339,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -338,7 +363,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -357,10 +386,14 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { _, reply -> - api.resetAnalyticsData{ result: Result -> + api.resetAnalyticsData { result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseAnalyticsPigeonUtils.wrapError(error)) @@ -374,7 +407,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -393,7 +430,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -412,7 +453,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -431,10 +476,14 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { _, reply -> - api.getAppInstanceId{ result: Result -> + api.getAppInstanceId { result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseAnalyticsPigeonUtils.wrapError(error)) @@ -449,10 +498,14 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { _, reply -> - api.getSessionId{ result: Result -> + api.getSessionId { result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseAnalyticsPigeonUtils.wrapError(error)) @@ -467,7 +520,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -486,7 +543,11 @@ interface FirebaseAnalyticsHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List diff --git a/packages/firebase_analytics/firebase_analytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/analytics/example/MainActivity.kt b/packages/firebase_analytics/firebase_analytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/analytics/example/MainActivity.kt index 807a758cd9cc..00752be819a0 100644 --- a/packages/firebase_analytics/firebase_analytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/analytics/example/MainActivity.kt +++ b/packages/firebase_analytics/firebase_analytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/analytics/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.analytics.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift index 2c161afddcf4..1ff632203e28 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift @@ -18,10 +18,10 @@ let analyticsProduct = useWithoutAdId ? "FirebaseAnalyticsWithoutAdIdSupport" : let package = Package( name: "firebase_analytics", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-analytics", targets: ["firebase_analytics"]), + .library(name: "firebase-analytics", targets: ["firebase_analytics"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -35,8 +35,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift index e0f11296f10a..c3a557049cc0 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseAnalyticsMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseAnalyticsMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseAnalyticsMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -202,8 +202,8 @@ struct AnalyticsEvent: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseAnalyticsMessages(lhs.name, rhs.name) && - deepEqualsFirebaseAnalyticsMessages( + return deepEqualsFirebaseAnalyticsMessages(lhs.name, rhs.name) + && deepEqualsFirebaseAnalyticsMessages( lhs.parameters, rhs.parameters ) @@ -259,20 +259,25 @@ class FirebaseAnalyticsMessagesPigeonCodec: FlutterStandardMessageCodec, @unchec protocol FirebaseAnalyticsHostApi { func logEvent(event: [String: Any?], completion: @escaping (Result) -> Void) func setUserId(userId: String?, completion: @escaping (Result) -> Void) - func setUserProperty(name: String, value: String?, - completion: @escaping (Result) -> Void) - func setAnalyticsCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) + func setUserProperty( + name: String, value: String?, + completion: @escaping (Result) -> Void) + func setAnalyticsCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void) func resetAnalyticsData(completion: @escaping (Result) -> Void) - func setSessionTimeoutDuration(timeout: Int64, - completion: @escaping (Result) -> Void) + func setSessionTimeoutDuration( + timeout: Int64, + completion: @escaping (Result) -> Void) func setConsent(consent: [String: Bool?], completion: @escaping (Result) -> Void) - func setDefaultEventParameters(parameters: [String: Any?]?, - completion: @escaping (Result) -> Void) + func setDefaultEventParameters( + parameters: [String: Any?]?, + completion: @escaping (Result) -> Void) func getAppInstanceId(completion: @escaping (Result) -> Void) func getSessionId(completion: @escaping (Result) -> Void) - func initiateOnDeviceConversionMeasurement(arguments: [String: String?], - completion: @escaping (Result) -> Void) + func initiateOnDeviceConversionMeasurement( + arguments: [String: String?], + completion: @escaping (Result) -> Void) func logTransaction(transactionId: String, completion: @escaping (Result) -> Void) } @@ -284,11 +289,14 @@ class FirebaseAnalyticsHostApiSetup { /// Sets up an instance of `FirebaseAnalyticsHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseAnalyticsHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseAnalyticsHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let logEventChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -300,7 +308,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -309,7 +317,8 @@ class FirebaseAnalyticsHostApiSetup { logEventChannel.setMessageHandler(nil) } let setUserIdChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -321,7 +330,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -330,7 +339,8 @@ class FirebaseAnalyticsHostApiSetup { setUserIdChannel.setMessageHandler(nil) } let setUserPropertyChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -343,7 +353,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -352,7 +362,8 @@ class FirebaseAnalyticsHostApiSetup { setUserPropertyChannel.setMessageHandler(nil) } let setAnalyticsCollectionEnabledChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -364,7 +375,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -373,7 +384,8 @@ class FirebaseAnalyticsHostApiSetup { setAnalyticsCollectionEnabledChannel.setMessageHandler(nil) } let resetAnalyticsDataChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -383,7 +395,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -392,7 +404,8 @@ class FirebaseAnalyticsHostApiSetup { resetAnalyticsDataChannel.setMessageHandler(nil) } let setSessionTimeoutDurationChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -404,7 +417,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -413,7 +426,8 @@ class FirebaseAnalyticsHostApiSetup { setSessionTimeoutDurationChannel.setMessageHandler(nil) } let setConsentChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -425,7 +439,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -434,7 +448,8 @@ class FirebaseAnalyticsHostApiSetup { setConsentChannel.setMessageHandler(nil) } let setDefaultEventParametersChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -446,7 +461,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -455,7 +470,8 @@ class FirebaseAnalyticsHostApiSetup { setDefaultEventParametersChannel.setMessageHandler(nil) } let getAppInstanceIdChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -463,9 +479,9 @@ class FirebaseAnalyticsHostApiSetup { getAppInstanceIdChannel.setMessageHandler { _, reply in api.getAppInstanceId { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -474,7 +490,8 @@ class FirebaseAnalyticsHostApiSetup { getAppInstanceIdChannel.setMessageHandler(nil) } let getSessionIdChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -482,9 +499,9 @@ class FirebaseAnalyticsHostApiSetup { getSessionIdChannel.setMessageHandler { _, reply in api.getSessionId { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -493,7 +510,8 @@ class FirebaseAnalyticsHostApiSetup { getSessionIdChannel.setMessageHandler(nil) } let initiateOnDeviceConversionMeasurementChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -505,7 +523,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -514,7 +532,8 @@ class FirebaseAnalyticsHostApiSetup { initiateOnDeviceConversionMeasurementChannel.setMessageHandler(nil) } let logTransactionChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -526,7 +545,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift index 41651b2ace45..490ea54b7ea6 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift @@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseAnalytics +import StoreKit + #if canImport(FlutterMacOS) import FlutterMacOS #else @@ -13,8 +16,6 @@ #else import firebase_core_shared #endif -import FirebaseAnalytics -import StoreKit let kFLTFirebaseAnalyticsName = "name" let kFLTFirebaseAnalyticsValue = "value" @@ -32,7 +33,8 @@ let FLTFirebaseAnalyticsChannelName = "plugins.flutter.io/firebase_analytics" extension FlutterError: Error {} public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, FlutterPlugin, - FirebaseAnalyticsHostApi { + FirebaseAnalyticsHostApi +{ public static func register(with registrar: any FlutterPluginRegistrar) { let binaryMessenger: FlutterBinaryMessenger @@ -61,14 +63,18 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setUserProperty(name: String, value: String?, - completion: @escaping (Result) -> Void) { + func setUserProperty( + name: String, value: String?, + completion: @escaping (Result) -> Void + ) { Analytics.setUserProperty(value, forName: name) completion(.success(())) } - func setAnalyticsCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) { + func setAnalyticsCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void + ) { Analytics.setAnalyticsCollectionEnabled(enabled) completion(.success(())) } @@ -78,14 +84,18 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setSessionTimeoutDuration(timeout: Int64, - completion: @escaping (Result) -> Void) { + func setSessionTimeoutDuration( + timeout: Int64, + completion: @escaping (Result) -> Void + ) { Analytics.setSessionTimeoutInterval(TimeInterval(timeout)) completion(.success(())) } - func setConsent(consent: [String: Bool?], - completion: @escaping (Result) -> Void) { + func setConsent( + consent: [String: Bool?], + completion: @escaping (Result) -> Void + ) { var parameters: [ConsentType: ConsentStatus] = [:] if let adStorage = consent[kFLTFirebaseAnalyticsAdStorageConsentGranted] as? Bool { parameters[.adStorage] = adStorage ? .granted : .denied @@ -94,7 +104,8 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt parameters[.analyticsStorage] = analyticsStorage ? .granted : .denied } if let adPersonalization = - consent[kFLTFirebaseAdPersonalizationSignalsConsentGranted] as? Bool { + consent[kFLTFirebaseAdPersonalizationSignalsConsentGranted] as? Bool + { parameters[.adPersonalization] = adPersonalization ? .granted : .denied } if let adUserData = consent[kFLTFirebaseAdUserDataConsentGranted] as? Bool { @@ -104,8 +115,10 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setDefaultEventParameters(parameters: [String: Any?]?, - completion: @escaping (Result) -> Void) { + func setDefaultEventParameters( + parameters: [String: Any?]?, + completion: @escaping (Result) -> Void + ) { Analytics.setDefaultEventParameters(parameters) completion(.success(())) } @@ -125,9 +138,12 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt } } - func initiateOnDeviceConversionMeasurement(arguments: [String: String?], - completion: @escaping (Result) - -> Void) { + func initiateOnDeviceConversionMeasurement( + arguments: [String: String?], + completion: + @escaping (Result) + -> Void + ) { if let emailAddress = arguments["emailAddress"] as? String { Analytics.initiateOnDeviceConversionMeasurement(emailAddress: emailAddress) } @@ -135,37 +151,45 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: phoneNumber) } if let hashedEmailAddress = arguments["hashedEmailAddress"] as? String, - let data = hexStringToData(hashedEmailAddress) { + let data = hexStringToData(hashedEmailAddress) + { Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: data) } if let hashedPhoneNumber = arguments["hashedPhoneNumber"] as? String, - let data = hexStringToData(hashedPhoneNumber) { + let data = hexStringToData(hashedPhoneNumber) + { Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: data) } completion(.success(())) } - func logTransaction(transactionId: String, - completion: @escaping (Result) -> Void) { + func logTransaction( + transactionId: String, + completion: @escaping (Result) -> Void + ) { #if os(macOS) if #available(macOS 12.0, *) { logTransactionWithStoreKit(transactionId: transactionId, completion: completion) } else { - completion(.failure(FlutterError( - code: "firebase_analytics", - message: "logTransaction() is only supported on macOS 12.0 or newer", - details: nil - ))) + completion( + .failure( + FlutterError( + code: "firebase_analytics", + message: "logTransaction() is only supported on macOS 12.0 or newer", + details: nil + ))) } #else if #available(iOS 15.0, *) { logTransactionWithStoreKit(transactionId: transactionId, completion: completion) } else { - completion(.failure(FlutterError( - code: "firebase_analytics", - message: "logTransaction() is only supported on iOS 15.0 or newer", - details: nil - ))) + completion( + .failure( + FlutterError( + code: "firebase_analytics", + message: "logTransaction() is only supported on iOS 15.0 or newer", + details: nil + ))) } #endif } @@ -175,23 +199,27 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt #else @available(iOS 15.0, *) #endif - private func logTransactionWithStoreKit(transactionId: String, - completion: @escaping (Result) -> Void) { + private func logTransactionWithStoreKit( + transactionId: String, + completion: @escaping (Result) -> Void + ) { Task { do { guard let id = UInt64(transactionId) else { - completion(.failure(FlutterError( - code: "firebase_analytics", - message: "Invalid transactionId", - details: nil - ))) + completion( + .failure( + FlutterError( + code: "firebase_analytics", + message: "Invalid transactionId", + details: nil + ))) return } var foundTransaction: Transaction? for await result in Transaction.all { switch result { - case let .verified(transaction): + case .verified(let transaction): if transaction.id == id { foundTransaction = transaction break @@ -202,11 +230,13 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt } guard let transaction = foundTransaction else { - completion(.failure(FlutterError( - code: "firebase_analytics", - message: "Transaction not found", - details: nil - ))) + completion( + .failure( + FlutterError( + code: "firebase_analytics", + message: "Transaction not found", + details: nil + ))) return } @@ -225,9 +255,9 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt var data = Data(capacity: length / 2) var index = hexString.startIndex - for _ in 0 ..< (length / 2) { + for _ in 0..<(length / 2) { let nextIndex = hexString.index(index, offsetBy: 2) - guard let byte = UInt8(hexString[index ..< nextIndex], radix: 16) else { + guard let byte = UInt8(hexString[index.. = HashMap() private val eventChannels: MutableMap = HashMap() @@ -51,11 +48,11 @@ class FirebaseAppCheckPlugin : } override fun activate( - appName: String, - androidProvider: String?, - appleProvider: String?, - debugToken: String?, - callback: (Result) -> Unit + appName: String, + androidProvider: String?, + appleProvider: String?, + debugToken: String?, + callback: (Result) -> Unit ) { try { val firebaseAppCheck = getAppCheck(appName) @@ -63,13 +60,11 @@ class FirebaseAppCheckPlugin : "debug" -> { FlutterFirebaseAppRegistrar.debugToken = debugToken firebaseAppCheck.installAppCheckProviderFactory( - DebugAppCheckProviderFactory.getInstance() - ) + DebugAppCheckProviderFactory.getInstance()) } else -> { firebaseAppCheck.installAppCheckProviderFactory( - PlayIntegrityAppCheckProviderFactory.getInstance() - ) + PlayIntegrityAppCheckProviderFactory.getInstance()) } } callback(Result.success(Unit)) @@ -79,26 +74,24 @@ class FirebaseAppCheckPlugin : } override fun getToken( - appName: String, - forceRefresh: Boolean, - callback: (Result) -> Unit + appName: String, + forceRefresh: Boolean, + callback: (Result) -> Unit ) { val firebaseAppCheck = getAppCheck(appName) firebaseAppCheck.getAppCheckToken(forceRefresh).addOnCompleteListener { task -> if (task.isSuccessful) { callback(Result.success(task.result?.token)) } else { - callback(Result.failure( - FlutterError("firebase_app_check", task.exception?.message, null) - )) + callback(Result.failure(FlutterError("firebase_app_check", task.exception?.message, null))) } } } override fun setTokenAutoRefreshEnabled( - appName: String, - isTokenAutoRefreshEnabled: Boolean, - callback: (Result) -> Unit + appName: String, + isTokenAutoRefreshEnabled: Boolean, + callback: (Result) -> Unit ) { try { val firebaseAppCheck = getAppCheck(appName) @@ -109,10 +102,7 @@ class FirebaseAppCheckPlugin : } } - override fun registerTokenListener( - appName: String, - callback: (Result) -> Unit - ) { + override fun registerTokenListener(appName: String, callback: (Result) -> Unit) { try { val firebaseAppCheck = getAppCheck(appName) val name = EVENT_CHANNEL_PREFIX + appName @@ -129,25 +119,18 @@ class FirebaseAppCheckPlugin : } } - override fun getLimitedUseAppCheckToken( - appName: String, - callback: (Result) -> Unit - ) { + override fun getLimitedUseAppCheckToken(appName: String, callback: (Result) -> Unit) { val firebaseAppCheck = getAppCheck(appName) firebaseAppCheck.limitedUseAppCheckToken.addOnCompleteListener { task -> if (task.isSuccessful) { callback(Result.success(task.result?.token ?: "")) } else { - callback(Result.failure( - FlutterError("firebase_app_check", task.exception?.message, null) - )) + callback(Result.failure(FlutterError("firebase_app_check", task.exception?.message, null))) } } } - override fun getPluginConstantsForFirebaseApp( - firebaseApp: FirebaseApp - ): Task> { + override fun getPluginConstantsForFirebaseApp(firebaseApp: FirebaseApp): Task> { val taskCompletionSource = TaskCompletionSource>() taskCompletionSource.setResult(HashMap()) return taskCompletionSource.task diff --git a/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt b/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt index d7146eba3a7f..1f1087b14698 100644 --- a/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt +++ b/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt @@ -15,19 +15,18 @@ class FlutterFirebaseAppRegistrar : ComponentRegistrar, InternalDebugSecretProvi companion object { private const val DEBUG_SECRET_NAME = "fire-app-check-debug-secret" - @JvmStatic - var debugToken: String? = null + @JvmStatic var debugToken: String? = null } override fun getComponents(): List> { - val library = LibraryVersionComponent.create( - BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION - ) - - val debugSecretProvider = Component.builder(InternalDebugSecretProvider::class.java) - .name(DEBUG_SECRET_NAME) - .factory { this } - .build() + val library = + LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) + + val debugSecretProvider = + Component.builder(InternalDebugSecretProvider::class.java) + .name(DEBUG_SECRET_NAME) + .factory { this } + .build() return listOf(library, debugSecretProvider) } diff --git a/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt b/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt index 0a046dd5aa47..5e3ea8faca0c 100644 --- a/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt +++ b/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt @@ -10,12 +10,11 @@ package io.flutter.plugins.firebase.appcheck import android.util.Log import io.flutter.plugin.common.BasicMessageChannel import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMethodCodec import io.flutter.plugin.common.StandardMessageCodec import java.io.ByteArrayOutputStream import java.nio.ByteBuffer + private object GeneratedAndroidFirebaseAppCheckPigeonUtils { fun wrapResult(result: Any?): List { @@ -24,61 +23,82 @@ private object GeneratedAndroidFirebaseAppCheckPigeonUtils { fun wrapError(exception: Throwable): List { return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) + listOf(exception.code, exception.message, exception.details) } else { listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) } } } /** * Error class for passing custom error details to Flutter via a thrown PlatformException. + * * @property code The error code. * @property message The error message. * @property details The error details. Must be a datatype supported by the api codec. */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null +class FlutterError( + val code: String, + override val message: String? = null, + val details: Any? = null ) : Throwable() + private open class GeneratedAndroidFirebaseAppCheckPigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { - return super.readValueOfType(type, buffer) + return super.readValueOfType(type, buffer) } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { super.writeValue(stream, value) } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ interface FirebaseAppCheckHostApi { - fun activate(appName: String, androidProvider: String?, appleProvider: String?, debugToken: String?, callback: (Result) -> Unit) + fun activate( + appName: String, + androidProvider: String?, + appleProvider: String?, + debugToken: String?, + callback: (Result) -> Unit + ) + fun getToken(appName: String, forceRefresh: Boolean, callback: (Result) -> Unit) - fun setTokenAutoRefreshEnabled(appName: String, isTokenAutoRefreshEnabled: Boolean, callback: (Result) -> Unit) + + fun setTokenAutoRefreshEnabled( + appName: String, + isTokenAutoRefreshEnabled: Boolean, + callback: (Result) -> Unit + ) + fun registerTokenListener(appName: String, callback: (Result) -> Unit) + fun getLimitedUseAppCheckToken(appName: String, callback: (Result) -> Unit) companion object { /** The codec used by FirebaseAppCheckHostApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidFirebaseAppCheckPigeonCodec() - } - /** Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the `binaryMessenger`. */ + val codec: MessageCodec by lazy { GeneratedAndroidFirebaseAppCheckPigeonCodec() } + /** + * Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the + * `binaryMessenger`. + */ @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: FirebaseAppCheckHostApi?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + fun setUp( + binaryMessenger: BinaryMessenger, + api: FirebaseAppCheckHostApi?, + messageChannelSuffix: String = "" + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -86,7 +106,8 @@ interface FirebaseAppCheckHostApi { val androidProviderArg = args[1] as String? val appleProviderArg = args[2] as String? val debugTokenArg = args[3] as String? - api.activate(appNameArg, androidProviderArg, appleProviderArg, debugTokenArg) { result: Result -> + api.activate(appNameArg, androidProviderArg, appleProviderArg, debugTokenArg) { + result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) @@ -100,7 +121,11 @@ interface FirebaseAppCheckHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -121,13 +146,18 @@ interface FirebaseAppCheckHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List val appNameArg = args[0] as String val isTokenAutoRefreshEnabledArg = args[1] as Boolean - api.setTokenAutoRefreshEnabled(appNameArg, isTokenAutoRefreshEnabledArg) { result: Result -> + api.setTokenAutoRefreshEnabled(appNameArg, isTokenAutoRefreshEnabledArg) { + result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) @@ -141,7 +171,11 @@ interface FirebaseAppCheckHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -161,7 +195,11 @@ interface FirebaseAppCheckHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List diff --git a/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt b/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt index 2062821507c8..81d1b83e188a 100644 --- a/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt +++ b/packages/firebase_app_check/firebase_app_check/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt @@ -6,18 +6,18 @@ package io.flutter.plugins.firebase.appcheck import com.google.firebase.appcheck.FirebaseAppCheck import io.flutter.plugin.common.EventChannel -class TokenChannelStreamHandler( - private val firebaseAppCheck: FirebaseAppCheck -) : EventChannel.StreamHandler { +class TokenChannelStreamHandler(private val firebaseAppCheck: FirebaseAppCheck) : + EventChannel.StreamHandler { private var listener: FirebaseAppCheck.AppCheckListener? = null override fun onListen(arguments: Any?, events: EventChannel.EventSink) { - listener = FirebaseAppCheck.AppCheckListener { result -> - val event = HashMap() - event["token"] = result.token - events.success(event) - } + listener = + FirebaseAppCheck.AppCheckListener { result -> + val event = HashMap() + event["token"] = result.token + events.success(event) + } firebaseAppCheck.addAppCheckListener(listener!!) } diff --git a/packages/firebase_app_check/firebase_app_check/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt b/packages/firebase_app_check/firebase_app_check/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt index 23c1224eea5c..fd3526f15954 100644 --- a/packages/firebase_app_check/firebase_app_check/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt +++ b/packages/firebase_app_check/firebase_app_check/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.appcheck.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift index 131401563be2..418f69a2e0ba 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_app_check", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]), + .library(name: "firebase-app-check", targets: ["firebase_app_check"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift index 1842cfe9c240..57e0accedf53 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift @@ -89,15 +89,19 @@ class FirebaseAppCheckMessagesPigeonCodec: FlutterStandardMessageCodec, @uncheck /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebaseAppCheckHostApi { - func activate(appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, completion: @escaping (Result) -> Void) - func getToken(appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) - func setTokenAutoRefreshEnabled(appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) + func activate( + appName: String, androidProvider: String?, appleProvider: String?, + debugToken: String?, completion: @escaping (Result) -> Void) + func getToken( + appName: String, forceRefresh: Bool, + completion: @escaping (Result) -> Void) + func setTokenAutoRefreshEnabled( + appName: String, isTokenAutoRefreshEnabled: Bool, + completion: @escaping (Result) -> Void) func registerTokenListener(appName: String, completion: @escaping (Result) -> Void) - func getLimitedUseAppCheckToken(appName: String, - completion: @escaping (Result) -> Void) + func getLimitedUseAppCheckToken( + appName: String, + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -108,11 +112,14 @@ class FirebaseAppCheckHostApiSetup { /// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let activateChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -132,7 +139,7 @@ class FirebaseAppCheckHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -141,7 +148,8 @@ class FirebaseAppCheckHostApiSetup { activateChannel.setMessageHandler(nil) } let getTokenChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -152,9 +160,9 @@ class FirebaseAppCheckHostApiSetup { let forceRefreshArg = args[1] as! Bool api.getToken(appName: appNameArg, forceRefresh: forceRefreshArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -163,7 +171,8 @@ class FirebaseAppCheckHostApiSetup { getTokenChannel.setMessageHandler(nil) } let setTokenAutoRefreshEnabledChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -179,7 +188,7 @@ class FirebaseAppCheckHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -188,7 +197,8 @@ class FirebaseAppCheckHostApiSetup { setTokenAutoRefreshEnabledChannel.setMessageHandler(nil) } let registerTokenListenerChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -198,9 +208,9 @@ class FirebaseAppCheckHostApiSetup { let appNameArg = args[0] as! String api.registerTokenListener(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -209,7 +219,8 @@ class FirebaseAppCheckHostApiSetup { registerTokenListenerChannel.setMessageHandler(nil) } let getLimitedUseAppCheckTokenChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -219,9 +230,9 @@ class FirebaseAppCheckHostApiSetup { let appNameArg = args[0] as! String api.getLimitedUseAppCheckToken(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift index 5aec32b1ad2c..53059fd6da8f 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift @@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseAppCheck +import FirebaseCore + #if canImport(FlutterMacOS) import FlutterMacOS #else @@ -13,8 +16,6 @@ #else import firebase_core_shared #endif -import FirebaseAppCheck -import FirebaseCore let kFirebaseAppCheckChannelName = "plugins.flutter.io/firebase_app_check" let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check/token/" @@ -22,7 +23,8 @@ let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check extension FlutterError: @retroactive Error {} public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, - FLTFirebasePluginProtocol, FirebaseAppCheckHostApi { + FLTFirebasePluginProtocol, FirebaseAppCheckHostApi +{ private var eventChannels: [String: FlutterEventChannel] = [:] private var streamHandlers: [String: AppCheckTokenStreamHandler] = [:] private var providerFactory: FlutterAppCheckProviderFactory? @@ -59,13 +61,17 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, private var binaryMessenger: FlutterBinaryMessenger? - func activate(appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void) { + func activate( + appName: String, androidProvider: String?, appleProvider: String?, + debugToken: String?, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName) else { - completion(.failure(FlutterError( - code: "unknown", message: "Firebase app not found: \(appName)", details: nil - ))) + completion( + .failure( + FlutterError( + code: "unknown", message: "Firebase app not found: \(appName)", details: nil + ))) return } let provider = appleProvider ?? "deviceCheck" @@ -75,14 +81,18 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, completion(.success(())) } - func getToken(appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) { + func getToken( + appName: String, forceRefresh: Bool, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { - completion(.failure(FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ))) + completion( + .failure( + FlutterError( + code: "unknown", message: "App Check not available for app: \(appName)", details: nil + ))) return } @@ -95,30 +105,38 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, } } - func setTokenAutoRefreshEnabled(appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) { + func setTokenAutoRefreshEnabled( + appName: String, isTokenAutoRefreshEnabled: Bool, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { - completion(.failure(FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ))) + completion( + .failure( + FlutterError( + code: "unknown", message: "App Check not available for app: \(appName)", details: nil + ))) return } appCheck.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled completion(.success(())) } - func registerTokenListener(appName: String, - completion: @escaping (Result) -> Void) { + func registerTokenListener( + appName: String, + completion: @escaping (Result) -> Void + ) { let name = kFirebaseAppCheckTokenChannelPrefix + appName guard let messenger = binaryMessenger else { - completion(.failure(FlutterError( - code: "no-messenger", - message: "Binary messenger not available", - details: nil - ))) + completion( + .failure( + FlutterError( + code: "no-messenger", + message: "Binary messenger not available", + details: nil + ))) return } @@ -132,14 +150,18 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, completion(.success(name)) } - func getLimitedUseAppCheckToken(appName: String, - completion: @escaping (Result) -> Void) { + func getLimitedUseAppCheckToken( + appName: String, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { - completion(.failure(FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ))) + completion( + .failure( + FlutterError( + code: "unknown", message: "App Check not available for app: \(appName)", details: nil + ))) return } @@ -186,13 +208,13 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, let nsError = error as NSError var code = "unknown" switch nsError.code { - case 0: // FIRAppCheckErrorCodeServerUnreachable + case 0: // FIRAppCheckErrorCodeServerUnreachable code = "server-unreachable" - case 1: // FIRAppCheckErrorCodeInvalidConfiguration + case 1: // FIRAppCheckErrorCodeInvalidConfiguration code = "invalid-configuration" - case 2: // FIRAppCheckErrorCodeKeychain + case 2: // FIRAppCheckErrorCodeKeychain code = "code-keychain" - case 3: // FIRAppCheckErrorCodeUnsupported + case 3: // FIRAppCheckErrorCodeUnsupported code = "code-unsupported" default: code = "unknown" @@ -210,8 +232,10 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, class AppCheckTokenStreamHandler: NSObject, FlutterStreamHandler { private var observer: NSObjectProtocol? - func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { observer = NotificationCenter.default.addObserver( forName: NSNotification.Name("FIRAppCheckAppCheckTokenDidChangeNotification"), object: nil, @@ -289,10 +313,12 @@ class AppCheckProviderWrapper: NSObject, AppCheckProvider { func getToken(completion handler: @escaping (AppCheckToken?, Error?) -> Void) { guard let delegateProvider else { - handler(nil, NSError( - domain: "firebase_app_check", code: -1, - userInfo: [NSLocalizedDescriptionKey: "Provider not configured"] - )) + handler( + nil, + NSError( + domain: "firebase_app_check", code: -1, + userInfo: [NSLocalizedDescriptionKey: "Provider not configured"] + )) return } delegateProvider.getToken(completion: handler) diff --git a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift index 31732e86e458..c90d75760255 100644 --- a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_app_check", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]), + .library(name: "firebase-app-check", targets: ["firebase_app_check"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_app_installations/firebase_app_installations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/installations/example/MainActivity.kt b/packages/firebase_app_installations/firebase_app_installations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/installations/example/MainActivity.kt index 6f76296229d1..a8d726fe6633 100644 --- a/packages/firebase_app_installations/firebase_app_installations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/installations/example/MainActivity.kt +++ b/packages/firebase_app_installations/firebase_app_installations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/installations/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.installations.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_app_installations/firebase_app_installations/example/ios/Runner/AppDelegate.swift b/packages/firebase_app_installations/firebase_app_installations/example/ios/Runner/AppDelegate.swift index b6363034812b..626664468b89 100644 --- a/packages/firebase_app_installations/firebase_app_installations/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_app_installations/firebase_app_installations/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @main @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift index 99fb7e9fc227..76ff46070c32 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_app_installations", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]), + .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift index fb9ed2a06894..3c3b5e3b6d79 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseInstallations + #if canImport(FlutterMacOS) import FlutterMacOS #else @@ -13,7 +15,6 @@ #else import firebase_core_shared #endif -import FirebaseInstallations let kFLTFirebaseInstallationsChannelName = "plugins.flutter.io/firebase_app_installations" @@ -75,8 +76,10 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func getId(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func getId( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) instance.installationID { (id: String?, error: Error?) in if let error { @@ -91,8 +94,10 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func deleteId(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func deleteId( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) instance.delete { (error: Error?) in if let error { @@ -107,18 +112,23 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func getToken(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func getToken( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) let forceRefresh = arguments["forceRefresh"] as? Bool ?? false instance - .authTokenForcingRefresh(forceRefresh) { (tokenResult: InstallationsAuthTokenResult?, - error: Error?) in - if let error { - errorBlock(nil, nil, nil, error) - } else { - result(tokenResult?.authToken) - } + .authTokenForcingRefresh(forceRefresh) { + ( + tokenResult: InstallationsAuthTokenResult?, + error: Error? + ) in + if let error { + errorBlock(nil, nil, nil, error) + } else { + result(tokenResult?.authToken) + } } } @@ -126,8 +136,10 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func registerIdChangeListener(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func registerIdChangeListener( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) let appName = arguments["appName"] as! String let eventChannelName = kFLTFirebaseInstallationsChannelName + "/token/" + appName @@ -144,8 +156,9 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F } private func mapInstallationsErrorCodes(code: UInt) -> NSString { - let error = InstallationsErrorCode(InstallationsErrorCode - .Code(rawValue: Int(code)) ?? InstallationsErrorCode.unknown) + let error = InstallationsErrorCode( + InstallationsErrorCode + .Code(rawValue: Int(code)) ?? InstallationsErrorCode.unknown) switch error { case InstallationsErrorCode.invalidConfiguration: @@ -163,37 +176,46 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) { guard let args = call.arguments as? NSDictionary else { - result(FlutterError( - code: "invalid-arguments", - message: "Arguments are not a dictionary", - details: nil - )) + result( + FlutterError( + code: "invalid-arguments", + message: "Arguments are not a dictionary", + details: nil + )) return } - let errorBlock: FLTFirebaseMethodCallErrorBlock = { (code, message, details, - error: Error?) in - var errorDetails = [String: Any?]() - - errorDetails["code"] = code ?? self - .mapInstallationsErrorCodes(code: UInt((error! as NSError).code)) - errorDetails["message"] = message ?? error? - .localizedDescription ?? "An unknown error has occurred." - errorDetails["additionalData"] = details - - if code == "unknown" { - NSLog( - "FLTFirebaseInstallations: An error occurred while calling method %@", - call.method - ) - } + let errorBlock: FLTFirebaseMethodCallErrorBlock = { + ( + code, message, details, + error: Error? + ) in + var errorDetails = [String: Any?]() + + errorDetails["code"] = + code + ?? self + .mapInstallationsErrorCodes(code: UInt((error! as NSError).code)) + errorDetails["message"] = + message ?? error? + .localizedDescription ?? "An unknown error has occurred." + errorDetails["additionalData"] = details + + if code == "unknown" { + NSLog( + "FLTFirebaseInstallations: An error occurred while calling method %@", + call.method + ) + } - result(FLTFirebasePlugin.createFlutterError(fromCode: errorDetails["code"] as! String, - message: errorDetails["message"] as! String, - optionalDetails: errorDetails[ - "additionalData" - ] as? [AnyHashable: Any], - andOptionalNSError: error)) + result( + FLTFirebasePlugin.createFlutterError( + fromCode: errorDetails["code"] as! String, + message: errorDetails["message"] as! String, + optionalDetails: errorDetails[ + "additionalData" + ] as? [AnyHashable: Any], + andOptionalNSError: error)) } switch call.method { diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift index 6d07257dfee8..2c40cc50373a 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift @@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseInstallations +import Foundation + #if canImport(FlutterMacOS) import FlutterMacOS #else import Flutter #endif -import FirebaseInstallations -import Foundation - class IdChangedStreamHandler: NSObject, FlutterStreamHandler { var eventSink: FlutterEventSink? var installationIDObserver: NSObjectProtocol? @@ -33,11 +33,12 @@ class IdChangedStreamHandler: NSObject, FlutterStreamHandler { guard let self else { return } if let error { - self.eventSink?(FlutterError( - code: "unknown", - message: error.localizedDescription, - details: ["code": "unknown", "message": error.localizedDescription] - )) + self.eventSink?( + FlutterError( + code: "unknown", + message: error.localizedDescription, + details: ["code": "unknown", "message": error.localizedDescription] + )) } else if let newId, newId != self.installationsId { self.installationsId = newId self.eventSink?(["token": self.installationsId]) @@ -45,8 +46,10 @@ class IdChangedStreamHandler: NSObject, FlutterStreamHandler { } } - func onListen(withArguments _: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments _: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { eventSink = events installationIDObserver = NotificationCenter.default.addObserver( diff --git a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift index 3931f4954626..ec8c90083e8d 100644 --- a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_app_installations", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]), + .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java b/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java index 890fbca4c32d..a122221c601c 100755 --- a/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java +++ b/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java @@ -142,7 +142,8 @@ static FirebaseAuth getAuthFromPigeon( auth.setCustomAuthDomain(customDomain); } - // Auth's `getCustomAuthDomain` supersedes value from `customAuthDomain` map set by `initializeApp` + // Auth's `getCustomAuthDomain` supersedes value from `customAuthDomain` map set by + // `initializeApp` if (pigeonApp.getCustomAuthDomain() != null) { auth.setCustomAuthDomain(pigeonApp.getCustomAuthDomain()); } diff --git a/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java b/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java index 7d8ef4338065..a42bcb56956d 100644 --- a/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java +++ b/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java @@ -70,7 +70,8 @@ static GeneratedAndroidFirebaseAuth.FlutterError parserExceptionToFlutter( && nativeException.getCause() instanceof FirebaseNetworkException)) { return new GeneratedAndroidFirebaseAuth.FlutterError( "network-request-failed", - "A network error (such as timeout, interrupted connection or unreachable host) has occurred.", + "A network error (such as timeout, interrupted connection or unreachable host) has" + + " occurred.", null); } diff --git a/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java b/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java index ee16c9973a33..5aaa168b70e8 100644 --- a/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java +++ b/packages/firebase_auth/firebase_auth/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java @@ -3234,6 +3234,7 @@ public interface Result { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for nullable API method returns. */ public interface NullableResult { /** Success case callback method for handling returns. */ @@ -3242,6 +3243,7 @@ public interface NullableResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for void API method returns. */ public interface VoidResult { /** Success case callback method for handling returns. */ @@ -3250,6 +3252,7 @@ public interface VoidResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface FirebaseAuthHostApi { @@ -3368,6 +3371,7 @@ void revokeAccessToken( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `FirebaseAuthHostApi` to handle messages through the * `binaryMessenger`. @@ -4181,6 +4185,7 @@ public void error(Throwable error) { } } } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface FirebaseAuthUserHostApi { @@ -4253,6 +4258,7 @@ void verifyBeforeUpdateEmail( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `FirebaseAuthUserHostApi` to handle messages through the * `binaryMessenger`. @@ -4733,6 +4739,7 @@ public void error(Throwable error) { } } } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface MultiFactorUserHostApi { @@ -4761,6 +4768,7 @@ void getEnrolledFactors( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `MultiFactorUserHostApi` to handle messages through the * `binaryMessenger`. @@ -4943,6 +4951,7 @@ public void error(Throwable error) { } } } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface MultiFactoResolverHostApi { @@ -4956,6 +4965,7 @@ void resolveSignIn( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `MultiFactoResolverHostApi` to handle messages through the * `binaryMessenger`. @@ -5007,6 +5017,7 @@ public void error(Throwable error) { } } } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface MultiFactorTotpHostApi { @@ -5024,6 +5035,7 @@ void getAssertionForSignIn( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `MultiFactorTotpHostApi` to handle messages through the * `binaryMessenger`. @@ -5138,6 +5150,7 @@ public void error(Throwable error) { } } } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface MultiFactorTotpSecretHostApi { @@ -5154,6 +5167,7 @@ void openInOtpApp( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `MultiFactorTotpSecretHostApi` to handle messages through the * `binaryMessenger`. @@ -5237,6 +5251,7 @@ public void error(Throwable error) { } } } + /** * Only used to generate the object interface that are use outside of the Pigeon interface * @@ -5250,6 +5265,7 @@ public interface GenerateInterfaces { static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `GenerateInterfaces` to handle messages through the `binaryMessenger`. */ diff --git a/packages/firebase_auth/firebase_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt b/packages/firebase_auth/firebase_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt index e8ca8519f78f..2b88c507db23 100644 --- a/packages/firebase_auth/firebase_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt +++ b/packages/firebase_auth/firebase_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.auth.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_auth/firebase_auth/example/ios/Runner/AppDelegate.swift b/packages/firebase_auth/firebase_auth/example/ios/Runner/AppDelegate.swift index b6363034812b..626664468b89 100644 --- a/packages/firebase_auth/firebase_auth/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_auth/firebase_auth/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @main @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift index 362b8f5ebda2..121bbc29bee3 100644 --- a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_auth", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]), + .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] - ), + ) ] ) diff --git a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift index deb2d7c07aee..2d366fa4c1ed 100644 --- a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_auth", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]), + .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] - ), + ) ] ) diff --git a/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/FlutterFirebaseCorePlugin.java b/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/FlutterFirebaseCorePlugin.java index 53b7e6356457..a1fed94439e3 100644 --- a/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/FlutterFirebaseCorePlugin.java +++ b/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/FlutterFirebaseCorePlugin.java @@ -151,8 +151,10 @@ public void initializeApp( .setGaTrackingId(initializeAppRequest.getTrackingId()) .build(); // TODO(Salakar) hacky workaround a bug with FirebaseInAppMessaging causing the error: - // Can't create handler inside thread Thread[pool-3-thread-1,5,main] that has not called Looper.prepare() - // at com.google.firebase.inappmessaging.internal.ForegroundNotifier.(ForegroundNotifier.java:61) + // Can't create handler inside thread Thread[pool-3-thread-1,5,main] that has not + // called Looper.prepare() + // at + // com.google.firebase.inappmessaging.internal.ForegroundNotifier.(ForegroundNotifier.java:61) try { Looper.prepare(); } catch (Exception e) { @@ -221,7 +223,8 @@ public void optionsFromResource( if (options == null) { taskCompletionSource.setException( new Exception( - "Failed to load FirebaseOptions from resource. Check that you have defined values.xml correctly.")); + "Failed to load FirebaseOptions from resource. Check that you have defined" + + " values.xml correctly.")); return; } taskCompletionSource.setResult(firebaseOptionsToMap(options)); diff --git a/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/GeneratedAndroidFirebaseCore.java b/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/GeneratedAndroidFirebaseCore.java index 8a5db2e48066..b0a698faf51c 100644 --- a/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/GeneratedAndroidFirebaseCore.java +++ b/packages/firebase_core/firebase_core/android/src/main/java/io/flutter/plugins/firebase/core/GeneratedAndroidFirebaseCore.java @@ -802,6 +802,7 @@ public interface Result { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for nullable API method returns. */ public interface NullableResult { /** Success case callback method for handling returns. */ @@ -810,6 +811,7 @@ public interface NullableResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for void API method returns. */ public interface VoidResult { /** Success case callback method for handling returns. */ @@ -818,6 +820,7 @@ public interface VoidResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface FirebaseCoreHostApi { @@ -834,6 +837,7 @@ void initializeApp( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `FirebaseCoreHostApi` to handle messages through the * `binaryMessenger`. @@ -942,6 +946,7 @@ public void error(Throwable error) { } } } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface FirebaseAppHostApi { @@ -957,6 +962,7 @@ void setAutomaticResourceManagementEnabled( static @NonNull MessageCodec getCodec() { return PigeonCodec.INSTANCE; } + /** * Sets up an instance of `FirebaseAppHostApi` to handle messages through the `binaryMessenger`. */ diff --git a/packages/firebase_core/firebase_core/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecoreexample/MainActivity.kt b/packages/firebase_core/firebase_core/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecoreexample/MainActivity.kt index 8757d9f10dbd..2416ea61ea9d 100644 --- a/packages/firebase_core/firebase_core/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecoreexample/MainActivity.kt +++ b/packages/firebase_core/firebase_core/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecoreexample/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebasecoreexample import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index 9a30c9de0e0d..df507a64d44e 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -13,29 +13,29 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_core", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-core", targets: ["firebase_core"]), + .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version) ], targets: [ .target( name: "firebase_core", dependencies: [ // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(library_version_string)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] - ), + ) ] ) diff --git a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift index d4b4f2dabcd7..1a0630577eb5 100644 --- a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift @@ -13,29 +13,29 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_core", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-core", targets: ["firebase_core"]), + .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version) ], targets: [ .target( name: "firebase_core", dependencies: [ // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(library_version_string)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] - ), + ) ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecrashlyticsexample/MainActivity.kt b/packages/firebase_crashlytics/firebase_crashlytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecrashlyticsexample/MainActivity.kt index 2fb355214b7b..87963034f34b 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecrashlyticsexample/MainActivity.kt +++ b/packages/firebase_crashlytics/firebase_crashlytics/example/android/app/src/main/kotlin/io/flutter/plugins/firebasecrashlyticsexample/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebasecrashlyticsexample import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift index 530638a39b19..f3cdda634e73 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]), + .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] - ), + ) ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift index 30bb13ffffa6..55e5ac60d143 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]), + .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] - ), + ) ] ) diff --git a/packages/firebase_data_connect/firebase_data_connect/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/dataconnect/example/MainActivity.kt b/packages/firebase_data_connect/firebase_data_connect/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/dataconnect/example/MainActivity.kt index edca5bed7fed..5f6a78ea469a 100644 --- a/packages/firebase_data_connect/firebase_data_connect/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/dataconnect/example/MainActivity.kt +++ b/packages/firebase_data_connect/firebase_data_connect/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/dataconnect/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.dataconnect.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ChildEventsProxy.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ChildEventsProxy.kt index 707b8b8b5e5a..82de31ae09a0 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ChildEventsProxy.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ChildEventsProxy.kt @@ -14,43 +14,42 @@ import com.google.firebase.database.DatabaseError import io.flutter.plugin.common.EventChannel.EventSink class ChildEventsProxy - @JvmOverloads - constructor( +@JvmOverloads +constructor( @NonNull eventSink: EventSink, @NonNull eventType: String, - ) : EventsProxy(eventSink, eventType), - ChildEventListener { - override fun onChildAdded( +) : EventsProxy(eventSink, eventType), ChildEventListener { + override fun onChildAdded( @NonNull snapshot: DataSnapshot, @Nullable previousChildName: String?, - ) { - sendEvent(Constants.EVENT_TYPE_CHILD_ADDED, snapshot, previousChildName) - } + ) { + sendEvent(Constants.EVENT_TYPE_CHILD_ADDED, snapshot, previousChildName) + } - override fun onChildChanged( + override fun onChildChanged( @NonNull snapshot: DataSnapshot, @Nullable previousChildName: String?, - ) { - sendEvent(Constants.EVENT_TYPE_CHILD_CHANGED, snapshot, previousChildName) - } + ) { + sendEvent(Constants.EVENT_TYPE_CHILD_CHANGED, snapshot, previousChildName) + } - override fun onChildRemoved( + override fun onChildRemoved( @NonNull snapshot: DataSnapshot, - ) { - sendEvent(Constants.EVENT_TYPE_CHILD_REMOVED, snapshot, null) - } + ) { + sendEvent(Constants.EVENT_TYPE_CHILD_REMOVED, snapshot, null) + } - override fun onChildMoved( + override fun onChildMoved( @NonNull snapshot: DataSnapshot, @Nullable previousChildName: String?, - ) { - sendEvent(Constants.EVENT_TYPE_CHILD_MOVED, snapshot, previousChildName) - } + ) { + sendEvent(Constants.EVENT_TYPE_CHILD_MOVED, snapshot, previousChildName) + } - override fun onCancelled( + override fun onCancelled( @NonNull error: DatabaseError, - ) { - val e = FlutterFirebaseDatabaseException.fromDatabaseError(error) - eventSink.error(e.code, e.message, e.additionalData) - } + ) { + val e = FlutterFirebaseDatabaseException.fromDatabaseError(error) + eventSink.error(e.code, e.message, e.additionalData) } +} diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/Constants.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/Constants.kt index 474bf2fd83ca..43f8e2cf316c 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/Constants.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/Constants.kt @@ -49,8 +49,7 @@ object Constants { const val CHILD_KEYS = "childKeys" const val PREVIOUS_CHILD_NAME = "previousChildKey" - const val METHOD_CALL_TRANSACTION_HANDLER = - "FirebaseDatabase#callTransactionHandler" + const val METHOD_CALL_TRANSACTION_HANDLER = "FirebaseDatabase#callTransactionHandler" const val TRANSACTION_KEY = "transactionKey" const val TRANSACTION_APPLY_LOCALLY = "transactionApplyLocally" diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventStreamHandler.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventStreamHandler.kt index 7a2fd171fd70..54cf8f23e932 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventStreamHandler.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventStreamHandler.kt @@ -18,53 +18,53 @@ interface OnDispose { } class EventStreamHandler - @JvmOverloads - constructor( +@JvmOverloads +constructor( private val query: Query, private val onDispose: OnDispose, - ) : StreamHandler { - private var valueEventListener: ValueEventListener? = null - private var childEventListener: ChildEventListener? = null +) : StreamHandler { + private var valueEventListener: ValueEventListener? = null + private var childEventListener: ChildEventListener? = null - @Suppress("UNCHECKED_CAST") - override fun onListen( + @Suppress("UNCHECKED_CAST") + override fun onListen( arguments: Any?, events: EventChannel.EventSink?, - ) { - val args = arguments as Map - val eventType = args[Constants.EVENT_TYPE] as String + ) { + val args = arguments as Map + val eventType = args[Constants.EVENT_TYPE] as String - if (Constants.EVENT_TYPE_VALUE == eventType) { - events?.let { eventSink -> - valueEventListener = ValueEventsProxy(eventSink) - query.addValueEventListener(valueEventListener!!) - } - } else { - events?.let { eventSink -> - childEventListener = ChildEventsProxy(eventSink, eventType) - query.addChildEventListener(childEventListener!!) - } + if (Constants.EVENT_TYPE_VALUE == eventType) { + events?.let { eventSink -> + valueEventListener = ValueEventsProxy(eventSink) + query.addValueEventListener(valueEventListener!!) + } + } else { + events?.let { eventSink -> + childEventListener = ChildEventsProxy(eventSink, eventType) + query.addChildEventListener(childEventListener!!) } } + } - override fun onCancel(arguments: Any?) { - try { - // Remove listeners first to prevent any new events - valueEventListener?.let { - query.removeEventListener(it) - valueEventListener = null - } - - childEventListener?.let { - query.removeEventListener(it) - childEventListener = null - } + override fun onCancel(arguments: Any?) { + try { + // Remove listeners first to prevent any new events + valueEventListener?.let { + query.removeEventListener(it) + valueEventListener = null + } - // Then run the dispose callback - onDispose.run() - } catch (e: Exception) { - // Log any cleanup errors but don't throw - android.util.Log.w("EventStreamHandler", "Error during cleanup: ${e.message}") + childEventListener?.let { + query.removeEventListener(it) + childEventListener = null } + + // Then run the dispose callback + onDispose.run() + } catch (e: Exception) { + // Log any cleanup errors but don't throw + android.util.Log.w("EventStreamHandler", "Error during cleanup: ${e.message}") } } +} diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventsProxy.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventsProxy.kt index b58ca737f333..40e4735f87cb 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventsProxy.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/EventsProxy.kt @@ -15,35 +15,35 @@ import java.util.* @RestrictTo(RestrictTo.Scope.LIBRARY) abstract class EventsProxy - @JvmOverloads - constructor( +@JvmOverloads +constructor( protected val eventSink: EventChannel.EventSink, private val eventType: String, - ) { - fun buildAdditionalParams( +) { + fun buildAdditionalParams( @NonNull eventType: String, @Nullable previousChildName: String?, - ): Map { - val params = mutableMapOf() - params[Constants.EVENT_TYPE] = eventType - - if (previousChildName != null) { - params[Constants.PREVIOUS_CHILD_NAME] = previousChildName - } + ): Map { + val params = mutableMapOf() + params[Constants.EVENT_TYPE] = eventType - return params + if (previousChildName != null) { + params[Constants.PREVIOUS_CHILD_NAME] = previousChildName } - protected fun sendEvent( + return params + } + + protected fun sendEvent( @NonNull eventType: String, snapshot: DataSnapshot, @Nullable previousChildName: String?, - ) { - if (this.eventType != eventType) return + ) { + if (this.eventType != eventType) return - val payload = FlutterDataSnapshotPayload(snapshot) - val additionalParams = buildAdditionalParams(eventType, previousChildName) + val payload = FlutterDataSnapshotPayload(snapshot) + val additionalParams = buildAdditionalParams(eventType, previousChildName) - eventSink.success(payload.withAdditionalParams(additionalParams).toMap()) - } + eventSink.success(payload.withAdditionalParams(additionalParams).toMap()) } +} diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FirebaseDatabasePlugin.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FirebaseDatabasePlugin.kt index 9e31c6bf6137..0654954d2c81 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FirebaseDatabasePlugin.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FirebaseDatabasePlugin.kt @@ -14,16 +14,13 @@ import com.google.firebase.database.DatabaseException import com.google.firebase.database.DatabaseReference import com.google.firebase.database.FirebaseDatabase import com.google.firebase.database.Logger -import com.google.firebase.database.OnDisconnect import com.google.firebase.database.Query import io.flutter.embedding.engine.plugins.FlutterPlugin import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding import io.flutter.plugin.common.BinaryMessenger import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.EventChannel.StreamHandler -import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodChannel -import io.flutter.plugin.common.MethodChannel.MethodCallHandler import io.flutter.plugin.common.MethodChannel.Result import io.flutter.plugins.firebase.core.FlutterFirebasePlugin import io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry @@ -32,10 +29,7 @@ import java.util.concurrent.ExecutorService import java.util.concurrent.Executors import kotlin.Result as KotlinResult -class FirebaseDatabasePlugin : - FlutterFirebasePlugin, - FlutterPlugin, - FirebaseDatabaseHostApi { +class FirebaseDatabasePlugin : FlutterFirebasePlugin, FlutterPlugin, FirebaseDatabaseHostApi { companion object { private const val METHOD_CHANNEL_NAME = "plugins.flutter.io/firebase_database" private val databaseInstanceCache = HashMap() @@ -55,8 +49,8 @@ class FirebaseDatabasePlugin : } private fun setCachedFirebaseDatabaseInstanceForKey( - database: FirebaseDatabase, - key: String, + database: FirebaseDatabase, + key: String, ) { synchronized(databaseInstanceCache) { val existingInstance = databaseInstanceCache[key] @@ -89,11 +83,11 @@ class FirebaseDatabasePlugin : val app = FirebaseApp.getInstance(appName) val database = - if (databaseURL.isNotEmpty()) { - FirebaseDatabase.getInstance(app, databaseURL) - } else { - FirebaseDatabase.getInstance(app) - } + if (databaseURL.isNotEmpty()) { + FirebaseDatabase.getInstance(app, databaseURL) + } else { + FirebaseDatabase.getInstance(app) + } val loggingEnabled = arguments[Constants.DATABASE_LOGGING_ENABLED] as Boolean? val persistenceEnabled = arguments[Constants.DATABASE_PERSISTENCE_ENABLED] as Boolean? @@ -110,9 +104,7 @@ class FirebaseDatabasePlugin : database.useEmulator(emulatorHost, emulatorPort) } - persistenceEnabled?.let { enabled -> - database.setPersistenceEnabled(enabled) - } + persistenceEnabled?.let { enabled -> database.setPersistenceEnabled(enabled) } cacheSizeBytes?.let { size -> when (size) { @@ -122,7 +114,8 @@ class FirebaseDatabasePlugin : } } catch (e: DatabaseException) { val message = e.message - if (message != null && !message.contains("must be made before any other usage of FirebaseDatabase")) { + if (message != null && + !message.contains("must be made before any other usage of FirebaseDatabase")) { throw e } } @@ -146,8 +139,8 @@ class FirebaseDatabasePlugin : /** Applies [modifiers]. */ private fun queryFromModifiers( - reference: DatabaseReference, - modifiers: List>, + reference: DatabaseReference, + modifiers: List>, ): Query = QueryBuilder(reference, modifiers).build() private fun goOnline(arguments: Map): Task { @@ -240,10 +233,9 @@ class FirebaseDatabasePlugin : try { val ref = getReference(arguments) - @Suppress("UNCHECKED_CAST") - val value = arguments[Constants.VALUE] as Map + @Suppress("UNCHECKED_CAST") val value = arguments[Constants.VALUE] as Map Tasks.await(ref.updateChildren(value)) - taskCompletionSource.setResult(null) + taskCompletionSource.setResult(null) } catch (e: Exception) { taskCompletionSource.setException(e) } @@ -336,14 +328,14 @@ class FirebaseDatabasePlugin : val eventChannel = EventChannel(messenger, eventChannelName) val streamHandler = - EventStreamHandler( - query, - object : OnDispose { - override fun run() { - eventChannel.setStreamHandler(null) - } - }, - ) + EventStreamHandler( + query, + object : OnDispose { + override fun run() { + eventChannel.setStreamHandler(null) + } + }, + ) eventChannel.setStreamHandler(streamHandler) streamHandlers[eventChannel] = streamHandler @@ -384,12 +376,12 @@ class FirebaseDatabasePlugin : val onDisconnect = getReference(arguments).onDisconnect() val onDisconnectTask = - when (priority) { - is Double -> onDisconnect.setValue(value, priority) - is String -> onDisconnect.setValue(value, priority) - null -> onDisconnect.setValue(value, null as String?) - else -> throw Exception("Invalid priority value for OnDisconnect.setWithPriority") - } + when (priority) { + is Double -> onDisconnect.setValue(value, priority) + is String -> onDisconnect.setValue(value, priority) + null -> onDisconnect.setValue(value, null as String?) + else -> throw Exception("Invalid priority value for OnDisconnect.setWithPriority") + } Tasks.await(onDisconnectTask) taskCompletionSource.setResult(null) @@ -408,8 +400,7 @@ class FirebaseDatabasePlugin : try { val ref = getReference(arguments) - @Suppress("UNCHECKED_CAST") - val value = arguments[Constants.VALUE] as Map + @Suppress("UNCHECKED_CAST") val value = arguments[Constants.VALUE] as Map val task = ref.onDisconnect().updateChildren(value) Tasks.await(task) taskCompletionSource.setResult(null) @@ -442,7 +433,7 @@ class FirebaseDatabasePlugin : } override fun onDetachedFromEngine( - @NonNull binding: FlutterPluginBinding, + @NonNull binding: FlutterPluginBinding, ) { methodChannel.setMethodCallHandler(null) cleanup() @@ -512,7 +503,11 @@ class FirebaseDatabasePlugin : } } - override fun setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Boolean, callback: (KotlinResult) -> Unit) { + override fun setPersistenceEnabled( + app: DatabasePigeonFirebaseApp, + enabled: Boolean, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) if (app.settings.persistenceEnabled == null) { @@ -524,7 +519,11 @@ class FirebaseDatabasePlugin : } } - override fun setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Long, callback: (KotlinResult) -> Unit) { + override fun setPersistenceCacheSizeBytes( + app: DatabasePigeonFirebaseApp, + cacheSize: Long, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) if (app.settings.cacheSizeBytes == null) { @@ -536,7 +535,11 @@ class FirebaseDatabasePlugin : } } - override fun setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Boolean, callback: (KotlinResult) -> Unit) { + override fun setLoggingEnabled( + app: DatabasePigeonFirebaseApp, + enabled: Boolean, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) database.setLogLevel(if (enabled) Logger.Level.DEBUG else Logger.Level.NONE) @@ -546,7 +549,12 @@ class FirebaseDatabasePlugin : } } - override fun useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Long, callback: (KotlinResult) -> Unit) { + override fun useDatabaseEmulator( + app: DatabasePigeonFirebaseApp, + host: String, + port: Long, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) database.useEmulator(host, port.toInt()) @@ -556,7 +564,11 @@ class FirebaseDatabasePlugin : } } - override fun ref(app: DatabasePigeonFirebaseApp, path: String?, callback: (KotlinResult) -> Unit) { + override fun ref( + app: DatabasePigeonFirebaseApp, + path: String?, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = if (path.isNullOrEmpty()) database.reference else database.getReference(path) @@ -567,7 +579,11 @@ class FirebaseDatabasePlugin : } } - override fun refFromURL(app: DatabasePigeonFirebaseApp, url: String, callback: (KotlinResult) -> Unit) { + override fun refFromURL( + app: DatabasePigeonFirebaseApp, + url: String, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReferenceFromUrl(url) @@ -578,7 +594,10 @@ class FirebaseDatabasePlugin : } } - override fun purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, callback: (KotlinResult) -> Unit) { + override fun purgeOutstandingWrites( + app: DatabasePigeonFirebaseApp, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) database.purgeOutstandingWrites() @@ -588,7 +607,11 @@ class FirebaseDatabasePlugin : } } - override fun databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (KotlinResult) -> Unit) { + override fun databaseReferenceSet( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) @@ -601,7 +624,8 @@ class FirebaseDatabasePlugin : callback(KotlinResult.success(Unit)) } else { val exception = completedTask.exception ?: Exception("Unknown error setting value") - callback(KotlinResult.failure(FlutterError("firebase_database", exception.message, null))) + callback( + KotlinResult.failure(FlutterError("firebase_database", exception.message, null))) } } } @@ -610,22 +634,28 @@ class FirebaseDatabasePlugin : } } - override fun databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (KotlinResult) -> Unit) { + override fun databaseReferenceSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) // Handle priority type conversion - Firebase Database expects Any? but Pigeon sends Object? - val priority = when (request.priority) { - is String -> request.priority - is Number -> request.priority - null -> null - else -> { - // Log the unexpected type for debugging - println("Warning: Unexpected priority type: ${request.priority?.javaClass?.simpleName}, value: $request.priority") - request.priority.toString() - } - } + val priority = + when (request.priority) { + is String -> request.priority + is Number -> request.priority + null -> null + else -> { + // Log the unexpected type for debugging + println( + "Warning: Unexpected priority type: ${request.priority?.javaClass?.simpleName}, value: $request.priority") + request.priority.toString() + } + } val task = reference.setValue(request.value, priority) var callbackCalled = false @@ -635,8 +665,10 @@ class FirebaseDatabasePlugin : if (completedTask.isSuccessful) { callback(KotlinResult.success(Unit)) } else { - val exception = completedTask.exception ?: Exception("Unknown error setting value with priority") - callback(KotlinResult.failure(FlutterError("firebase_database", exception.message, null))) + val exception = + completedTask.exception ?: Exception("Unknown error setting value with priority") + callback( + KotlinResult.failure(FlutterError("firebase_database", exception.message, null))) } } } @@ -648,37 +680,46 @@ class FirebaseDatabasePlugin : } } - override fun databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, callback: (KotlinResult) -> Unit) { - val database = getDatabaseFromPigeonApp(app) - val reference = database.getReference(request.path) - reference.updateChildren(request.value).addOnCompleteListener { task-> - if(task.isSuccessful){ - callback(KotlinResult.success(Unit)) - } - else { - val exception = task.exception - callback(KotlinResult.failure(FlutterError("firebase_database", exception?.message, null))) - } + override fun databaseReferenceUpdate( + app: DatabasePigeonFirebaseApp, + request: UpdateRequest, + callback: (KotlinResult) -> Unit + ) { + val database = getDatabaseFromPigeonApp(app) + val reference = database.getReference(request.path) + reference.updateChildren(request.value).addOnCompleteListener { task -> + if (task.isSuccessful) { + callback(KotlinResult.success(Unit)) + } else { + val exception = task.exception + callback(KotlinResult.failure(FlutterError("firebase_database", exception?.message, null))) } + } } - override fun databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (KotlinResult) -> Unit) { + override fun databaseReferenceSetPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) // Handle priority type conversion - Firebase Database expects Any? but Pigeon sends Object? // Convert the priority to the appropriate type for Firebase - val priority = when (request.priority) { - is String -> request.priority - is Number -> request.priority - null -> null - else -> { - // Log the unexpected type for debugging - println("Warning: Unexpected priority type: ${request.priority?.javaClass?.simpleName}, value: $request.priority") - request.priority.toString() - } - } + val priority = + when (request.priority) { + is String -> request.priority + is Number -> request.priority + null -> null + else -> { + // Log the unexpected type for debugging + println( + "Warning: Unexpected priority type: ${request.priority?.javaClass?.simpleName}, value: $request.priority") + request.priority.toString() + } + } val task = reference.setPriority(priority) var callbackCalled = false @@ -697,13 +738,17 @@ class FirebaseDatabasePlugin : } // Fallback timeout to ensure callback is always called - android.os.Handler(android.os.Looper.getMainLooper()).postDelayed({ - if (!callbackCalled && !task.isComplete) { - callbackCalled = true - println("Firebase Database setPriority timeout - calling callback anyway") - callback(KotlinResult.success(Unit)) - } - }, 3000) // 3 second timeout + android.os + .Handler(android.os.Looper.getMainLooper()) + .postDelayed( + { + if (!callbackCalled && !task.isComplete) { + callbackCalled = true + println("Firebase Database setPriority timeout - calling callback anyway") + callback(KotlinResult.success(Unit)) + } + }, + 3000) // 3 second timeout } catch (e: Exception) { // Log the exception for debugging println("Firebase Database setPriority error: ${e.message}") @@ -712,7 +757,11 @@ class FirebaseDatabasePlugin : } } - override fun databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, callback: (KotlinResult) -> Unit) { + override fun databaseReferenceRunTransaction( + app: DatabasePigeonFirebaseApp, + request: TransactionRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) @@ -721,67 +770,88 @@ class FirebaseDatabasePlugin : transactionRequests[request.transactionKey] = request // Start the transaction - simplified approach like iOS - reference.runTransaction(object : com.google.firebase.database.Transaction.Handler { - override fun doTransaction(mutableData: com.google.firebase.database.MutableData): com.google.firebase.database.Transaction.Result { - val semaphore = java.util.concurrent.CountDownLatch(1) - var transactionResult: TransactionHandlerResult? = null - - // Call the Flutter transaction handler on the main thread (required by FlutterJNI) - val mainHandler = android.os.Handler(android.os.Looper.getMainLooper()) - mainHandler.post { - val flutterApi = FirebaseDatabaseFlutterApi(messenger) - flutterApi.callTransactionHandler(request.transactionKey, mutableData.value) { result -> - result.fold( - onSuccess = { transactionResult = it }, - onFailure = { - transactionResult = TransactionHandlerResult(value = null, aborted = true, exception = true) + reference.runTransaction( + object : com.google.firebase.database.Transaction.Handler { + override fun doTransaction( + mutableData: com.google.firebase.database.MutableData + ): com.google.firebase.database.Transaction.Result { + val semaphore = java.util.concurrent.CountDownLatch(1) + var transactionResult: TransactionHandlerResult? = null + + // Call the Flutter transaction handler on the main thread (required by FlutterJNI) + val mainHandler = android.os.Handler(android.os.Looper.getMainLooper()) + mainHandler.post { + val flutterApi = FirebaseDatabaseFlutterApi(messenger) + flutterApi.callTransactionHandler(request.transactionKey, mutableData.value) { + result -> + result.fold( + onSuccess = { transactionResult = it }, + onFailure = { + transactionResult = + TransactionHandlerResult(value = null, aborted = true, exception = true) + }) + semaphore.countDown() } - ) - semaphore.countDown() - } - } + } - semaphore.await() + semaphore.await() - val result = transactionResult ?: return com.google.firebase.database.Transaction.abort() + val result = + transactionResult ?: return com.google.firebase.database.Transaction.abort() - if (result.aborted || result.exception) { - return com.google.firebase.database.Transaction.abort() - } - - mutableData.value = result.value - return com.google.firebase.database.Transaction.success(mutableData) - } + if (result.aborted || result.exception) { + return com.google.firebase.database.Transaction.abort() + } - override fun onComplete(error: com.google.firebase.database.DatabaseError?, committed: Boolean, currentData: com.google.firebase.database.DataSnapshot?) { - // Store the transaction result for later retrieval - val result = mapOf( - "committed" to committed, - "snapshot" to mapOf( - "value" to currentData?.value, - "key" to currentData?.key, - "exists" to currentData?.exists() - ) - ) - transactionResults[request.transactionKey] = result + mutableData.value = result.value + return com.google.firebase.database.Transaction.success(mutableData) + } - // Complete the transaction - simplified like iOS - if (error != null) { - val ex = FlutterFirebaseDatabaseException.fromDatabaseError(error) - callback(KotlinResult.failure(FlutterError("firebase_database", ex.message, ex.additionalData))) - } else { - callback(KotlinResult.success(Unit)) - } - } - }, request.applyLocally) + override fun onComplete( + error: com.google.firebase.database.DatabaseError?, + committed: Boolean, + currentData: com.google.firebase.database.DataSnapshot? + ) { + // Store the transaction result for later retrieval + val result = + mapOf( + "committed" to committed, + "snapshot" to + mapOf( + "value" to currentData?.value, + "key" to currentData?.key, + "exists" to currentData?.exists())) + transactionResults[request.transactionKey] = result + + // Complete the transaction - simplified like iOS + if (error != null) { + val ex = FlutterFirebaseDatabaseException.fromDatabaseError(error) + callback( + KotlinResult.failure( + FlutterError("firebase_database", ex.message, ex.additionalData))) + } else { + callback(KotlinResult.success(Unit)) + } + } + }, + request.applyLocally) } catch (e: Exception) { // Convert generic exceptions to FlutterFirebaseDatabaseException for proper error handling - val flutterException = if (e is FlutterFirebaseDatabaseException) e else FlutterFirebaseDatabaseException.unknown(e.message ?: "Unknown transaction error") - callback(KotlinResult.failure(FlutterError("firebase_database", flutterException.message, flutterException.additionalData))) + val flutterException = + if (e is FlutterFirebaseDatabaseException) e + else FlutterFirebaseDatabaseException.unknown(e.message ?: "Unknown transaction error") + callback( + KotlinResult.failure( + FlutterError( + "firebase_database", flutterException.message, flutterException.additionalData))) } } - override fun databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Long, callback: (KotlinResult>) -> Unit) { + override fun databaseReferenceGetTransactionResult( + app: DatabasePigeonFirebaseApp, + transactionKey: Long, + callback: (KotlinResult>) -> Unit + ) { try { // Return the stored transaction result val result = transactionResults[transactionKey] @@ -789,10 +859,7 @@ class FirebaseDatabasePlugin : callback(KotlinResult.success(result)) } else { // If no result is available yet, return a default result - val defaultResult = mapOf( - "committed" to false, - "snapshot" to mapOf("value" to null) - ) + val defaultResult = mapOf("committed" to false, "snapshot" to mapOf("value" to null)) callback(KotlinResult.success(defaultResult)) } } catch (e: Exception) { @@ -800,7 +867,11 @@ class FirebaseDatabasePlugin : } } - override fun onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (KotlinResult) -> Unit) { + override fun onDisconnectSet( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) @@ -812,7 +883,11 @@ class FirebaseDatabasePlugin : } } - override fun onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (KotlinResult) -> Unit) { + override fun onDisconnectSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) @@ -824,7 +899,11 @@ class FirebaseDatabasePlugin : } } - override fun onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, callback: (KotlinResult) -> Unit) { + override fun onDisconnectUpdate( + app: DatabasePigeonFirebaseApp, + request: UpdateRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) @@ -836,7 +915,11 @@ class FirebaseDatabasePlugin : } } - override fun onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, callback: (KotlinResult) -> Unit) { + override fun onDisconnectCancel( + app: DatabasePigeonFirebaseApp, + path: String, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(path) @@ -848,25 +931,31 @@ class FirebaseDatabasePlugin : } } - override fun queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, callback: (KotlinResult) -> Unit) { + override fun queryObserve( + app: DatabasePigeonFirebaseApp, + request: QueryRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) val query = queryFromModifiers(reference, request.modifiers) // Generate a unique channel name - val channelName = - synchronized(this) { "firebase_database_query_${listenerCount++}" } + val channelName = synchronized(this) { "firebase_database_query_${listenerCount++}" } // Set up the event channel val eventChannel = EventChannel(messenger, channelName) - val streamHandler = EventStreamHandler(query, object : OnDispose { - override fun run() { - // Clean up when the stream is disposed - eventChannel.setStreamHandler(null) - streamHandlers.remove(eventChannel) - } - }) + val streamHandler = + EventStreamHandler( + query, + object : OnDispose { + override fun run() { + // Clean up when the stream is disposed + eventChannel.setStreamHandler(null) + streamHandlers.remove(eventChannel) + } + }) eventChannel.setStreamHandler(streamHandler) streamHandlers[eventChannel] = streamHandler @@ -876,7 +965,11 @@ class FirebaseDatabasePlugin : } } - override fun queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, callback: (KotlinResult) -> Unit) { + override fun queryKeepSynced( + app: DatabasePigeonFirebaseApp, + request: QueryRequest, + callback: (KotlinResult) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) @@ -890,7 +983,11 @@ class FirebaseDatabasePlugin : } } - override fun queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, callback: (KotlinResult>) -> Unit) { + override fun queryGet( + app: DatabasePigeonFirebaseApp, + request: QueryRequest, + callback: (KotlinResult>) -> Unit + ) { try { val database = getDatabaseFromPigeonApp(app) val reference = database.getReference(request.path) @@ -914,11 +1011,12 @@ class FirebaseDatabasePlugin : // Helper method to get FirebaseDatabase from Pigeon app private fun getDatabaseFromPigeonApp(app: DatabasePigeonFirebaseApp): FirebaseDatabase { val firebaseApp = FirebaseApp.getInstance(app.appName) - val database = if (app.databaseURL != null) { - FirebaseDatabase.getInstance(firebaseApp, app.databaseURL) - } else { - FirebaseDatabase.getInstance(firebaseApp) - } + val database = + if (app.databaseURL != null) { + FirebaseDatabase.getInstance(firebaseApp, app.databaseURL) + } else { + FirebaseDatabase.getInstance(firebaseApp) + } // Apply settings carried on the Pigeon app object (idempotent across calls) try { @@ -933,13 +1031,9 @@ class FirebaseDatabasePlugin : database.useEmulator(emulatorHost, emulatorPort.toInt()) } - app.settings.persistenceEnabled?.let { enabled -> - database.setPersistenceEnabled(enabled) - } + app.settings.persistenceEnabled?.let { enabled -> database.setPersistenceEnabled(enabled) } - app.settings.cacheSizeBytes?.let { size -> - database.setPersistenceCacheSizeBytes(size) - } + app.settings.cacheSizeBytes?.let { size -> database.setPersistenceCacheSizeBytes(size) } } catch (e: DatabaseException) { // Ignore ordering errors if the instance was already used; settings that require // pre-use configuration would have no effect and should not crash tests. diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterDataSnapshotPayload.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterDataSnapshotPayload.kt index 3687ebabeb3c..c95bc304ad64 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterDataSnapshotPayload.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterDataSnapshotPayload.kt @@ -10,7 +10,7 @@ import com.google.firebase.database.DataSnapshot import java.util.* class FlutterDataSnapshotPayload( - snapshot: DataSnapshot, + snapshot: DataSnapshot, ) { private var payloadMap: MutableMap = mutableMapOf() diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseAppRegistrar.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseAppRegistrar.kt index a78fd2044ecb..2c74d47c57eb 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseAppRegistrar.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseAppRegistrar.kt @@ -12,7 +12,7 @@ import com.google.firebase.platforminfo.LibraryVersionComponent @Keep class FlutterFirebaseAppRegistrar : ComponentRegistrar { override fun getComponents(): List> = - listOf( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION), - ) + listOf( + LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION), + ) } diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseDatabaseException.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseDatabaseException.kt index 573a760f072e..c2f1a2f9915d 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseDatabaseException.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/FlutterFirebaseDatabaseException.kt @@ -13,91 +13,100 @@ import com.google.firebase.database.DatabaseException import java.util.* class FlutterFirebaseDatabaseException - @JvmOverloads - constructor( +@JvmOverloads +constructor( @NonNull val code: String, @NonNull val errorMessage: String, @Nullable additionalData: Map? = null, - ) : Exception(errorMessage) { - companion object { - const val UNKNOWN_ERROR_CODE = "unknown" - const val UNKNOWN_ERROR_MESSAGE = "An unknown error occurred" - private const val MODULE = "firebase_database" +) : Exception(errorMessage) { + companion object { + const val UNKNOWN_ERROR_CODE = "unknown" + const val UNKNOWN_ERROR_MESSAGE = "An unknown error occurred" + private const val MODULE = "firebase_database" - fun fromDatabaseError(e: DatabaseError): FlutterFirebaseDatabaseException { - val errorCode = e.code + fun fromDatabaseError(e: DatabaseError): FlutterFirebaseDatabaseException { + val errorCode = e.code - val (code, message) = + val (code, message) = when (errorCode) { - DatabaseError.DATA_STALE -> "data-stale" to "The transaction needs to be run again with current data." - DatabaseError.OPERATION_FAILED -> "failure" to "The server indicated that this operation failed." - DatabaseError.PERMISSION_DENIED -> "permission-denied" to "Client doesn't have permission to access the desired data." - DatabaseError.DISCONNECTED -> "disconnected" to "The operation had to be aborted due to a network disconnect." + DatabaseError.DATA_STALE -> + "data-stale" to "The transaction needs to be run again with current data." + DatabaseError.OPERATION_FAILED -> + "failure" to "The server indicated that this operation failed." + DatabaseError.PERMISSION_DENIED -> + "permission-denied" to "Client doesn't have permission to access the desired data." + DatabaseError.DISCONNECTED -> + "disconnected" to "The operation had to be aborted due to a network disconnect." DatabaseError.EXPIRED_TOKEN -> "expired-token" to "The supplied auth token has expired." DatabaseError.INVALID_TOKEN -> "invalid-token" to "The supplied auth token was invalid." DatabaseError.MAX_RETRIES -> "max-retries" to "The transaction had too many retries." - DatabaseError.OVERRIDDEN_BY_SET -> "overridden-by-set" to "The transaction was overridden by a subsequent set." + DatabaseError.OVERRIDDEN_BY_SET -> + "overridden-by-set" to "The transaction was overridden by a subsequent set." DatabaseError.UNAVAILABLE -> "unavailable" to "The service is unavailable." - DatabaseError.NETWORK_ERROR -> "network-error" to "The operation could not be performed due to a network error." - DatabaseError.WRITE_CANCELED -> "write-cancelled" to "The write was canceled by the user." + DatabaseError.NETWORK_ERROR -> + "network-error" to "The operation could not be performed due to a network error." + DatabaseError.WRITE_CANCELED -> + "write-cancelled" to "The write was canceled by the user." else -> UNKNOWN_ERROR_CODE to UNKNOWN_ERROR_MESSAGE } - if (code == UNKNOWN_ERROR_CODE) { - return unknown(e.message ?: UNKNOWN_ERROR_MESSAGE) - } - - val additionalData = mutableMapOf() - val errorDetails = e.details - additionalData[Constants.ERROR_DETAILS] = errorDetails - return FlutterFirebaseDatabaseException(code, message, additionalData) + if (code == UNKNOWN_ERROR_CODE) { + return unknown(e.message ?: UNKNOWN_ERROR_MESSAGE) } - fun fromDatabaseException(e: DatabaseException): FlutterFirebaseDatabaseException { - val error = DatabaseError.fromException(e) - return fromDatabaseError(error) - } + val additionalData = mutableMapOf() + val errorDetails = e.details + additionalData[Constants.ERROR_DETAILS] = errorDetails + return FlutterFirebaseDatabaseException(code, message, additionalData) + } - fun fromException(e: Exception?): FlutterFirebaseDatabaseException = + fun fromDatabaseException(e: DatabaseException): FlutterFirebaseDatabaseException { + val error = DatabaseError.fromException(e) + return fromDatabaseError(error) + } + + fun fromException(e: Exception?): FlutterFirebaseDatabaseException = if (e == null) unknown() else unknown(e.message ?: UNKNOWN_ERROR_MESSAGE) - fun unknown(): FlutterFirebaseDatabaseException = unknown(null) + fun unknown(): FlutterFirebaseDatabaseException = unknown(null) - fun unknown(errorMessage: String?): FlutterFirebaseDatabaseException { - val details = mutableMapOf() - var code = UNKNOWN_ERROR_CODE + fun unknown(errorMessage: String?): FlutterFirebaseDatabaseException { + val details = mutableMapOf() + var code = UNKNOWN_ERROR_CODE - var message = errorMessage + var message = errorMessage - if (errorMessage == null) { - message = UNKNOWN_ERROR_MESSAGE - } + if (errorMessage == null) { + message = UNKNOWN_ERROR_MESSAGE + } - when { - message?.contains("Index not defined, add \".indexOn\"") == true -> { - // No known error code for this in DatabaseError, so we manually have to - // detect it. - code = "index-not-defined" - message = message?.replaceFirst("java.lang.Exception: ", "") ?: UNKNOWN_ERROR_MESSAGE - } - message?.contains("Permission denied") == true || message?.contains("Client doesn't have permission") == true -> { - // Permission denied when using Firebase emulator does not correctly come - // through as a DatabaseError. - code = "permission-denied" - message = "Client doesn't have permission to access the desired data." - } + when { + message?.contains("Index not defined, add \".indexOn\"") == true -> { + // No known error code for this in DatabaseError, so we manually have to + // detect it. + code = "index-not-defined" + message = message?.replaceFirst("java.lang.Exception: ", "") ?: UNKNOWN_ERROR_MESSAGE + } + message?.contains("Permission denied") == true || + message?.contains("Client doesn't have permission") == true -> { + // Permission denied when using Firebase emulator does not correctly come + // through as a DatabaseError. + code = "permission-denied" + message = "Client doesn't have permission to access the desired data." } - - return FlutterFirebaseDatabaseException(code, message ?: UNKNOWN_ERROR_MESSAGE, details) } + + return FlutterFirebaseDatabaseException(code, message ?: UNKNOWN_ERROR_MESSAGE, details) } + } - val additionalData: Map = + val additionalData: Map = additionalData?.toMutableMap()?.apply { put(Constants.ERROR_CODE, code) put(Constants.ERROR_MESSAGE, errorMessage) - } ?: mutableMapOf().apply { - put(Constants.ERROR_CODE, code) - put(Constants.ERROR_MESSAGE, errorMessage) } - } + ?: mutableMapOf().apply { + put(Constants.ERROR_CODE, code) + put(Constants.ERROR_MESSAGE, errorMessage) + } +} diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/GeneratedAndroidFirebaseDatabase.g.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/GeneratedAndroidFirebaseDatabase.g.kt index 1d8dd75cfbb5..dd778f34ea6b 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/GeneratedAndroidFirebaseDatabase.g.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/GeneratedAndroidFirebaseDatabase.g.kt @@ -10,16 +10,17 @@ package io.flutter.plugins.firebase.database import android.util.Log import io.flutter.plugin.common.BasicMessageChannel import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMethodCodec import io.flutter.plugin.common.StandardMessageCodec import java.io.ByteArrayOutputStream import java.nio.ByteBuffer + private object GeneratedAndroidFirebaseDatabasePigeonUtils { fun createConnectionError(channelName: String): FlutterError { - return FlutterError("channel-error", "Unable to establish connection on channel: '$channelName'.", "") } + return FlutterError( + "channel-error", "Unable to establish connection on channel: '$channelName'.", "") + } fun wrapResult(result: Any?): List { return listOf(result) @@ -27,19 +28,15 @@ private object GeneratedAndroidFirebaseDatabasePigeonUtils { fun wrapError(exception: Throwable): List { return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) + listOf(exception.code, exception.message, exception.details) } else { listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) } } + fun doubleEquals(a: Double, b: Double): Boolean { // Normalize -0.0 to 0.0 and handle NaN equality. return (if (a == 0.0) 0.0 else a) == (if (b == 0.0) 0.0 else b) || (a.isNaN() && b.isNaN()) @@ -183,30 +180,29 @@ private object GeneratedAndroidFirebaseDatabasePigeonUtils { else -> value.hashCode() } } - } /** * Error class for passing custom error details to Flutter via a thrown PlatformException. + * * @property code The error code. * @property message The error message. * @property details The error details. Must be a datatype supported by the api codec. */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null +class FlutterError( + val code: String, + override val message: String? = null, + val details: Any? = null ) : RuntimeException() /** Generated class from Pigeon that represents data sent in messages. */ -data class DatabasePigeonSettings ( - val persistenceEnabled: Boolean? = null, - val cacheSizeBytes: Long? = null, - val loggingEnabled: Boolean? = null, - val emulatorHost: String? = null, - val emulatorPort: Long? = null -) - { +data class DatabasePigeonSettings( + val persistenceEnabled: Boolean? = null, + val cacheSizeBytes: Long? = null, + val loggingEnabled: Boolean? = null, + val emulatorHost: String? = null, + val emulatorPort: Long? = null +) { companion object { fun fromList(pigeonVar_list: List): DatabasePigeonSettings { val persistenceEnabled = pigeonVar_list[0] as Boolean? @@ -214,18 +210,21 @@ data class DatabasePigeonSettings ( val loggingEnabled = pigeonVar_list[2] as Boolean? val emulatorHost = pigeonVar_list[3] as String? val emulatorPort = pigeonVar_list[4] as Long? - return DatabasePigeonSettings(persistenceEnabled, cacheSizeBytes, loggingEnabled, emulatorHost, emulatorPort) + return DatabasePigeonSettings( + persistenceEnabled, cacheSizeBytes, loggingEnabled, emulatorHost, emulatorPort) } } + fun toList(): List { return listOf( - persistenceEnabled, - cacheSizeBytes, - loggingEnabled, - emulatorHost, - emulatorPort, + persistenceEnabled, + cacheSizeBytes, + loggingEnabled, + emulatorHost, + emulatorPort, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -234,12 +233,22 @@ data class DatabasePigeonSettings ( return true } val other = other as DatabasePigeonSettings - return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.persistenceEnabled, other.persistenceEnabled) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.cacheSizeBytes, other.cacheSizeBytes) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.loggingEnabled, other.loggingEnabled) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.emulatorHost, other.emulatorHost) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.emulatorPort, other.emulatorPort) + return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.persistenceEnabled, other.persistenceEnabled) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.cacheSizeBytes, other.cacheSizeBytes) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.loggingEnabled, other.loggingEnabled) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.emulatorHost, other.emulatorHost) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.emulatorPort, other.emulatorPort) } override fun hashCode(): Int { var result = javaClass.hashCode() - result = 31 * result + GeneratedAndroidFirebaseDatabasePigeonUtils.deepHash(this.persistenceEnabled) + result = + 31 * result + GeneratedAndroidFirebaseDatabasePigeonUtils.deepHash(this.persistenceEnabled) result = 31 * result + GeneratedAndroidFirebaseDatabasePigeonUtils.deepHash(this.cacheSizeBytes) result = 31 * result + GeneratedAndroidFirebaseDatabasePigeonUtils.deepHash(this.loggingEnabled) result = 31 * result + GeneratedAndroidFirebaseDatabasePigeonUtils.deepHash(this.emulatorHost) @@ -249,12 +258,11 @@ data class DatabasePigeonSettings ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class DatabasePigeonFirebaseApp ( - val appName: String, - val databaseURL: String? = null, - val settings: DatabasePigeonSettings -) - { +data class DatabasePigeonFirebaseApp( + val appName: String, + val databaseURL: String? = null, + val settings: DatabasePigeonSettings +) { companion object { fun fromList(pigeonVar_list: List): DatabasePigeonFirebaseApp { val appName = pigeonVar_list[0] as String @@ -263,13 +271,15 @@ data class DatabasePigeonFirebaseApp ( return DatabasePigeonFirebaseApp(appName, databaseURL, settings) } } + fun toList(): List { return listOf( - appName, - databaseURL, - settings, + appName, + databaseURL, + settings, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -278,7 +288,10 @@ data class DatabasePigeonFirebaseApp ( return true } val other = other as DatabasePigeonFirebaseApp - return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.appName, other.appName) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.databaseURL, other.databaseURL) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.settings, other.settings) + return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.appName, other.appName) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.databaseURL, other.databaseURL) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.settings, other.settings) } override fun hashCode(): Int { @@ -291,21 +304,20 @@ data class DatabasePigeonFirebaseApp ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class DatabaseReferencePlatform ( - val path: String -) - { +data class DatabaseReferencePlatform(val path: String) { companion object { fun fromList(pigeonVar_list: List): DatabaseReferencePlatform { val path = pigeonVar_list[0] as String return DatabaseReferencePlatform(path) } } + fun toList(): List { return listOf( - path, + path, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -325,12 +337,11 @@ data class DatabaseReferencePlatform ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class DatabaseReferenceRequest ( - val path: String, - val value: Any? = null, - val priority: Any? = null -) - { +data class DatabaseReferenceRequest( + val path: String, + val value: Any? = null, + val priority: Any? = null +) { companion object { fun fromList(pigeonVar_list: List): DatabaseReferenceRequest { val path = pigeonVar_list[0] as String @@ -339,13 +350,15 @@ data class DatabaseReferenceRequest ( return DatabaseReferenceRequest(path, value, priority) } } + fun toList(): List { return listOf( - path, - value, - priority, + path, + value, + priority, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -354,7 +367,9 @@ data class DatabaseReferenceRequest ( return true } val other = other as DatabaseReferenceRequest - return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.priority, other.priority) + return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.priority, other.priority) } override fun hashCode(): Int { @@ -367,11 +382,7 @@ data class DatabaseReferenceRequest ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class UpdateRequest ( - val path: String, - val value: Map -) - { +data class UpdateRequest(val path: String, val value: Map) { companion object { fun fromList(pigeonVar_list: List): UpdateRequest { val path = pigeonVar_list[0] as String @@ -379,12 +390,14 @@ data class UpdateRequest ( return UpdateRequest(path, value) } } + fun toList(): List { return listOf( - path, - value, + path, + value, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -393,7 +406,8 @@ data class UpdateRequest ( return true } val other = other as UpdateRequest - return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) + return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) } override fun hashCode(): Int { @@ -405,12 +419,11 @@ data class UpdateRequest ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class TransactionRequest ( - val path: String, - val transactionKey: Long, - val applyLocally: Boolean -) - { +data class TransactionRequest( + val path: String, + val transactionKey: Long, + val applyLocally: Boolean +) { companion object { fun fromList(pigeonVar_list: List): TransactionRequest { val path = pigeonVar_list[0] as String @@ -419,13 +432,15 @@ data class TransactionRequest ( return TransactionRequest(path, transactionKey, applyLocally) } } + fun toList(): List { return listOf( - path, - transactionKey, - applyLocally, + path, + transactionKey, + applyLocally, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -434,7 +449,11 @@ data class TransactionRequest ( return true } val other = other as TransactionRequest - return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.transactionKey, other.transactionKey) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.applyLocally, other.applyLocally) + return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.transactionKey, other.transactionKey) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals( + this.applyLocally, other.applyLocally) } override fun hashCode(): Int { @@ -447,12 +466,11 @@ data class TransactionRequest ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class QueryRequest ( - val path: String, - val modifiers: List>, - val value: Boolean? = null -) - { +data class QueryRequest( + val path: String, + val modifiers: List>, + val value: Boolean? = null +) { companion object { fun fromList(pigeonVar_list: List): QueryRequest { val path = pigeonVar_list[0] as String @@ -461,13 +479,15 @@ data class QueryRequest ( return QueryRequest(path, modifiers, value) } } + fun toList(): List { return listOf( - path, - modifiers, - value, + path, + modifiers, + value, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -476,7 +496,9 @@ data class QueryRequest ( return true } val other = other as QueryRequest - return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.modifiers, other.modifiers) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) + return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.path, other.path) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.modifiers, other.modifiers) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) } override fun hashCode(): Int { @@ -489,12 +511,11 @@ data class QueryRequest ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class TransactionHandlerResult ( - val value: Any? = null, - val aborted: Boolean, - val exception: Boolean -) - { +data class TransactionHandlerResult( + val value: Any? = null, + val aborted: Boolean, + val exception: Boolean +) { companion object { fun fromList(pigeonVar_list: List): TransactionHandlerResult { val value = pigeonVar_list[0] @@ -503,13 +524,15 @@ data class TransactionHandlerResult ( return TransactionHandlerResult(value, aborted, exception) } } + fun toList(): List { return listOf( - value, - aborted, - exception, + value, + aborted, + exception, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -518,7 +541,9 @@ data class TransactionHandlerResult ( return true } val other = other as TransactionHandlerResult - return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.aborted, other.aborted) && GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.exception, other.exception) + return GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.value, other.value) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.aborted, other.aborted) && + GeneratedAndroidFirebaseDatabasePigeonUtils.deepEquals(this.exception, other.exception) } override fun hashCode(): Int { @@ -529,53 +554,39 @@ data class TransactionHandlerResult ( return result } } + private open class GeneratedAndroidFirebaseDatabasePigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { return when (type) { 129.toByte() -> { - return (readValue(buffer) as? List)?.let { - DatabasePigeonSettings.fromList(it) - } + return (readValue(buffer) as? List)?.let { DatabasePigeonSettings.fromList(it) } } 130.toByte() -> { - return (readValue(buffer) as? List)?.let { - DatabasePigeonFirebaseApp.fromList(it) - } + return (readValue(buffer) as? List)?.let { DatabasePigeonFirebaseApp.fromList(it) } } 131.toByte() -> { - return (readValue(buffer) as? List)?.let { - DatabaseReferencePlatform.fromList(it) - } + return (readValue(buffer) as? List)?.let { DatabaseReferencePlatform.fromList(it) } } 132.toByte() -> { - return (readValue(buffer) as? List)?.let { - DatabaseReferenceRequest.fromList(it) - } + return (readValue(buffer) as? List)?.let { DatabaseReferenceRequest.fromList(it) } } 133.toByte() -> { - return (readValue(buffer) as? List)?.let { - UpdateRequest.fromList(it) - } + return (readValue(buffer) as? List)?.let { UpdateRequest.fromList(it) } } 134.toByte() -> { - return (readValue(buffer) as? List)?.let { - TransactionRequest.fromList(it) - } + return (readValue(buffer) as? List)?.let { TransactionRequest.fromList(it) } } 135.toByte() -> { - return (readValue(buffer) as? List)?.let { - QueryRequest.fromList(it) - } + return (readValue(buffer) as? List)?.let { QueryRequest.fromList(it) } } 136.toByte() -> { - return (readValue(buffer) as? List)?.let { - TransactionHandlerResult.fromList(it) - } + return (readValue(buffer) as? List)?.let { TransactionHandlerResult.fromList(it) } } else -> super.readValueOfType(type, buffer) } } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { when (value) { is DatabasePigeonSettings -> { stream.write(129) @@ -614,43 +625,150 @@ private open class GeneratedAndroidFirebaseDatabasePigeonCodec : StandardMessage } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ interface FirebaseDatabaseHostApi { fun goOnline(app: DatabasePigeonFirebaseApp, callback: (Result) -> Unit) + fun goOffline(app: DatabasePigeonFirebaseApp, callback: (Result) -> Unit) - fun setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Boolean, callback: (Result) -> Unit) - fun setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Long, callback: (Result) -> Unit) - fun setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Boolean, callback: (Result) -> Unit) - fun useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Long, callback: (Result) -> Unit) - fun ref(app: DatabasePigeonFirebaseApp, path: String?, callback: (Result) -> Unit) - fun refFromURL(app: DatabasePigeonFirebaseApp, url: String, callback: (Result) -> Unit) + + fun setPersistenceEnabled( + app: DatabasePigeonFirebaseApp, + enabled: Boolean, + callback: (Result) -> Unit + ) + + fun setPersistenceCacheSizeBytes( + app: DatabasePigeonFirebaseApp, + cacheSize: Long, + callback: (Result) -> Unit + ) + + fun setLoggingEnabled( + app: DatabasePigeonFirebaseApp, + enabled: Boolean, + callback: (Result) -> Unit + ) + + fun useDatabaseEmulator( + app: DatabasePigeonFirebaseApp, + host: String, + port: Long, + callback: (Result) -> Unit + ) + + fun ref( + app: DatabasePigeonFirebaseApp, + path: String?, + callback: (Result) -> Unit + ) + + fun refFromURL( + app: DatabasePigeonFirebaseApp, + url: String, + callback: (Result) -> Unit + ) + fun purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, callback: (Result) -> Unit) - fun databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (Result) -> Unit) - fun databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (Result) -> Unit) - fun databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, callback: (Result) -> Unit) - fun databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (Result) -> Unit) - fun databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, callback: (Result) -> Unit) - fun databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Long, callback: (Result>) -> Unit) - fun onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (Result) -> Unit) - fun onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, callback: (Result) -> Unit) - fun onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, callback: (Result) -> Unit) - fun onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, callback: (Result) -> Unit) - fun queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, callback: (Result) -> Unit) - fun queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, callback: (Result) -> Unit) - fun queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, callback: (Result>) -> Unit) + + fun databaseReferenceSet( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (Result) -> Unit + ) + + fun databaseReferenceSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (Result) -> Unit + ) + + fun databaseReferenceUpdate( + app: DatabasePigeonFirebaseApp, + request: UpdateRequest, + callback: (Result) -> Unit + ) + + fun databaseReferenceSetPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (Result) -> Unit + ) + + fun databaseReferenceRunTransaction( + app: DatabasePigeonFirebaseApp, + request: TransactionRequest, + callback: (Result) -> Unit + ) + + fun databaseReferenceGetTransactionResult( + app: DatabasePigeonFirebaseApp, + transactionKey: Long, + callback: (Result>) -> Unit + ) + + fun onDisconnectSet( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (Result) -> Unit + ) + + fun onDisconnectSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + callback: (Result) -> Unit + ) + + fun onDisconnectUpdate( + app: DatabasePigeonFirebaseApp, + request: UpdateRequest, + callback: (Result) -> Unit + ) + + fun onDisconnectCancel( + app: DatabasePigeonFirebaseApp, + path: String, + callback: (Result) -> Unit + ) + + fun queryObserve( + app: DatabasePigeonFirebaseApp, + request: QueryRequest, + callback: (Result) -> Unit + ) + + fun queryKeepSynced( + app: DatabasePigeonFirebaseApp, + request: QueryRequest, + callback: (Result) -> Unit + ) + + fun queryGet( + app: DatabasePigeonFirebaseApp, + request: QueryRequest, + callback: (Result>) -> Unit + ) companion object { /** The codec used by FirebaseDatabaseHostApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidFirebaseDatabasePigeonCodec() - } - /** Sets up an instance of `FirebaseDatabaseHostApi` to handle messages through the `binaryMessenger`. */ + val codec: MessageCodec by lazy { GeneratedAndroidFirebaseDatabasePigeonCodec() } + /** + * Sets up an instance of `FirebaseDatabaseHostApi` to handle messages through the + * `binaryMessenger`. + */ @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: FirebaseDatabaseHostApi?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + fun setUp( + binaryMessenger: BinaryMessenger, + api: FirebaseDatabaseHostApi?, + messageChannelSuffix: String = "" + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -669,7 +787,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -688,7 +810,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -708,7 +834,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -728,7 +858,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -748,7 +882,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -769,7 +907,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -790,7 +932,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -811,7 +957,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -830,7 +980,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -850,7 +1004,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -870,7 +1028,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -890,7 +1052,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -910,7 +1076,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -930,13 +1100,18 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List val appArg = args[0] as DatabasePigeonFirebaseApp val transactionKeyArg = args[1] as Long - api.databaseReferenceGetTransactionResult(appArg, transactionKeyArg) { result: Result> -> + api.databaseReferenceGetTransactionResult(appArg, transactionKeyArg) { + result: Result> -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseDatabasePigeonUtils.wrapError(error)) @@ -951,7 +1126,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -971,7 +1150,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -991,7 +1174,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -1011,7 +1198,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -1031,7 +1222,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -1052,7 +1247,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -1072,7 +1271,11 @@ interface FirebaseDatabaseHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -1096,31 +1299,45 @@ interface FirebaseDatabaseHostApi { } } /** Generated class from Pigeon that represents Flutter messages that can be called from Kotlin. */ -class FirebaseDatabaseFlutterApi(private val binaryMessenger: BinaryMessenger, private val messageChannelSuffix: String = "") { +class FirebaseDatabaseFlutterApi( + private val binaryMessenger: BinaryMessenger, + private val messageChannelSuffix: String = "" +) { companion object { /** The codec used by FirebaseDatabaseFlutterApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidFirebaseDatabasePigeonCodec() - } + val codec: MessageCodec by lazy { GeneratedAndroidFirebaseDatabasePigeonCodec() } } - fun callTransactionHandler(transactionKeyArg: Long, snapshotValueArg: Any?, callback: (Result) -> Unit) -{ - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - val channelName = "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseFlutterApi.callTransactionHandler$separatedMessageChannelSuffix" + + fun callTransactionHandler( + transactionKeyArg: Long, + snapshotValueArg: Any?, + callback: (Result) -> Unit + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + val channelName = + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseFlutterApi.callTransactionHandler$separatedMessageChannelSuffix" val channel = BasicMessageChannel(binaryMessenger, channelName, codec) channel.send(listOf(transactionKeyArg, snapshotValueArg)) { if (it is List<*>) { if (it.size > 1) { callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) } else if (it[0] == null) { - callback(Result.failure(FlutterError("null-error", "Flutter api returned null value for non-null return value.", ""))) + callback( + Result.failure( + FlutterError( + "null-error", + "Flutter api returned null value for non-null return value.", + ""))) } else { val output = it[0] as TransactionHandlerResult callback(Result.success(output)) } } else { - callback(Result.failure(GeneratedAndroidFirebaseDatabasePigeonUtils.createConnectionError(channelName))) - } + callback( + Result.failure( + GeneratedAndroidFirebaseDatabasePigeonUtils.createConnectionError(channelName))) + } } } } diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/QueryBuilder.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/QueryBuilder.kt index ebb84e4edc4b..9e8a97bd4f70 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/QueryBuilder.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/QueryBuilder.kt @@ -11,50 +11,50 @@ import com.google.firebase.database.DatabaseReference import com.google.firebase.database.Query class QueryBuilder - @JvmOverloads - constructor( +@JvmOverloads +constructor( @NonNull ref: DatabaseReference, @NonNull private val modifiers: List>, - ) { - private var query: Query = ref +) { + private var query: Query = ref - fun build(): Query { - if (modifiers.isEmpty()) return query + fun build(): Query { + if (modifiers.isEmpty()) return query - for (modifier in modifiers) { - val type = modifier["type"] as String + for (modifier in modifiers) { + val type = modifier["type"] as String - when (type) { - Constants.LIMIT -> limit(modifier) - Constants.CURSOR -> cursor(modifier) - Constants.ORDER_BY -> orderBy(modifier) - } + when (type) { + Constants.LIMIT -> limit(modifier) + Constants.CURSOR -> cursor(modifier) + Constants.ORDER_BY -> orderBy(modifier) } - - return query } - private fun limit(modifier: Map) { - val name = modifier["name"] as String - val value = + return query + } + + private fun limit(modifier: Map) { + val name = modifier["name"] as String + val value = when (val limit = modifier["limit"]) { is Int -> limit is Number -> limit.toInt() else -> throw IllegalArgumentException("Invalid limit value: $limit") } - query = + query = when (name) { Constants.LIMIT_TO_FIRST -> query.limitToFirst(value) Constants.LIMIT_TO_LAST -> query.limitToLast(value) else -> query } - } + } - private fun orderBy(modifier: Map) { - val name = modifier["name"] as String + private fun orderBy(modifier: Map) { + val name = modifier["name"] as String - query = + query = when (name) { "orderByKey" -> query.orderByKey() "orderByValue" -> query.orderByValue() @@ -65,64 +65,78 @@ class QueryBuilder } else -> query } - } + } - private fun cursor(modifier: Map) { - val name = modifier["name"] as String + private fun cursor(modifier: Map) { + val name = modifier["name"] as String - when (name) { - Constants.START_AT -> startAt(modifier) - Constants.START_AFTER -> startAfter(modifier) - Constants.END_AT -> endAt(modifier) - Constants.END_BEFORE -> endBefore(modifier) - } + when (name) { + Constants.START_AT -> startAt(modifier) + Constants.START_AFTER -> startAfter(modifier) + Constants.END_AT -> endAt(modifier) + Constants.END_BEFORE -> endBefore(modifier) } + } - private fun startAt(modifier: Map) { - val value = modifier["value"] - val key = modifier["key"] as String? + private fun startAt(modifier: Map) { + val value = modifier["value"] + val key = modifier["key"] as String? - query = + query = when (value) { is Boolean -> if (key == null) query.startAt(value) else query.startAt(value, key) - is Number -> if (key == null) query.startAt(value.toDouble()) else query.startAt(value.toDouble(), key) - else -> if (key == null) query.startAt(value.toString()) else query.startAt(value.toString(), key) + is Number -> + if (key == null) query.startAt(value.toDouble()) + else query.startAt(value.toDouble(), key) + else -> + if (key == null) query.startAt(value.toString()) + else query.startAt(value.toString(), key) } - } + } - private fun startAfter(modifier: Map) { - val value = modifier["value"] - val key = modifier["key"] as String? + private fun startAfter(modifier: Map) { + val value = modifier["value"] + val key = modifier["key"] as String? - query = + query = when (value) { is Boolean -> if (key == null) query.startAfter(value) else query.startAfter(value, key) - is Number -> if (key == null) query.startAfter(value.toDouble()) else query.startAfter(value.toDouble(), key) - else -> if (key == null) query.startAfter(value.toString()) else query.startAfter(value.toString(), key) + is Number -> + if (key == null) query.startAfter(value.toDouble()) + else query.startAfter(value.toDouble(), key) + else -> + if (key == null) query.startAfter(value.toString()) + else query.startAfter(value.toString(), key) } - } + } - private fun endAt(modifier: Map) { - val value = modifier["value"] - val key = modifier["key"] as String? + private fun endAt(modifier: Map) { + val value = modifier["value"] + val key = modifier["key"] as String? - query = + query = when (value) { is Boolean -> if (key == null) query.endAt(value) else query.endAt(value, key) - is Number -> if (key == null) query.endAt(value.toDouble()) else query.endAt(value.toDouble(), key) - else -> if (key == null) query.endAt(value.toString()) else query.endAt(value.toString(), key) + is Number -> + if (key == null) query.endAt(value.toDouble()) else query.endAt(value.toDouble(), key) + else -> + if (key == null) query.endAt(value.toString()) else query.endAt(value.toString(), key) } - } + } - private fun endBefore(modifier: Map) { - val value = modifier["value"] - val key = modifier["key"] as String? + private fun endBefore(modifier: Map) { + val value = modifier["value"] + val key = modifier["key"] as String? - query = + query = when (value) { is Boolean -> if (key == null) query.endBefore(value) else query.endBefore(value, key) - is Number -> if (key == null) query.endBefore(value.toDouble()) else query.endBefore(value.toDouble(), key) - else -> if (key == null) query.endBefore(value.toString()) else query.endBefore(value.toString(), key) + is Number -> + if (key == null) query.endBefore(value.toDouble()) + else query.endBefore(value.toDouble(), key) + else -> + if (key == null) query.endBefore(value.toString()) + else query.endBefore(value.toString(), key) } - } } +} diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionExecutor.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionExecutor.kt index 4f31edf655e2..c6be9ca7f0bd 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionExecutor.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionExecutor.kt @@ -15,8 +15,9 @@ import io.flutter.plugin.common.MethodChannel import java.util.* import java.util.concurrent.ExecutionException -class TransactionExecutor constructor( - private val channel: MethodChannel, +class TransactionExecutor +constructor( + private val channel: MethodChannel, ) { private val completion = TaskCompletionSource() @@ -24,46 +25,46 @@ class TransactionExecutor constructor( fun execute(arguments: Map): Any { Handler(Looper.getMainLooper()).post { channel.invokeMethod( - Constants.METHOD_CALL_TRANSACTION_HANDLER, - arguments, - object : MethodChannel.Result { - override fun success( - @Nullable result: Any?, - ) { - completion.setResult(result) - } + Constants.METHOD_CALL_TRANSACTION_HANDLER, + arguments, + object : MethodChannel.Result { + override fun success( + @Nullable result: Any?, + ) { + completion.setResult(result) + } - @Suppress("UNCHECKED_CAST") - override fun error( - errorCode: String, - @Nullable errorMessage: String?, - @Nullable errorDetails: Any?, - ) { - var message = errorMessage - val additionalData = mutableMapOf() + @Suppress("UNCHECKED_CAST") + override fun error( + errorCode: String, + @Nullable errorMessage: String?, + @Nullable errorDetails: Any?, + ) { + var message = errorMessage + val additionalData = mutableMapOf() - if (message == null) { - message = FlutterFirebaseDatabaseException.UNKNOWN_ERROR_MESSAGE - } + if (message == null) { + message = FlutterFirebaseDatabaseException.UNKNOWN_ERROR_MESSAGE + } - if (errorDetails is Map<*, *>) { - additionalData.putAll(errorDetails as Map) - } + if (errorDetails is Map<*, *>) { + additionalData.putAll(errorDetails as Map) + } - val e = - FlutterFirebaseDatabaseException( - errorCode, - message, - additionalData, - ) + val e = + FlutterFirebaseDatabaseException( + errorCode, + message, + additionalData, + ) - completion.setException(e) - } + completion.setException(e) + } - override fun notImplemented() { - // never called - } - }, + override fun notImplemented() { + // never called + } + }, ) } diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionHandler.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionHandler.kt index 5bc549ba629e..675ecac3bf5c 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionHandler.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/TransactionHandler.kt @@ -19,87 +19,89 @@ import com.google.firebase.database.Transaction.Handler import io.flutter.plugin.common.MethodChannel class TransactionHandler - @JvmOverloads - constructor( +@JvmOverloads +constructor( @NonNull private val channel: MethodChannel, private val transactionKey: Int, - ) : Handler { - private val transactionCompletionSource = TaskCompletionSource>() +) : Handler { + private val transactionCompletionSource = TaskCompletionSource>() - fun getTask(): Task> = transactionCompletionSource.task + fun getTask(): Task> = transactionCompletionSource.task - @NonNull - override fun doTransaction( + @NonNull + override fun doTransaction( @NonNull currentData: MutableData, - ): Transaction.Result { - val snapshotMap = + ): Transaction.Result { + val snapshotMap = mapOf( - Constants.KEY to (currentData.key ?: ""), - Constants.VALUE to currentData.value, + Constants.KEY to (currentData.key ?: ""), + Constants.VALUE to currentData.value, ) - val transactionArgs = + val transactionArgs = mapOf( - Constants.SNAPSHOT to snapshotMap, - Constants.TRANSACTION_KEY to transactionKey, + Constants.SNAPSHOT to snapshotMap, + Constants.TRANSACTION_KEY to transactionKey, ) - return try { - val executor = TransactionExecutor(channel) - val updatedData: Any? = executor.execute(transactionArgs) + return try { + val executor = TransactionExecutor(channel) + val updatedData: Any? = executor.execute(transactionArgs) - @Suppress("UNCHECKED_CAST") - val transactionHandlerResult: Map = + @Suppress("UNCHECKED_CAST") + val transactionHandlerResult: Map = when (updatedData) { is Map<*, *> -> updatedData as Map null -> emptyMap() else -> { - Log.e("firebase_database", "Unexpected transaction result type: ${updatedData::class.java}") + Log.e( + "firebase_database", + "Unexpected transaction result type: ${updatedData::class.java}") emptyMap() } } - val aborted: Boolean = (transactionHandlerResult["aborted"] as? Boolean) ?: false - val exception: Boolean = (transactionHandlerResult["exception"] as? Boolean) ?: false + val aborted: Boolean = (transactionHandlerResult["aborted"] as? Boolean) ?: false + val exception: Boolean = (transactionHandlerResult["exception"] as? Boolean) ?: false - if (aborted || exception) { - Transaction.abort() - } else { - if (transactionHandlerResult.containsKey("value")) { - currentData.value = transactionHandlerResult["value"] - } - Transaction.success(currentData) - } - } catch (e: Exception) { - Log.e("firebase_database", "An unexpected exception occurred for a transaction.", e) + if (aborted || exception) { Transaction.abort() + } else { + if (transactionHandlerResult.containsKey("value")) { + currentData.value = transactionHandlerResult["value"] + } + Transaction.success(currentData) } + } catch (e: Exception) { + Log.e("firebase_database", "An unexpected exception occurred for a transaction.", e) + Transaction.abort() } + } - override fun onComplete( + override fun onComplete( @Nullable error: DatabaseError?, committed: Boolean, @Nullable currentData: DataSnapshot?, - ) { - when { - error != null -> { - transactionCompletionSource.setException( + ) { + when { + error != null -> { + transactionCompletionSource.setException( FlutterFirebaseDatabaseException.fromDatabaseError(error), - ) - } - currentData != null -> { - val payload = FlutterDataSnapshotPayload(currentData) - val additionalParams: MutableMap = + ) + } + currentData != null -> { + val payload = FlutterDataSnapshotPayload(currentData) + val additionalParams: MutableMap = mutableMapOf( - Constants.COMMITTED to committed, + Constants.COMMITTED to committed, ) - transactionCompletionSource.setResult( + transactionCompletionSource.setResult( payload.withAdditionalParams(additionalParams).toMap(), - ) - } - else -> { - transactionCompletionSource.setResult(emptyMap()) - } + ) + } + else -> { + transactionCompletionSource.setResult(emptyMap()) } } } +} diff --git a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ValueEventsProxy.kt b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ValueEventsProxy.kt index 299a129e86b7..41c46a6a54cd 100644 --- a/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ValueEventsProxy.kt +++ b/packages/firebase_database/firebase_database/android/src/main/kotlin/io/flutter/plugins/firebase/database/ValueEventsProxy.kt @@ -13,21 +13,20 @@ import com.google.firebase.database.ValueEventListener import io.flutter.plugin.common.EventChannel.EventSink class ValueEventsProxy - @JvmOverloads - constructor( +@JvmOverloads +constructor( @NonNull eventSink: EventSink, - ) : EventsProxy(eventSink, Constants.EVENT_TYPE_VALUE), - ValueEventListener { - override fun onDataChange( +) : EventsProxy(eventSink, Constants.EVENT_TYPE_VALUE), ValueEventListener { + override fun onDataChange( @NonNull snapshot: DataSnapshot, - ) { - sendEvent(Constants.EVENT_TYPE_VALUE, snapshot, null) - } + ) { + sendEvent(Constants.EVENT_TYPE_VALUE, snapshot, null) + } - override fun onCancelled( + override fun onCancelled( @NonNull error: DatabaseError, - ) { - val e = FlutterFirebaseDatabaseException.fromDatabaseError(error) - eventSink.error(e.code, e.message, e.additionalData) - } + ) { + val e = FlutterFirebaseDatabaseException.fromDatabaseError(error) + eventSink.error(e.code, e.message, e.additionalData) } +} diff --git a/packages/firebase_database/firebase_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/database/example/MainActivity.kt b/packages/firebase_database/firebase_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/database/example/MainActivity.kt index 8453022cc73f..0fcc054366fe 100644 --- a/packages/firebase_database/firebase_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/database/example/MainActivity.kt +++ b/packages/firebase_database/firebase_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/database/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.database.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_database/firebase_database/example/macos/Runner/AppDelegate.swift b/packages/firebase_database/firebase_database/example/macos/Runner/AppDelegate.swift index dd8f68d76ac5..b3c176141221 100644 --- a/packages/firebase_database/firebase_database/example/macos/Runner/AppDelegate.swift +++ b/packages/firebase_database/firebase_database/example/macos/Runner/AppDelegate.swift @@ -6,7 +6,7 @@ class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true } - + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { return true } diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift index d3e8cb1dd020..3d12a90d54bb 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_database", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-database", targets: ["firebase_database"]), + .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] - ), + ) ] ) diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift index 4b147e49db5b..86029a6d5d39 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift @@ -22,16 +22,17 @@ import FirebaseDatabase } func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) - -> FlutterError? { + -> FlutterError? + { guard let args = arguments as? [String: Any], - let eventTypeString = args["eventType"] as? String + let eventTypeString = args["eventType"] as? String else { return nil } let observeBlock: (DataSnapshot, String?) -> Void = { [weak self] snapshot, previousChildKey in var eventDictionary: [String: Any] = [ - "eventType": eventTypeString, + "eventType": eventTypeString ] let snapshotDict = FLTFirebaseDatabaseUtils.dictionary( diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift index 1c617600deb7..f60f6c148c04 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift @@ -17,14 +17,14 @@ import Foundation #else import firebase_core_shared #endif -import FirebaseDatabase /// Channel name constant to match macOS implementation let FLTFirebaseDatabaseChannelName = "plugins.flutter.io/firebase_database" @objc(FLTFirebaseDatabasePlugin) public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePluginProtocol, - FirebaseDatabaseHostApi { + FirebaseDatabaseHostApi +{ private var binaryMessenger: FlutterBinaryMessenger private static var cachedDatabaseInstances: [String: Database] = [:] private var streamHandlers: [String: FLTFirebaseDatabaseObserveStreamHandler] = [:] @@ -104,22 +104,28 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Database Management - func goOnline(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) { + func goOnline( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.goOnline() completion(.success(())) } - func goOffline(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) { + func goOffline( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.goOffline() completion(.success(())) } - func setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) { + func setPersistenceEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void + ) { let instanceKey = app.appName + (app.databaseURL ?? "") if Self.cachedDatabaseInstances[instanceKey] != nil { completion(.success(())) @@ -131,8 +137,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Int64, - completion: @escaping (Result) -> Void) { + func setPersistenceCacheSizeBytes( + app: DatabasePigeonFirebaseApp, cacheSize: Int64, + completion: @escaping (Result) -> Void + ) { let instanceKey = app.appName + (app.databaseURL ?? "") if Self.cachedDatabaseInstances[instanceKey] != nil { completion(.success(())) @@ -148,37 +156,47 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) { + func setLoggingEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void + ) { Database.setLoggingEnabled(enabled) completion(.success(())) } - func useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) { + func useDatabaseEmulator( + app: DatabasePigeonFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.useEmulator(withHost: host, port: Int(port)) completion(.success(())) } - func ref(app: DatabasePigeonFirebaseApp, path: String?, - completion: @escaping (Result) -> Void) { + func ref( + app: DatabasePigeonFirebaseApp, path: String?, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: path ?? "") let result = DatabaseReferencePlatform(path: reference.url) completion(.success(result)) } - func refFromURL(app: DatabasePigeonFirebaseApp, url: String, - completion: @escaping (Result) -> Void) { + func refFromURL( + app: DatabasePigeonFirebaseApp, url: String, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(fromURL: url) let result = DatabaseReferencePlatform(path: reference.url) completion(.success(result)) } - func purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) { + func purgeOutstandingWrites( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.purgeOutstandingWrites() completion(.success(())) @@ -186,8 +204,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Database Reference Operations - func databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -200,9 +220,11 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -215,8 +237,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -231,9 +255,11 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceSetPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -246,84 +272,95 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceRunTransaction( + app: DatabasePigeonFirebaseApp, request: TransactionRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) - reference.runTransactionBlock({ currentData in - let semaphore = DispatchSemaphore(value: 0) - var transactionResult: TransactionHandlerResult? - - DispatchQueue.main.async { - let flutterApi = FirebaseDatabaseFlutterApi(binaryMessenger: self.binaryMessenger) - flutterApi.callTransactionHandler( - transactionKey: request.transactionKey, - snapshotValue: currentData.value - ) { result in - switch result { - case let .success(handlerResult): - transactionResult = handlerResult - case let .failure(error): - print("Transaction handler error: \(error)") - transactionResult = TransactionHandlerResult(value: nil, aborted: true, exception: true) + reference.runTransactionBlock( + { currentData in + let semaphore = DispatchSemaphore(value: 0) + var transactionResult: TransactionHandlerResult? + + DispatchQueue.main.async { + let flutterApi = FirebaseDatabaseFlutterApi(binaryMessenger: self.binaryMessenger) + flutterApi.callTransactionHandler( + transactionKey: request.transactionKey, + snapshotValue: currentData.value + ) { result in + switch result { + case .success(let handlerResult): + transactionResult = handlerResult + case .failure(let error): + print("Transaction handler error: \(error)") + transactionResult = TransactionHandlerResult( + value: nil, aborted: true, exception: true) + } + semaphore.signal() } - semaphore.signal() } - } - semaphore.wait() + semaphore.wait() - guard let result = transactionResult else { - return TransactionResult.abort() - } + guard let result = transactionResult else { + return TransactionResult.abort() + } - if result.aborted || result.exception { - return TransactionResult.abort() - } + if result.aborted || result.exception { + return TransactionResult.abort() + } - currentData.value = result.value - return TransactionResult.success(withValue: currentData) - }, andCompletionBlock: { error, committed, snapshot in - if let error { - completion(.failure(self.createFlutterError(error))) - return - } + currentData.value = result.value + return TransactionResult.success(withValue: currentData) + }, + andCompletionBlock: { error, committed, snapshot in + if let error { + completion(.failure(self.createFlutterError(error))) + return + } - var snapshotMap: [String: Any?] - if let snapshot { - let snapshotDict = FLTFirebaseDatabaseUtils.dictionary(from: snapshot) - snapshotMap = ["snapshot": snapshotDict] - } else { - snapshotMap = ["snapshot": NSNull()] - } + var snapshotMap: [String: Any?] + if let snapshot { + let snapshotDict = FLTFirebaseDatabaseUtils.dictionary(from: snapshot) + snapshotMap = ["snapshot": snapshotDict] + } else { + snapshotMap = ["snapshot": NSNull()] + } - self.transactionResults[request.transactionKey] = [ - "committed": committed, - "snapshot": snapshotMap["snapshot"] as Any, - ] + self.transactionResults[request.transactionKey] = [ + "committed": committed, + "snapshot": snapshotMap["snapshot"] as Any, + ] - completion(.success(())) - }, withLocalEvents: request.applyLocally) + completion(.success(())) + }, withLocalEvents: request.applyLocally) } - func databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Int64, - completion: @escaping (Result<[String: Any?], Error>) - -> Void) { + func databaseReferenceGetTransactionResult( + app: DatabasePigeonFirebaseApp, transactionKey: Int64, + completion: + @escaping (Result<[String: Any?], Error>) + -> Void + ) { if let result = transactionResults.removeValue(forKey: transactionKey) { completion(.success(result)) } else { - completion(.success([ - "committed": false, - "snapshot": ["value": NSNull()], - ])) + completion( + .success([ + "committed": false, + "snapshot": ["value": NSNull()], + ])) } } // MARK: - OnDisconnect Operations - func onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func onDisconnectSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -336,9 +373,11 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func onDisconnectSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -351,8 +390,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) { + func onDisconnectUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -367,8 +408,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, - completion: @escaping (Result) -> Void) { + func onDisconnectCancel( + app: DatabasePigeonFirebaseApp, path: String, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: path) @@ -383,8 +426,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Query Operations - func queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) { + func queryObserve( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -447,7 +492,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber { + let limit = modifier["limit"] as? NSNumber + { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -485,8 +531,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(channelName)) } - func queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) { + func queryKeepSynced( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -549,7 +597,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber { + let limit = modifier["limit"] as? NSNumber + { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -572,8 +621,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result<[String: Any?], Error>) -> Void) { + func queryGet( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result<[String: Any?], Error>) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -647,7 +698,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber { + let limit = modifier["limit"] as? NSNumber + { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -710,7 +762,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } if let emulatorHost = app.settings.emulatorHost, - let emulatorPort = app.settings.emulatorPort { + let emulatorPort = app.settings.emulatorPort + { database.useEmulator(withHost: emulatorHost, port: Int(emulatorPort)) } diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift index 9561af721ff1..c51f5ac67a2a 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift @@ -55,7 +55,8 @@ import Foundation } if let emulatorHost = arguments["emulatorHost"] as? String, - let emulatorPort = arguments["emulatorPort"] as? Int { + let emulatorPort = arguments["emulatorPort"] as? Int + { database.useEmulator(withHost: emulatorHost, port: emulatorPort) } @@ -69,8 +70,10 @@ import Foundation return database.reference(withPath: path) } - private static func databaseQuery(_ query: DatabaseQuery, - applyLimitModifier modifier: [String: Any]) -> DatabaseQuery { + private static func databaseQuery( + _ query: DatabaseQuery, + applyLimitModifier modifier: [String: Any] + ) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" let limit = modifier["limit"] as? UInt ?? 0 @@ -84,8 +87,10 @@ import Foundation } } - private static func databaseQuery(_ query: DatabaseQuery, - applyOrderModifier modifier: [String: Any]) -> DatabaseQuery { + private static func databaseQuery( + _ query: DatabaseQuery, + applyOrderModifier modifier: [String: Any] + ) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" switch name { @@ -103,8 +108,10 @@ import Foundation } } - private static func databaseQuery(_ query: DatabaseQuery, - applyCursorModifier modifier: [String: Any]) -> DatabaseQuery { + private static func databaseQuery( + _ query: DatabaseQuery, + applyCursorModifier modifier: [String: Any] + ) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" let key = modifier["key"] as? String let value = modifier["value"] @@ -161,8 +168,10 @@ import Foundation return query } - static func dictionary(from snapshot: DataSnapshot, - withPreviousChildKey previousChildKey: String?) -> [String: Any] { + static func dictionary( + from snapshot: DataSnapshot, + withPreviousChildKey previousChildKey: String? + ) -> [String: Any] { [ "snapshot": dictionary(from: snapshot), "previousChildKey": previousChildKey ?? NSNull(), diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift index 5e0d5707382d..4e8d5aa6a273 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift @@ -97,7 +97,7 @@ func deepEqualsFirebaseDatabaseMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -139,7 +139,7 @@ func deepEqualsFirebaseDatabaseMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseDatabaseMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -222,12 +222,12 @@ struct DatabasePigeonSettings: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseDatabaseMessages(lhs.persistenceEnabled, rhs.persistenceEnabled) && - deepEqualsFirebaseDatabaseMessages( + return deepEqualsFirebaseDatabaseMessages(lhs.persistenceEnabled, rhs.persistenceEnabled) + && deepEqualsFirebaseDatabaseMessages( lhs.cacheSizeBytes, rhs.cacheSizeBytes - ) && deepEqualsFirebaseDatabaseMessages(lhs.loggingEnabled, rhs.loggingEnabled) && - deepEqualsFirebaseDatabaseMessages( + ) && deepEqualsFirebaseDatabaseMessages(lhs.loggingEnabled, rhs.loggingEnabled) + && deepEqualsFirebaseDatabaseMessages( lhs.emulatorHost, rhs.emulatorHost ) && deepEqualsFirebaseDatabaseMessages(lhs.emulatorPort, rhs.emulatorPort) @@ -274,8 +274,8 @@ struct DatabasePigeonFirebaseApp: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseDatabaseMessages(lhs.appName, rhs.appName) && - deepEqualsFirebaseDatabaseMessages( + return deepEqualsFirebaseDatabaseMessages(lhs.appName, rhs.appName) + && deepEqualsFirebaseDatabaseMessages( lhs.databaseURL, rhs.databaseURL ) && deepEqualsFirebaseDatabaseMessages(lhs.settings, rhs.settings) @@ -304,7 +304,7 @@ struct DatabaseReferencePlatform: Hashable { func toList() -> [Any?] { [ - path, + path ] } @@ -352,8 +352,8 @@ struct DatabaseReferenceRequest: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) && - deepEqualsFirebaseDatabaseMessages( + return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) + && deepEqualsFirebaseDatabaseMessages( lhs.value, rhs.value ) && deepEqualsFirebaseDatabaseMessages(lhs.priority, rhs.priority) @@ -394,8 +394,8 @@ struct UpdateRequest: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) && - deepEqualsFirebaseDatabaseMessages( + return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) + && deepEqualsFirebaseDatabaseMessages( lhs.value, rhs.value ) @@ -439,8 +439,8 @@ struct TransactionRequest: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) && - deepEqualsFirebaseDatabaseMessages( + return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) + && deepEqualsFirebaseDatabaseMessages( lhs.transactionKey, rhs.transactionKey ) && deepEqualsFirebaseDatabaseMessages(lhs.applyLocally, rhs.applyLocally) @@ -485,8 +485,8 @@ struct QueryRequest: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) && - deepEqualsFirebaseDatabaseMessages( + return deepEqualsFirebaseDatabaseMessages(lhs.path, rhs.path) + && deepEqualsFirebaseDatabaseMessages( lhs.modifiers, rhs.modifiers ) && deepEqualsFirebaseDatabaseMessages(lhs.value, rhs.value) @@ -531,8 +531,8 @@ struct TransactionHandlerResult: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseDatabaseMessages(lhs.value, rhs.value) && - deepEqualsFirebaseDatabaseMessages( + return deepEqualsFirebaseDatabaseMessages(lhs.value, rhs.value) + && deepEqualsFirebaseDatabaseMessages( lhs.aborted, rhs.aborted ) && deepEqualsFirebaseDatabaseMessages(lhs.exception, rhs.exception) @@ -623,52 +623,74 @@ class FirebaseDatabaseMessagesPigeonCodec: FlutterStandardMessageCodec, @uncheck /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebaseDatabaseHostApi { func goOnline(app: DatabasePigeonFirebaseApp, completion: @escaping (Result) -> Void) - func goOffline(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) - func setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) - func setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Int64, - completion: @escaping (Result) -> Void) - func setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) - func useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) - func ref(app: DatabasePigeonFirebaseApp, path: String?, - completion: @escaping (Result) -> Void) - func refFromURL(app: DatabasePigeonFirebaseApp, url: String, - completion: @escaping (Result) -> Void) - func purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) - func databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Int64, - completion: @escaping (Result<[String: Any?], Error>) - -> Void) - func onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) - func onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, - completion: @escaping (Result) -> Void) - func queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) - func queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) - func queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result<[String: Any?], Error>) -> Void) + func goOffline( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) + func setPersistenceEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) + func setPersistenceCacheSizeBytes( + app: DatabasePigeonFirebaseApp, cacheSize: Int64, + completion: @escaping (Result) -> Void) + func setLoggingEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) + func useDatabaseEmulator( + app: DatabasePigeonFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) + func ref( + app: DatabasePigeonFirebaseApp, path: String?, + completion: @escaping (Result) -> Void) + func refFromURL( + app: DatabasePigeonFirebaseApp, url: String, + completion: @escaping (Result) -> Void) + func purgeOutstandingWrites( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) + func databaseReferenceSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceSetPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceRunTransaction( + app: DatabasePigeonFirebaseApp, request: TransactionRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceGetTransactionResult( + app: DatabasePigeonFirebaseApp, transactionKey: Int64, + completion: + @escaping (Result<[String: Any?], Error>) + -> Void) + func onDisconnectSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func onDisconnectSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func onDisconnectUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) + func onDisconnectCancel( + app: DatabasePigeonFirebaseApp, path: String, + completion: @escaping (Result) -> Void) + func queryObserve( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) + func queryKeepSynced( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) + func queryGet( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result<[String: Any?], Error>) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -679,11 +701,14 @@ class FirebaseDatabaseHostApiSetup { /// Sets up an instance of `FirebaseDatabaseHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseDatabaseHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseDatabaseHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let goOnlineChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -695,7 +720,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -704,7 +729,8 @@ class FirebaseDatabaseHostApiSetup { goOnlineChannel.setMessageHandler(nil) } let goOfflineChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -716,7 +742,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -725,7 +751,8 @@ class FirebaseDatabaseHostApiSetup { goOfflineChannel.setMessageHandler(nil) } let setPersistenceEnabledChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -738,7 +765,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -747,7 +774,8 @@ class FirebaseDatabaseHostApiSetup { setPersistenceEnabledChannel.setMessageHandler(nil) } let setPersistenceCacheSizeBytesChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -760,7 +788,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -769,7 +797,8 @@ class FirebaseDatabaseHostApiSetup { setPersistenceCacheSizeBytesChannel.setMessageHandler(nil) } let setLoggingEnabledChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -782,7 +811,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -791,7 +820,8 @@ class FirebaseDatabaseHostApiSetup { setLoggingEnabledChannel.setMessageHandler(nil) } let useDatabaseEmulatorChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -805,7 +835,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -814,7 +844,8 @@ class FirebaseDatabaseHostApiSetup { useDatabaseEmulatorChannel.setMessageHandler(nil) } let refChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -825,9 +856,9 @@ class FirebaseDatabaseHostApiSetup { let pathArg: String? = nilOrValue(args[1]) api.ref(app: appArg, path: pathArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -836,7 +867,8 @@ class FirebaseDatabaseHostApiSetup { refChannel.setMessageHandler(nil) } let refFromURLChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -847,9 +879,9 @@ class FirebaseDatabaseHostApiSetup { let urlArg = args[1] as! String api.refFromURL(app: appArg, url: urlArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -858,7 +890,8 @@ class FirebaseDatabaseHostApiSetup { refFromURLChannel.setMessageHandler(nil) } let purgeOutstandingWritesChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -870,7 +903,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -879,7 +912,8 @@ class FirebaseDatabaseHostApiSetup { purgeOutstandingWritesChannel.setMessageHandler(nil) } let databaseReferenceSetChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -892,7 +926,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -901,7 +935,8 @@ class FirebaseDatabaseHostApiSetup { databaseReferenceSetChannel.setMessageHandler(nil) } let databaseReferenceSetWithPriorityChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -914,7 +949,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -923,7 +958,8 @@ class FirebaseDatabaseHostApiSetup { databaseReferenceSetWithPriorityChannel.setMessageHandler(nil) } let databaseReferenceUpdateChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -936,7 +972,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -945,7 +981,8 @@ class FirebaseDatabaseHostApiSetup { databaseReferenceUpdateChannel.setMessageHandler(nil) } let databaseReferenceSetPriorityChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -958,7 +995,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -967,7 +1004,8 @@ class FirebaseDatabaseHostApiSetup { databaseReferenceSetPriorityChannel.setMessageHandler(nil) } let databaseReferenceRunTransactionChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -980,7 +1018,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -989,7 +1027,8 @@ class FirebaseDatabaseHostApiSetup { databaseReferenceRunTransactionChannel.setMessageHandler(nil) } let databaseReferenceGetTransactionResultChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -999,12 +1038,14 @@ class FirebaseDatabaseHostApiSetup { let appArg = args[0] as! DatabasePigeonFirebaseApp let transactionKeyArg = args[1] as! Int64 api - .databaseReferenceGetTransactionResult(app: appArg, - transactionKey: transactionKeyArg) { result in + .databaseReferenceGetTransactionResult( + app: appArg, + transactionKey: transactionKeyArg + ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1013,7 +1054,8 @@ class FirebaseDatabaseHostApiSetup { databaseReferenceGetTransactionResultChannel.setMessageHandler(nil) } let onDisconnectSetChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1026,7 +1068,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1035,7 +1077,8 @@ class FirebaseDatabaseHostApiSetup { onDisconnectSetChannel.setMessageHandler(nil) } let onDisconnectSetWithPriorityChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1048,7 +1091,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1057,7 +1100,8 @@ class FirebaseDatabaseHostApiSetup { onDisconnectSetWithPriorityChannel.setMessageHandler(nil) } let onDisconnectUpdateChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1070,7 +1114,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1079,7 +1123,8 @@ class FirebaseDatabaseHostApiSetup { onDisconnectUpdateChannel.setMessageHandler(nil) } let onDisconnectCancelChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1092,7 +1137,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1101,7 +1146,8 @@ class FirebaseDatabaseHostApiSetup { onDisconnectCancelChannel.setMessageHandler(nil) } let queryObserveChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1112,9 +1158,9 @@ class FirebaseDatabaseHostApiSetup { let requestArg = args[1] as! QueryRequest api.queryObserve(app: appArg, request: requestArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1123,7 +1169,8 @@ class FirebaseDatabaseHostApiSetup { queryObserveChannel.setMessageHandler(nil) } let queryKeepSyncedChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1136,7 +1183,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1145,7 +1192,8 @@ class FirebaseDatabaseHostApiSetup { queryKeepSyncedChannel.setMessageHandler(nil) } let queryGetChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1156,9 +1204,9 @@ class FirebaseDatabaseHostApiSetup { let requestArg = args[1] as! QueryRequest api.queryGet(app: appArg, request: requestArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1171,10 +1219,12 @@ class FirebaseDatabaseHostApiSetup { /// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. protocol FirebaseDatabaseFlutterApiProtocol { - func callTransactionHandler(transactionKey transactionKeyArg: Int64, - snapshotValue snapshotValueArg: Any?, - completion: @escaping (Result) - -> Void) + func callTransactionHandler( + transactionKey transactionKeyArg: Int64, + snapshotValue snapshotValueArg: Any?, + completion: + @escaping (Result) + -> Void) } class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { @@ -1189,11 +1239,15 @@ class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { FirebaseDatabaseMessagesPigeonCodec.shared } - func callTransactionHandler(transactionKey transactionKeyArg: Int64, - snapshotValue snapshotValueArg: Any?, - completion: @escaping (Result) - -> Void) { - let channelName = "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseFlutterApi.callTransactionHandler\(messageChannelSuffix)" + func callTransactionHandler( + transactionKey transactionKeyArg: Int64, + snapshotValue snapshotValueArg: Any?, + completion: + @escaping (Result) + -> Void + ) { + let channelName = + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseFlutterApi.callTransactionHandler\(messageChannelSuffix)" let channel = FlutterBasicMessageChannel( name: channelName, binaryMessenger: binaryMessenger, @@ -1210,11 +1264,13 @@ class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { let details: String? = nilOrValue(listResponse[2]) completion(.failure(PigeonError(code: code, message: message, details: details))) } else if listResponse[0] == nil { - completion(.failure(PigeonError( - code: "null-error", - message: "Flutter api returned null value for non-null return value.", - details: "" - ))) + completion( + .failure( + PigeonError( + code: "null-error", + message: "Flutter api returned null value for non-null return value.", + details: "" + ))) } else { let result = listResponse[0] as! TransactionHandlerResult completion(.success(result)) diff --git a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift index 7e830e552456..d9692a9a2996 100644 --- a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_database", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-database", targets: ["firebase_database"]), + .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] - ), + ) ] ) diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt index 57b5fca33169..88c6950b89c7 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.tests import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift index 7f3d4a19d92b..d807fa54c596 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_in_app_messaging", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]), + .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fiam\""), ] - ), + ) ] ) diff --git a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundExecutor.java b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundExecutor.java index a920109065f6..51f48f0a6f21 100644 --- a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundExecutor.java +++ b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundExecutor.java @@ -31,6 +31,7 @@ import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; + /** * An background execution abstraction which handles initializing a background isolate running a * callback dispatcher, used to invoke Dart callbacks while backgrounded. @@ -41,6 +42,7 @@ public class FlutterFirebaseMessagingBackgroundExecutor implements MethodCallHan private static final String USER_CALLBACK_HANDLE_KEY = "user_callback_handle"; private final AtomicBoolean isCallbackDispatcherReady = new AtomicBoolean(false); + /** * The {@link MethodChannel} that connects the Android side of this plugin with the background * Dart isolate that was created by this plugin. @@ -180,7 +182,8 @@ public void executeDartCallbackInBackgroundIsolate(Intent intent, final CountDow if (backgroundFlutterEngine == null) { Log.i( TAG, - "A background message could not be handled in Dart as no onBackgroundMessage handler has been registered."); + "A background message could not be handled in Dart as no onBackgroundMessage handler has" + + " been registered."); return; } @@ -190,7 +193,8 @@ public void executeDartCallbackInBackgroundIsolate(Intent intent, final CountDow new Result() { @Override public void success(Object result) { - // If another thread is waiting, then wake that thread when the callback returns a result. + // If another thread is waiting, then wake that thread when the callback returns a + // result. latch.countDown(); } diff --git a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundService.java b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundService.java index 6b75fa2ad6e5..b4f3ee877b59 100644 --- a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundService.java +++ b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundService.java @@ -122,7 +122,8 @@ protected void onHandleWork(@NonNull final Intent intent) { if (!flutterBackgroundExecutor.isDartBackgroundHandlerRegistered()) { Log.w( TAG, - "A background message could not be handled in Dart as no onBackgroundMessage handler has been registered."); + "A background message could not be handled in Dart as no onBackgroundMessage handler has" + + " been registered."); return; } diff --git a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java index 63d1e0dfac0a..868c950899b3 100644 --- a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java +++ b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java @@ -200,6 +200,7 @@ private Task unsubscribeFromTopic(Map arguments) { return taskCompletionSource.getTask(); } + // This API will be removed in a future release. Slated to be removed by June 2024 by Firebase. // https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging#send @SuppressWarnings("deprecation") @@ -312,7 +313,8 @@ private Task> getInitialMessage() { FlutterFirebaseMessagingReceiver.notifications.get(messageId); Map notificationMap = null; - // If we can't find a copy of the remote message in memory then check from our persisted store. + // If we can't find a copy of the remote message in memory then check from our persisted + // store. if (remoteMessage == null) { Map messageMap = FlutterFirebaseMessagingStore.getInstance().getFirebaseMessageMap(messageId); @@ -339,7 +341,8 @@ private Task> getInitialMessage() { Map remoteMessageMap = FlutterFirebaseMessagingUtils.remoteMessageToMap(remoteMessage); - // If no notification map is available in the remote message we override with the one we got + // If no notification map is available in the remote message we override with the one we + // got if (remoteMessage.getNotification() == null && notificationMap != null) { remoteMessageMap.put("notification", notificationMap); } @@ -421,12 +424,12 @@ public void onMethodCall(final MethodCall call, @NonNull final Result result) { Task methodCallTask; switch (call.method) { - // This message is sent when the Dart side of this plugin is told to initialize. - // In response, this (native) side of the plugin needs to spin up a background - // Dart isolate by using the given pluginCallbackHandle, and then setup a background - // method channel to communicate with the new background isolate. Once completed, - // this onMethodCall() method will receive messages from both the primary and background - // method channels. + // This message is sent when the Dart side of this plugin is told to initialize. + // In response, this (native) side of the plugin needs to spin up a background + // Dart isolate by using the given pluginCallbackHandle, and then setup a background + // method channel to communicate with the new background isolate. Once completed, + // this onMethodCall() method will receive messages from both the primary and background + // method channels. case "Messaging#startBackgroundIsolate": @SuppressWarnings("unchecked") Map arguments = ((Map) call.arguments); @@ -496,7 +499,8 @@ public void onMethodCall(final MethodCall call, @NonNull final Result result) { break; case "Messaging#requestPermission": if (Build.VERSION.SDK_INT >= 33) { - // Android version >= Android 13 requires user input if notification permission not set/granted + // Android version >= Android 13 requires user input if notification permission not + // set/granted methodCallTask = requestPermissions(); } else { // Android version < Android 13 doesn't require asking for runtime permissions. diff --git a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingReceiver.java b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingReceiver.java index ebaeca9ffe24..f9e10df1bd1c 100644 --- a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingReceiver.java +++ b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingReceiver.java @@ -31,7 +31,8 @@ public void onReceive(Context context, Intent intent) { if (intent.getExtras() == null) { Log.d( TAG, - "broadcast received but intent contained no extras to process RemoteMessage. Operation cancelled."); + "broadcast received but intent contained no extras to process RemoteMessage. Operation" + + " cancelled."); return; } @@ -59,7 +60,8 @@ public void onReceive(Context context, Intent intent) { Parcel parcel = Parcel.obtain(); remoteMessage.writeToParcel(parcel, 0); - // We write to parcel using RemoteMessage.writeToParcel() to pass entire RemoteMessage as array of bytes + // We write to parcel using RemoteMessage.writeToParcel() to pass entire RemoteMessage as array + // of bytes // Which can be read using RemoteMessage.createFromParcel(parcel) API onBackgroundMessageIntent.putExtra( FlutterFirebaseMessagingUtils.EXTRA_REMOTE_MESSAGE, parcel.marshall()); diff --git a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingService.java b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingService.java index 6f50bd40bcb2..85d557453646 100644 --- a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingService.java +++ b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingService.java @@ -17,6 +17,7 @@ public void onNewToken(@NonNull String token) { @Override public void onMessageReceived(@NonNull RemoteMessage remoteMessage) { // Added for commenting purposes; - // We don't handle the message here as we already handle it in the receiver and don't want to duplicate. + // We don't handle the message here as we already handle it in the receiver and don't want to + // duplicate. } } diff --git a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingStore.java b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingStore.java index 95573e3b43f0..1dfaf754d023 100644 --- a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingStore.java +++ b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingStore.java @@ -55,8 +55,10 @@ public void storeFirebaseMessage(RemoteMessage remoteMessage) { setPreferencesStringValue(remoteMessage.getMessageId(), remoteMessageString); // Save new notification id. - // Note that this is using a comma delimited string to preserve ordering. We could use a String Set - // on SharedPreferences but this won't guarantee ordering when we want to remove the oldest added ids. + // Note that this is using a comma delimited string to preserve ordering. We could use a String + // Set + // on SharedPreferences but this won't guarantee ordering when we want to remove the oldest + // added ids. String notifications = getPreferencesStringValue(KEY_NOTIFICATION_IDS, ""); notifications += remoteMessage.getMessageId() + DELIMITER; // append to last diff --git a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/PluginRegistrantException.java b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/PluginRegistrantException.java index 4787b643784c..67d882312c91 100644 --- a/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/PluginRegistrantException.java +++ b/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/PluginRegistrantException.java @@ -8,7 +8,8 @@ class PluginRegistrantException extends RuntimeException { public PluginRegistrantException() { super( - "PluginRegistrantCallback is not set. Did you forget to call " - + "FlutterFirebaseMessagingBackgroundService.setPluginRegistrant? See the documentation for instructions."); + "PluginRegistrantCallback is not set. Did you forget to call" + + " FlutterFirebaseMessagingBackgroundService.setPluginRegistrant? See the" + + " documentation for instructions."); } } diff --git a/packages/firebase_messaging/firebase_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/messaging/example/MainActivity.kt b/packages/firebase_messaging/firebase_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/messaging/example/MainActivity.kt index 2be79f209e91..c5b5e08c88f8 100644 --- a/packages/firebase_messaging/firebase_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/messaging/example/MainActivity.kt +++ b/packages/firebase_messaging/firebase_messaging/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/messaging/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.messaging.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift index 050a4877cbee..b029af3482ee 100644 --- a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_messaging", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-messaging", targets: ["firebase_messaging"]), + .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] - ), + ) ] ) diff --git a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift index 185f33fee319..e3a10f5c60e3 100644 --- a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_messaging", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-messaging", targets: ["firebase_messaging"]), + .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] - ), + ) ] ) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt index 57b5fca33169..88c6950b89c7 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.tests import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.swift index b6363034812b..626664468b89 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @main @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift index b3474aeb3bdf..bb4b64565a26 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]), + .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift index 3d512ac1457a..12c3aecaefec 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift @@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseCore +import FirebaseMLModelDownloader + #if canImport(FlutterMacOS) import FlutterMacOS #else import Flutter #endif -import FirebaseCore -import FirebaseMLModelDownloader - #if canImport(firebase_core) import firebase_core #else @@ -85,21 +85,24 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, var errorDetails = [String: Any?]() errorDetails["code"] = code ?? self.mapErrorCodes(error: error! as NSError) - errorDetails["message"] = message ?? error? + errorDetails["message"] = + message ?? error? .localizedDescription ?? "An unknown error has occurred." - errorDetails["additionalData"] = details ?? - ["code": errorDetails["code"], "message": errorDetails["message"]] + errorDetails["additionalData"] = + details ?? ["code": errorDetails["code"], "message": errorDetails["message"]] if code == "unknown" { NSLog("FLTFirebaseModelDownloader: An error occurred while calling method %@", call.method) } - result(FLTFirebasePlugin.createFlutterError(fromCode: errorDetails["code"] as! String, - message: errorDetails["message"] as! String, - optionalDetails: errorDetails[ - "additionalData" - ] as? [AnyHashable: Any], - andOptionalNSError: nil)) + result( + FLTFirebasePlugin.createFlutterError( + fromCode: errorDetails["code"] as! String, + message: errorDetails["message"] as! String, + optionalDetails: errorDetails[ + "additionalData" + ] as? [AnyHashable: Any], + andOptionalNSError: nil)) } let result = FLTFirebaseMethodCallResult.create(success: result, andErrorBlock: errorBlock) @@ -114,13 +117,15 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, } } - func listDownloadedModels(arguments: [String: Any], - result: FLTFirebaseMethodCallResult) { + func listDownloadedModels( + arguments: [String: Any], + result: FLTFirebaseMethodCallResult + ) { let modelDownloader = modelDownloaderFromArguments(arguments: arguments) modelDownloader?.listDownloadedModels { response in switch response { - case let .success(customModel): + case .success(let customModel): let responseList: [[String: Any]] = customModel.map { [ "filePath": $0.path, @@ -130,7 +135,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, ] } result.success(responseList) - case let .failure(error): + case .failure(let error): result.error(nil, nil, nil, error) } } @@ -160,21 +165,23 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, conditions: modelDownloadConditions ) { response in switch response { - case let .success(customModel): + case .success(let customModel): result.success([ "filePath": customModel.path, "size": customModel.size, "hash": customModel.hash, "name": customModel.name, ]) - case let .failure(error): + case .failure(let error): result.error(nil, nil, nil, error) } } } - func deleteDownloadedModel(arguments: [String: Any], - result: FLTFirebaseMethodCallResult) { + func deleteDownloadedModel( + arguments: [String: Any], + result: FLTFirebaseMethodCallResult + ) { let modelDownloader = modelDownloaderFromArguments(arguments: arguments) let modelName = arguments["modelName"] @@ -182,7 +189,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, switch response { case .success(): result.success(nil) - case let .failure(error): + case .failure(let error): result.error(nil, nil, nil, error) } } diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift index ef5ecc229031..309a7323305f 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]), + .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebaseAppRegistrar.kt b/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebaseAppRegistrar.kt index c4f81db754bb..e6695bbc968f 100644 --- a/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebaseAppRegistrar.kt +++ b/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebaseAppRegistrar.kt @@ -12,7 +12,6 @@ import com.google.firebase.platforminfo.LibraryVersionComponent class FlutterFirebaseAppRegistrar : ComponentRegistrar { override fun getComponents(): List> { return listOf( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) - ) + LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)) } } diff --git a/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebasePerformancePlugin.kt b/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebasePerformancePlugin.kt index dfc913d0700e..4353a5fa833f 100644 --- a/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebasePerformancePlugin.kt +++ b/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/FlutterFirebasePerformancePlugin.kt @@ -18,18 +18,14 @@ import io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry /** * Flutter plugin accessing Firebase Performance API. * - * * Instantiate this in an add to app scenario to gracefully handle activity and context changes. */ -class FlutterFirebasePerformancePlugin - : FlutterFirebasePlugin, FlutterPlugin, FirebasePerformanceHostApi { +class FlutterFirebasePerformancePlugin : + FlutterFirebasePlugin, FlutterPlugin, FirebasePerformanceHostApi { private var binaryMessenger: BinaryMessenger? = null private fun initInstance(messenger: BinaryMessenger) { - FlutterFirebasePluginRegistry.registerPlugin( - METHOD_CHANNEL_NAME, - this - ) + FlutterFirebasePluginRegistry.registerPlugin(METHOD_CHANNEL_NAME, this) binaryMessenger = messenger FirebasePerformanceHostApi.setUp(messenger, this) } @@ -79,7 +75,11 @@ class FlutterFirebasePerformancePlugin } } - override fun stopTrace(handle: Long, attributes: TraceAttributes, callback: (Result) -> Unit) { + override fun stopTrace( + handle: Long, + attributes: TraceAttributes, + callback: (Result) -> Unit + ) { FlutterFirebasePlugin.cachedThreadPool.execute { try { val trace = _traces[handle.toInt()] @@ -88,13 +88,9 @@ class FlutterFirebasePerformancePlugin return@execute } - attributes.attributes?.forEach { (key, value) -> - trace.putAttribute(key, value) - } + attributes.attributes?.forEach { (key, value) -> trace.putAttribute(key, value) } - attributes.metrics?.forEach { (key, value) -> - trace.putMetric(key, value) - } + attributes.metrics?.forEach { (key, value) -> trace.putMetric(key, value) } trace.stop() _traces.remove(handle.toInt()) @@ -109,10 +105,7 @@ class FlutterFirebasePerformancePlugin FlutterFirebasePlugin.cachedThreadPool.execute { try { val httpMethod = parseHttpMethod(options.httpMethod) - val httpMetric = FirebasePerformance.getInstance().newHttpMetric( - options.url, - httpMethod - ) + val httpMetric = FirebasePerformance.getInstance().newHttpMetric(options.url, httpMethod) httpMetric.start() val httpMetricHandle = _httpMetricHandle++ _httpMetrics[httpMetricHandle] = httpMetric @@ -123,7 +116,11 @@ class FlutterFirebasePerformancePlugin } } - override fun stopHttpMetric(handle: Long, attributes: HttpMetricAttributes, callback: (Result) -> Unit) { + override fun stopHttpMetric( + handle: Long, + attributes: HttpMetricAttributes, + callback: (Result) -> Unit + ) { FlutterFirebasePlugin.cachedThreadPool.execute { try { val httpMetric = _httpMetrics[handle.toInt()] @@ -137,9 +134,7 @@ class FlutterFirebasePerformancePlugin attributes.responseContentType?.let { httpMetric.setResponseContentType(it) } attributes.responsePayloadSize?.let { httpMetric.setResponsePayloadSize(it) } - attributes.attributes?.forEach { (key, value) -> - httpMetric.putAttribute(key, value) - } + attributes.attributes?.forEach { (key, value) -> httpMetric.putAttribute(key, value) } httpMetric.stop() _httpMetrics.remove(handle.toInt()) @@ -150,9 +145,8 @@ class FlutterFirebasePerformancePlugin } } - private fun handleFailure (callback: (Result) -> Unit, exception: Exception?) { - val message = - if (exception != null) exception.message else "An unknown error occurred" + private fun handleFailure(callback: (Result) -> Unit, exception: Exception?) { + val message = if (exception != null) exception.message else "An unknown error occurred" callback(Result.failure(FlutterError("firebase_performance", message, null))) } diff --git a/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/GeneratedAndroidFirebasePerformance.g.kt b/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/GeneratedAndroidFirebasePerformance.g.kt index 666c2379ab10..ce9d86e85190 100644 --- a/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/GeneratedAndroidFirebasePerformance.g.kt +++ b/packages/firebase_performance/firebase_performance/android/src/main/kotlin/io/flutter/plugins/firebase/performance/GeneratedAndroidFirebasePerformance.g.kt @@ -10,12 +10,11 @@ package io.flutter.plugins.firebase.performance import android.util.Log import io.flutter.plugin.common.BasicMessageChannel import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMethodCodec import io.flutter.plugin.common.StandardMessageCodec import java.io.ByteArrayOutputStream import java.nio.ByteBuffer + private object GeneratedAndroidFirebasePerformancePigeonUtils { fun wrapResult(result: Any?): List { @@ -24,19 +23,15 @@ private object GeneratedAndroidFirebasePerformancePigeonUtils { fun wrapError(exception: Throwable): List { return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) + listOf(exception.code, exception.message, exception.details) } else { listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) } } + fun doubleEquals(a: Double, b: Double): Boolean { // Normalize -0.0 to 0.0 and handle NaN equality. return (if (a == 0.0) 0.0 else a) == (if (b == 0.0) 0.0 else b) || (a.isNaN() && b.isNaN()) @@ -180,19 +175,19 @@ private object GeneratedAndroidFirebasePerformancePigeonUtils { else -> value.hashCode() } } - } /** * Error class for passing custom error details to Flutter via a thrown PlatformException. + * * @property code The error code. * @property message The error message. * @property details The error details. Must be a datatype supported by the api codec. */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null +class FlutterError( + val code: String, + override val message: String? = null, + val details: Any? = null ) : RuntimeException() enum class HttpMethod(val raw: Int) { @@ -214,11 +209,7 @@ enum class HttpMethod(val raw: Int) { } /** Generated class from Pigeon that represents data sent in messages. */ -data class HttpMetricOptions ( - val url: String, - val httpMethod: HttpMethod -) - { +data class HttpMetricOptions(val url: String, val httpMethod: HttpMethod) { companion object { fun fromList(pigeonVar_list: List): HttpMetricOptions { val url = pigeonVar_list[0] as String @@ -226,12 +217,14 @@ data class HttpMetricOptions ( return HttpMetricOptions(url, httpMethod) } } + fun toList(): List { return listOf( - url, - httpMethod, + url, + httpMethod, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -240,7 +233,8 @@ data class HttpMetricOptions ( return true } val other = other as HttpMetricOptions - return GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.url, other.url) && GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.httpMethod, other.httpMethod) + return GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.url, other.url) && + GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.httpMethod, other.httpMethod) } override fun hashCode(): Int { @@ -252,14 +246,13 @@ data class HttpMetricOptions ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class HttpMetricAttributes ( - val httpResponseCode: Long? = null, - val requestPayloadSize: Long? = null, - val responsePayloadSize: Long? = null, - val responseContentType: String? = null, - val attributes: Map? = null -) - { +data class HttpMetricAttributes( + val httpResponseCode: Long? = null, + val requestPayloadSize: Long? = null, + val responsePayloadSize: Long? = null, + val responseContentType: String? = null, + val attributes: Map? = null +) { companion object { fun fromList(pigeonVar_list: List): HttpMetricAttributes { val httpResponseCode = pigeonVar_list[0] as Long? @@ -267,18 +260,25 @@ data class HttpMetricAttributes ( val responsePayloadSize = pigeonVar_list[2] as Long? val responseContentType = pigeonVar_list[3] as String? val attributes = pigeonVar_list[4] as Map? - return HttpMetricAttributes(httpResponseCode, requestPayloadSize, responsePayloadSize, responseContentType, attributes) + return HttpMetricAttributes( + httpResponseCode, + requestPayloadSize, + responsePayloadSize, + responseContentType, + attributes) } } + fun toList(): List { return listOf( - httpResponseCode, - requestPayloadSize, - responsePayloadSize, - responseContentType, - attributes, + httpResponseCode, + requestPayloadSize, + responsePayloadSize, + responseContentType, + attributes, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -287,26 +287,40 @@ data class HttpMetricAttributes ( return true } val other = other as HttpMetricAttributes - return GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.httpResponseCode, other.httpResponseCode) && GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.requestPayloadSize, other.requestPayloadSize) && GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.responsePayloadSize, other.responsePayloadSize) && GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.responseContentType, other.responseContentType) && GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.attributes, other.attributes) + return GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals( + this.httpResponseCode, other.httpResponseCode) && + GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals( + this.requestPayloadSize, other.requestPayloadSize) && + GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals( + this.responsePayloadSize, other.responsePayloadSize) && + GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals( + this.responseContentType, other.responseContentType) && + GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.attributes, other.attributes) } override fun hashCode(): Int { var result = javaClass.hashCode() - result = 31 * result + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.httpResponseCode) - result = 31 * result + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.requestPayloadSize) - result = 31 * result + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.responsePayloadSize) - result = 31 * result + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.responseContentType) + result = + 31 * result + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.httpResponseCode) + result = + 31 * result + + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.requestPayloadSize) + result = + 31 * result + + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.responsePayloadSize) + result = + 31 * result + + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.responseContentType) result = 31 * result + GeneratedAndroidFirebasePerformancePigeonUtils.deepHash(this.attributes) return result } } /** Generated class from Pigeon that represents data sent in messages. */ -data class TraceAttributes ( - val metrics: Map? = null, - val attributes: Map? = null -) - { +data class TraceAttributes( + val metrics: Map? = null, + val attributes: Map? = null +) { companion object { fun fromList(pigeonVar_list: List): TraceAttributes { val metrics = pigeonVar_list[0] as Map? @@ -314,12 +328,14 @@ data class TraceAttributes ( return TraceAttributes(metrics, attributes) } } + fun toList(): List { return listOf( - metrics, - attributes, + metrics, + attributes, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -328,7 +344,8 @@ data class TraceAttributes ( return true } val other = other as TraceAttributes - return GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.metrics, other.metrics) && GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.attributes, other.attributes) + return GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.metrics, other.metrics) && + GeneratedAndroidFirebasePerformancePigeonUtils.deepEquals(this.attributes, other.attributes) } override fun hashCode(): Int { @@ -338,33 +355,27 @@ data class TraceAttributes ( return result } } + private open class GeneratedAndroidFirebasePerformancePigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { return when (type) { 129.toByte() -> { - return (readValue(buffer) as Long?)?.let { - HttpMethod.ofRaw(it.toInt()) - } + return (readValue(buffer) as Long?)?.let { HttpMethod.ofRaw(it.toInt()) } } 130.toByte() -> { - return (readValue(buffer) as? List)?.let { - HttpMetricOptions.fromList(it) - } + return (readValue(buffer) as? List)?.let { HttpMetricOptions.fromList(it) } } 131.toByte() -> { - return (readValue(buffer) as? List)?.let { - HttpMetricAttributes.fromList(it) - } + return (readValue(buffer) as? List)?.let { HttpMetricAttributes.fromList(it) } } 132.toByte() -> { - return (readValue(buffer) as? List)?.let { - TraceAttributes.fromList(it) - } + return (readValue(buffer) as? List)?.let { TraceAttributes.fromList(it) } } else -> super.readValueOfType(type, buffer) } } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { when (value) { is HttpMethod -> { stream.write(129) @@ -387,27 +398,45 @@ private open class GeneratedAndroidFirebasePerformancePigeonCodec : StandardMess } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ interface FirebasePerformanceHostApi { fun setPerformanceCollectionEnabled(enabled: Boolean, callback: (Result) -> Unit) + fun isPerformanceCollectionEnabled(callback: (Result) -> Unit) + fun startTrace(name: String, callback: (Result) -> Unit) + fun stopTrace(handle: Long, attributes: TraceAttributes, callback: (Result) -> Unit) + fun startHttpMetric(options: HttpMetricOptions, callback: (Result) -> Unit) - fun stopHttpMetric(handle: Long, attributes: HttpMetricAttributes, callback: (Result) -> Unit) + + fun stopHttpMetric( + handle: Long, + attributes: HttpMetricAttributes, + callback: (Result) -> Unit + ) companion object { /** The codec used by FirebasePerformanceHostApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidFirebasePerformancePigeonCodec() - } - /** Sets up an instance of `FirebasePerformanceHostApi` to handle messages through the `binaryMessenger`. */ + val codec: MessageCodec by lazy { GeneratedAndroidFirebasePerformancePigeonCodec() } + /** + * Sets up an instance of `FirebasePerformanceHostApi` to handle messages through the + * `binaryMessenger`. + */ @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: FirebasePerformanceHostApi?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + fun setUp( + binaryMessenger: BinaryMessenger, + api: FirebasePerformanceHostApi?, + messageChannelSuffix: String = "" + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -426,10 +455,14 @@ interface FirebasePerformanceHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { _, reply -> - api.isPerformanceCollectionEnabled{ result: Result -> + api.isPerformanceCollectionEnabled { result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebasePerformancePigeonUtils.wrapError(error)) @@ -444,7 +477,11 @@ interface FirebasePerformanceHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -464,7 +501,11 @@ interface FirebasePerformanceHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -484,7 +525,11 @@ interface FirebasePerformanceHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -504,7 +549,11 @@ interface FirebasePerformanceHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List diff --git a/packages/firebase_performance/firebase_performance/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt b/packages/firebase_performance/firebase_performance/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt index 57b5fca33169..88c6950b89c7 100644 --- a/packages/firebase_performance/firebase_performance/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt +++ b/packages/firebase_performance/firebase_performance/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.tests import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift index 41a2ebc7f194..7080fb20e94a 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_performance", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-performance", targets: ["firebase_performance"]), + .library(name: "firebase-performance", targets: ["firebase_performance"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-perf\""), ] - ), + ) ] ) diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift index 47f32896fcb5..d0bf9252d08f 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebasePerformanceMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebasePerformanceMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebasePerformanceMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -214,8 +214,8 @@ struct HttpMetricOptions: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebasePerformanceMessages(lhs.url, rhs.url) && - deepEqualsFirebasePerformanceMessages( + return deepEqualsFirebasePerformanceMessages(lhs.url, rhs.url) + && deepEqualsFirebasePerformanceMessages( lhs.httpMethod, rhs.httpMethod ) @@ -267,15 +267,16 @@ struct HttpMetricAttributes: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebasePerformanceMessages(lhs.httpResponseCode, rhs.httpResponseCode) && - deepEqualsFirebasePerformanceMessages( + return deepEqualsFirebasePerformanceMessages(lhs.httpResponseCode, rhs.httpResponseCode) + && deepEqualsFirebasePerformanceMessages( lhs.requestPayloadSize, rhs.requestPayloadSize - ) && deepEqualsFirebasePerformanceMessages( + ) + && deepEqualsFirebasePerformanceMessages( lhs.responsePayloadSize, rhs.responsePayloadSize - ) && - deepEqualsFirebasePerformanceMessages( + ) + && deepEqualsFirebasePerformanceMessages( lhs.responseContentType, rhs.responseContentType ) && deepEqualsFirebasePerformanceMessages(lhs.attributes, rhs.attributes) @@ -318,8 +319,8 @@ struct TraceAttributes: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebasePerformanceMessages(lhs.metrics, rhs.metrics) && - deepEqualsFirebasePerformanceMessages( + return deepEqualsFirebasePerformanceMessages(lhs.metrics, rhs.metrics) + && deepEqualsFirebasePerformanceMessages( lhs.attributes, rhs.attributes ) @@ -392,16 +393,20 @@ class FirebasePerformanceMessagesPigeonCodec: FlutterStandardMessageCodec, @unch /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebasePerformanceHostApi { - func setPerformanceCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) + func setPerformanceCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void) func isPerformanceCollectionEnabled(completion: @escaping (Result) -> Void) func startTrace(name: String, completion: @escaping (Result) -> Void) - func stopTrace(handle: Int64, attributes: TraceAttributes, - completion: @escaping (Result) -> Void) - func startHttpMetric(options: HttpMetricOptions, - completion: @escaping (Result) -> Void) - func stopHttpMetric(handle: Int64, attributes: HttpMetricAttributes, - completion: @escaping (Result) -> Void) + func stopTrace( + handle: Int64, attributes: TraceAttributes, + completion: @escaping (Result) -> Void) + func startHttpMetric( + options: HttpMetricOptions, + completion: @escaping (Result) -> Void) + func stopHttpMetric( + handle: Int64, attributes: HttpMetricAttributes, + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -412,11 +417,14 @@ class FirebasePerformanceHostApiSetup { /// Sets up an instance of `FirebasePerformanceHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebasePerformanceHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebasePerformanceHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let setPerformanceCollectionEnabledChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -428,7 +436,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -437,7 +445,8 @@ class FirebasePerformanceHostApiSetup { setPerformanceCollectionEnabledChannel.setMessageHandler(nil) } let isPerformanceCollectionEnabledChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -445,9 +454,9 @@ class FirebasePerformanceHostApiSetup { isPerformanceCollectionEnabledChannel.setMessageHandler { _, reply in api.isPerformanceCollectionEnabled { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -456,7 +465,8 @@ class FirebasePerformanceHostApiSetup { isPerformanceCollectionEnabledChannel.setMessageHandler(nil) } let startTraceChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -466,9 +476,9 @@ class FirebasePerformanceHostApiSetup { let nameArg = args[0] as! String api.startTrace(name: nameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -477,7 +487,8 @@ class FirebasePerformanceHostApiSetup { startTraceChannel.setMessageHandler(nil) } let stopTraceChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -490,7 +501,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -499,7 +510,8 @@ class FirebasePerformanceHostApiSetup { stopTraceChannel.setMessageHandler(nil) } let startHttpMetricChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -509,9 +521,9 @@ class FirebasePerformanceHostApiSetup { let optionsArg = args[0] as! HttpMetricOptions api.startHttpMetric(options: optionsArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -520,7 +532,8 @@ class FirebasePerformanceHostApiSetup { startHttpMetricChannel.setMessageHandler(nil) } let stopHttpMetricChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -533,7 +546,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift index 6d0ac5c39979..6ce16f0c0929 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebasePerformance + #if canImport(FlutterMacOS) import FlutterMacOS #else @@ -13,14 +15,14 @@ #else import firebase_core_shared #endif -import FirebasePerformance let FirebasePerformanceChannelName = "plugins.flutter.io/firebase_performance" extension FlutterError: Error {} public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePluginProtocol, - FirebasePerformanceHostApi { + FirebasePerformanceHostApi +{ public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { completion() } @@ -58,8 +60,10 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug FirebasePerformanceHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) } - public func setPerformanceCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) { + public func setPerformanceCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void + ) { Performance.sharedInstance().isDataCollectionEnabled = enabled completion(.success(())) } @@ -77,8 +81,10 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(Int64(traceHandle))) } - func stopTrace(handle: Int64, attributes: TraceAttributes, - completion: @escaping (Result) -> Void) { + func stopTrace( + handle: Int64, attributes: TraceAttributes, + completion: @escaping (Result) -> Void + ) { guard let trace = traces[Int(handle)] else { completion(.success(())) return @@ -101,19 +107,23 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func startHttpMetric(options: HttpMetricOptions, - completion: @escaping (Result) -> Void) { + func startHttpMetric( + options: HttpMetricOptions, + completion: @escaping (Result) -> Void + ) { guard let url = URL(string: options.url) else { completion(.failure(FlutterError(code: "invalid-url", message: "Invalid url", details: nil))) return } guard let httpMethod = parseHttpMethod(options.httpMethod) else { - completion(.failure(FlutterError( - code: "invalid-argument", - message: "Invalid httpMethod", - details: nil - ))) + completion( + .failure( + FlutterError( + code: "invalid-argument", + message: "Invalid httpMethod", + details: nil + ))) return } @@ -124,8 +134,10 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(Int64(httpMetricHandle))) } - func stopHttpMetric(handle: Int64, attributes: HttpMetricAttributes, - completion: @escaping (Result) -> Void) { + func stopHttpMetric( + handle: Int64, attributes: HttpMetricAttributes, + completion: @escaping (Result) -> Void + ) { guard let httpMetric = httpMetrics[Int(handle)] else { completion(.success(())) return diff --git a/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FirebaseRemoteConfigPlugin.kt b/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FirebaseRemoteConfigPlugin.kt index 2700a45258cb..e1a3917abda3 100644 --- a/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FirebaseRemoteConfigPlugin.kt +++ b/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FirebaseRemoteConfigPlugin.kt @@ -20,7 +20,6 @@ import com.google.firebase.remoteconfig.FirebaseRemoteConfigFetchThrottledExcept import com.google.firebase.remoteconfig.FirebaseRemoteConfigServerException import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings import com.google.firebase.remoteconfig.FirebaseRemoteConfigValue -import io.flutter.Log import io.flutter.embedding.engine.plugins.FlutterPlugin import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding import io.flutter.plugin.common.BinaryMessenger @@ -30,11 +29,9 @@ import io.flutter.plugins.firebase.core.FlutterFirebasePlugin import io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry import java.util.Objects -/** FirebaseRemoteConfigPlugin */ -class FirebaseRemoteConfigPlugin - - : FlutterFirebasePlugin, FlutterPlugin, - EventChannel.StreamHandler, FirebaseRemoteConfigHostApi { +/** FirebaseRemoteConfigPlugin */ +class FirebaseRemoteConfigPlugin : + FlutterFirebasePlugin, FlutterPlugin, EventChannel.StreamHandler, FirebaseRemoteConfigHostApi { private val listenersMap: MutableMap = HashMap() private var eventChannel: EventChannel? = null @@ -56,8 +53,7 @@ class FirebaseRemoteConfigPlugin try { val remoteConfig = FirebaseRemoteConfig.getInstance(firebaseApp) val configProperties = getConfigProperties(remoteConfig) - val configValues: MutableMap = - HashMap(configProperties) + val configValues: MutableMap = HashMap(configProperties) configValues["parameters"] = parseParameters(remoteConfig.all) taskCompletionSource.setResult(configValues) @@ -73,7 +69,7 @@ class FirebaseRemoteConfigPlugin val configProperties: MutableMap = HashMap() configProperties["fetchTimeout"] = remoteConfig.info.configSettings.fetchTimeoutInSeconds configProperties["minimumFetchInterval"] = - remoteConfig.info.configSettings.minimumFetchIntervalInSeconds + remoteConfig.info.configSettings.minimumFetchIntervalInSeconds configProperties["lastFetchTime"] = remoteConfig.info.fetchTimeMillis configProperties["lastFetchStatus"] = mapLastFetchStatus(remoteConfig.info.lastFetchStatus) return configProperties @@ -96,10 +92,7 @@ class FirebaseRemoteConfigPlugin private fun setupChannel(messenger: BinaryMessenger) { FirebaseRemoteConfigHostApi.setUp(messenger, this) - FlutterFirebasePluginRegistry.registerPlugin( - METHOD_CHANNEL, - this - ) + FlutterFirebasePluginRegistry.registerPlugin(METHOD_CHANNEL, this) eventChannel = EventChannel(messenger, EVENT_CHANNEL) eventChannel!!.setStreamHandler(this) @@ -122,7 +115,8 @@ class FirebaseRemoteConfigPlugin } private fun setCustomSignals( - remoteConfig: FirebaseRemoteConfig, customSignalsArguments: Map + remoteConfig: FirebaseRemoteConfig, + customSignalsArguments: Map ): Task { val taskCompletionSource = TaskCompletionSource() FlutterFirebasePlugin.cachedThreadPool.execute { @@ -150,18 +144,18 @@ class FirebaseRemoteConfigPlugin return taskCompletionSource.task } - private fun parseParameters(parameters: Map): Map { + private fun parseParameters( + parameters: Map + ): Map { val parsedParameters: MutableMap = HashMap() for (key in parameters.keys) { - parsedParameters[key] = createRemoteConfigValueMap( - parameters[key]!! - ) + parsedParameters[key] = createRemoteConfigValueMap(parameters[key]!!) } return parsedParameters } private fun createRemoteConfigValueMap( - remoteConfigValue: FirebaseRemoteConfigValue + remoteConfigValue: FirebaseRemoteConfigValue ): Map { val valueMap: MutableMap = HashMap() valueMap["value"] = remoteConfigValue.asByteArray() @@ -193,23 +187,24 @@ class FirebaseRemoteConfigPlugin val appName = Objects.requireNonNull(argumentsMap["appName"]) as String val remoteConfig = getRemoteConfig(appName) - listenersMap[appName] = remoteConfig.addOnConfigUpdateListener( - object : ConfigUpdateListener { - override fun onUpdate(configUpdate: ConfigUpdate) { - val updatedKeys = ArrayList(configUpdate.updatedKeys) - mainThreadHandler.post { events.success(updatedKeys) } - } - - override fun onError(error: FirebaseRemoteConfigException) { - events.error("firebase_remote_config", error.message, null) - } - }) + listenersMap[appName] = + remoteConfig.addOnConfigUpdateListener( + object : ConfigUpdateListener { + override fun onUpdate(configUpdate: ConfigUpdate) { + val updatedKeys = ArrayList(configUpdate.updatedKeys) + mainThreadHandler.post { events.success(updatedKeys) } + } + + override fun onError(error: FirebaseRemoteConfigException) { + events.error("firebase_remote_config", error.message, null) + } + }) } override fun onCancel(arguments: Any?) { - // arguments will be null on hot restart, so we will clean up listeners in didReinitializeFirebaseCore() - val argumentsMap = arguments as? Map - ?: return + // arguments will be null on hot restart, so we will clean up listeners in + // didReinitializeFirebaseCore() + val argumentsMap = arguments as? Map ?: return val appName = Objects.requireNonNull(argumentsMap["appName"]) as String val listener = listenersMap[appName] @@ -219,7 +214,7 @@ class FirebaseRemoteConfigPlugin } } - /** Remove all registered listeners. */ + /** Remove all registered listeners. */ private fun removeEventListeners() { for (listener in listenersMap.values) { listener.remove() @@ -227,9 +222,8 @@ class FirebaseRemoteConfigPlugin listenersMap.clear() } - private fun handleFailure (callback: (Result) -> Unit, exception: Exception?) { - val details: MutableMap = - HashMap() + private fun handleFailure(callback: (Result) -> Unit, exception: Exception?) { + val details: MutableMap = HashMap() if (exception is FirebaseRemoteConfigFetchThrottledException) { details["code"] = "throttled" details["message"] = "frequency of requests exceeds throttled limits" @@ -252,9 +246,7 @@ class FirebaseRemoteConfigPlugin details["code"] = "unknown" details["message"] = "unknown remote config error" } - callback(Result.failure(FlutterError( "firebase_remote_config", - exception?.message, - details))) + callback(Result.failure(FlutterError("firebase_remote_config", exception?.message, details))) } companion object { @@ -265,10 +257,9 @@ class FirebaseRemoteConfigPlugin override fun fetch(appName: String, callback: (Result) -> Unit) { getRemoteConfig(appName).fetch().addOnCompleteListener { task -> - if(task.isSuccessful){ + if (task.isSuccessful) { callback(Result.success(Unit)) - } - else { + } else { handleFailure(callback, task.exception) } } @@ -276,10 +267,9 @@ class FirebaseRemoteConfigPlugin override fun fetchAndActivate(appName: String, callback: (Result) -> Unit) { getRemoteConfig(appName).fetchAndActivate().addOnCompleteListener { task -> - if(task.isSuccessful){ + if (task.isSuccessful) { callback(Result.success(task.result)) - } - else { + } else { handleFailure(callback, task.exception) } } @@ -287,43 +277,42 @@ class FirebaseRemoteConfigPlugin override fun activate(appName: String, callback: (Result) -> Unit) { getRemoteConfig(appName).activate().addOnCompleteListener { task -> - if(task.isSuccessful){ + if (task.isSuccessful) { callback(Result.success(task.result)) - } - else { + } else { handleFailure(callback, task.exception) } } } override fun setConfigSettings( - appName: String, - settings: RemoteConfigPigeonSettings, - callback: (Result) -> Unit + appName: String, + settings: RemoteConfigPigeonSettings, + callback: (Result) -> Unit ) { val configSettings = - FirebaseRemoteConfigSettings.Builder() - .setFetchTimeoutInSeconds(settings.fetchTimeoutSeconds) - .setMinimumFetchIntervalInSeconds(settings.minimumFetchIntervalSeconds) - .build() + FirebaseRemoteConfigSettings.Builder() + .setFetchTimeoutInSeconds(settings.fetchTimeoutSeconds) + .setMinimumFetchIntervalInSeconds(settings.minimumFetchIntervalSeconds) + .build() getRemoteConfig(appName).setConfigSettingsAsync(configSettings).addOnCompleteListener { task -> - if(task.isSuccessful){ + if (task.isSuccessful) { callback(Result.success(Unit)) - } - else { + } else { handleFailure(callback, task.exception) } } } - override fun setDefaults(appName: String, defaultParameters: Map, callback: (Result) -> Unit) { - getRemoteConfig( - appName - ).setDefaultsAsync(defaultParameters).addOnCompleteListener { task -> - if(task.isSuccessful){ + override fun setDefaults( + appName: String, + defaultParameters: Map, + callback: (Result) -> Unit + ) { + getRemoteConfig(appName).setDefaultsAsync(defaultParameters).addOnCompleteListener { task -> + if (task.isSuccessful) { callback(Result.success(Unit)) - } - else { + } else { handleFailure(callback, task.exception) } } @@ -331,22 +320,24 @@ class FirebaseRemoteConfigPlugin override fun ensureInitialized(appName: String, callback: (Result) -> Unit) { getRemoteConfig(appName).ensureInitialized().addOnCompleteListener { task -> - if(task.isSuccessful){ + if (task.isSuccessful) { callback(Result.success(Unit)) - } - else { + } else { handleFailure(callback, task.exception) } } } - override fun setCustomSignals(appName: String, customSignals: Map, callback: (Result) -> Unit) { + override fun setCustomSignals( + appName: String, + customSignals: Map, + callback: (Result) -> Unit + ) { val remoteConfig = getRemoteConfig(appName) - setCustomSignals(remoteConfig, customSignals).addOnCompleteListener {task-> - if(task.isSuccessful){ + setCustomSignals(remoteConfig, customSignals).addOnCompleteListener { task -> + if (task.isSuccessful) { callback(Result.success(Unit)) - } - else { + } else { handleFailure(callback, task.exception) } } @@ -357,10 +348,7 @@ class FirebaseRemoteConfigPlugin callback(Result.success(parseParameters(remoteConfig.all))) } - override fun getProperties( - appName: String, - callback: (Result>) -> Unit - ) { + override fun getProperties(appName: String, callback: (Result>) -> Unit) { val remoteConfig = getRemoteConfig(appName) val configProperties = getConfigProperties(remoteConfig) callback(Result.success(configProperties)) diff --git a/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FlutterFirebaseAppRegistrar.kt b/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FlutterFirebaseAppRegistrar.kt index d758db99adda..e343fc60d5d1 100644 --- a/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FlutterFirebaseAppRegistrar.kt +++ b/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/FlutterFirebaseAppRegistrar.kt @@ -12,7 +12,6 @@ import com.google.firebase.platforminfo.LibraryVersionComponent class FlutterFirebaseAppRegistrar : ComponentRegistrar { override fun getComponents(): List> { return listOf( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) - ) + LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)) } } diff --git a/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/GeneratedAndroidFirebaseRemoteConfig.g.kt b/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/GeneratedAndroidFirebaseRemoteConfig.g.kt index 4a3d096eafdc..840d3090a3bc 100644 --- a/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/GeneratedAndroidFirebaseRemoteConfig.g.kt +++ b/packages/firebase_remote_config/firebase_remote_config/android/src/main/kotlin/io/flutter/plugins/firebase/firebaseremoteconfig/GeneratedAndroidFirebaseRemoteConfig.g.kt @@ -10,12 +10,11 @@ package io.flutter.plugins.firebase.firebaseremoteconfig import android.util.Log import io.flutter.plugin.common.BasicMessageChannel import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMethodCodec import io.flutter.plugin.common.StandardMessageCodec import java.io.ByteArrayOutputStream import java.nio.ByteBuffer + private object GeneratedAndroidFirebaseRemoteConfigPigeonUtils { fun wrapResult(result: Any?): List { @@ -24,19 +23,15 @@ private object GeneratedAndroidFirebaseRemoteConfigPigeonUtils { fun wrapError(exception: Throwable): List { return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) + listOf(exception.code, exception.message, exception.details) } else { listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) } } + fun doubleEquals(a: Double, b: Double): Boolean { // Normalize -0.0 to 0.0 and handle NaN equality. return (if (a == 0.0) 0.0 else a) == (if (b == 0.0) 0.0 else b) || (a.isNaN() && b.isNaN()) @@ -180,27 +175,26 @@ private object GeneratedAndroidFirebaseRemoteConfigPigeonUtils { else -> value.hashCode() } } - } /** * Error class for passing custom error details to Flutter via a thrown PlatformException. + * * @property code The error code. * @property message The error message. * @property details The error details. Must be a datatype supported by the api codec. */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null +class FlutterError( + val code: String, + override val message: String? = null, + val details: Any? = null ) : RuntimeException() /** Generated class from Pigeon that represents data sent in messages. */ -data class RemoteConfigPigeonSettings ( - val fetchTimeoutSeconds: Long, - val minimumFetchIntervalSeconds: Long -) - { +data class RemoteConfigPigeonSettings( + val fetchTimeoutSeconds: Long, + val minimumFetchIntervalSeconds: Long +) { companion object { fun fromList(pigeonVar_list: List): RemoteConfigPigeonSettings { val fetchTimeoutSeconds = pigeonVar_list[0] as Long @@ -208,12 +202,14 @@ data class RemoteConfigPigeonSettings ( return RemoteConfigPigeonSettings(fetchTimeoutSeconds, minimumFetchIntervalSeconds) } } + fun toList(): List { return listOf( - fetchTimeoutSeconds, - minimumFetchIntervalSeconds, + fetchTimeoutSeconds, + minimumFetchIntervalSeconds, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -222,28 +218,36 @@ data class RemoteConfigPigeonSettings ( return true } val other = other as RemoteConfigPigeonSettings - return GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepEquals(this.fetchTimeoutSeconds, other.fetchTimeoutSeconds) && GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepEquals(this.minimumFetchIntervalSeconds, other.minimumFetchIntervalSeconds) + return GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepEquals( + this.fetchTimeoutSeconds, other.fetchTimeoutSeconds) && + GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepEquals( + this.minimumFetchIntervalSeconds, other.minimumFetchIntervalSeconds) } override fun hashCode(): Int { var result = javaClass.hashCode() - result = 31 * result + GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepHash(this.fetchTimeoutSeconds) - result = 31 * result + GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepHash(this.minimumFetchIntervalSeconds) + result = + 31 * result + + GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepHash(this.fetchTimeoutSeconds) + result = + 31 * result + + GeneratedAndroidFirebaseRemoteConfigPigeonUtils.deepHash( + this.minimumFetchIntervalSeconds) return result } } + private open class GeneratedAndroidFirebaseRemoteConfigPigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { return when (type) { 129.toByte() -> { - return (readValue(buffer) as? List)?.let { - RemoteConfigPigeonSettings.fromList(it) - } + return (readValue(buffer) as? List)?.let { RemoteConfigPigeonSettings.fromList(it) } } else -> super.readValueOfType(type, buffer) } } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { when (value) { is RemoteConfigPigeonSettings -> { stream.write(129) @@ -254,30 +258,59 @@ private open class GeneratedAndroidFirebaseRemoteConfigPigeonCodec : StandardMes } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ interface FirebaseRemoteConfigHostApi { fun fetch(appName: String, callback: (Result) -> Unit) + fun fetchAndActivate(appName: String, callback: (Result) -> Unit) + fun activate(appName: String, callback: (Result) -> Unit) - fun setConfigSettings(appName: String, settings: RemoteConfigPigeonSettings, callback: (Result) -> Unit) - fun setDefaults(appName: String, defaultParameters: Map, callback: (Result) -> Unit) + + fun setConfigSettings( + appName: String, + settings: RemoteConfigPigeonSettings, + callback: (Result) -> Unit + ) + + fun setDefaults( + appName: String, + defaultParameters: Map, + callback: (Result) -> Unit + ) + fun ensureInitialized(appName: String, callback: (Result) -> Unit) - fun setCustomSignals(appName: String, customSignals: Map, callback: (Result) -> Unit) + + fun setCustomSignals( + appName: String, + customSignals: Map, + callback: (Result) -> Unit + ) + fun getAll(appName: String, callback: (Result>) -> Unit) + fun getProperties(appName: String, callback: (Result>) -> Unit) companion object { /** The codec used by FirebaseRemoteConfigHostApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidFirebaseRemoteConfigPigeonCodec() - } - /** Sets up an instance of `FirebaseRemoteConfigHostApi` to handle messages through the `binaryMessenger`. */ + val codec: MessageCodec by lazy { GeneratedAndroidFirebaseRemoteConfigPigeonCodec() } + /** + * Sets up an instance of `FirebaseRemoteConfigHostApi` to handle messages through the + * `binaryMessenger`. + */ @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: FirebaseRemoteConfigHostApi?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + fun setUp( + binaryMessenger: BinaryMessenger, + api: FirebaseRemoteConfigHostApi?, + messageChannelSuffix: String = "" + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -296,7 +329,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -316,7 +353,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -336,7 +377,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -356,7 +401,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -376,7 +425,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -395,7 +448,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -415,7 +472,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -435,7 +496,11 @@ interface FirebaseRemoteConfigHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List diff --git a/packages/firebase_remote_config/firebase_remote_config/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/remoteconfig/example/MainActivity.kt b/packages/firebase_remote_config/firebase_remote_config/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/remoteconfig/example/MainActivity.kt index f93b81d6fbde..30304afd1029 100644 --- a/packages/firebase_remote_config/firebase_remote_config/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/remoteconfig/example/MainActivity.kt +++ b/packages/firebase_remote_config/firebase_remote_config/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/remoteconfig/example/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebase.remoteconfig.example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift index 80dab6140218..7e67689f3a68 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_remote_config", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]), + .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift index 15be7c5b33a7..f7b031c0c6e3 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseRemoteConfigMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseRemoteConfigMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseRemoteConfigMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -205,8 +205,8 @@ struct RemoteConfigPigeonSettings: Hashable { return deepEqualsFirebaseRemoteConfigMessages( lhs.fetchTimeoutSeconds, rhs.fetchTimeoutSeconds - ) && - deepEqualsFirebaseRemoteConfigMessages( + ) + && deepEqualsFirebaseRemoteConfigMessages( lhs.minimumFetchIntervalSeconds, rhs.minimumFetchIntervalSeconds ) @@ -263,13 +263,16 @@ protocol FirebaseRemoteConfigHostApi { func fetch(appName: String, completion: @escaping (Result) -> Void) func fetchAndActivate(appName: String, completion: @escaping (Result) -> Void) func activate(appName: String, completion: @escaping (Result) -> Void) - func setConfigSettings(appName: String, settings: RemoteConfigPigeonSettings, - completion: @escaping (Result) -> Void) - func setDefaults(appName: String, defaultParameters: [String: Any?], - completion: @escaping (Result) -> Void) + func setConfigSettings( + appName: String, settings: RemoteConfigPigeonSettings, + completion: @escaping (Result) -> Void) + func setDefaults( + appName: String, defaultParameters: [String: Any?], + completion: @escaping (Result) -> Void) func ensureInitialized(appName: String, completion: @escaping (Result) -> Void) - func setCustomSignals(appName: String, customSignals: [String: Any?], - completion: @escaping (Result) -> Void) + func setCustomSignals( + appName: String, customSignals: [String: Any?], + completion: @escaping (Result) -> Void) func getAll(appName: String, completion: @escaping (Result<[String: Any?], Error>) -> Void) func getProperties(appName: String, completion: @escaping (Result<[String: Any], Error>) -> Void) } @@ -282,11 +285,14 @@ class FirebaseRemoteConfigHostApiSetup { /// Sets up an instance of `FirebaseRemoteConfigHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseRemoteConfigHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseRemoteConfigHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let fetchChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -298,7 +304,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -307,7 +313,8 @@ class FirebaseRemoteConfigHostApiSetup { fetchChannel.setMessageHandler(nil) } let fetchAndActivateChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -317,9 +324,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.fetchAndActivate(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -328,7 +335,8 @@ class FirebaseRemoteConfigHostApiSetup { fetchAndActivateChannel.setMessageHandler(nil) } let activateChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -338,9 +346,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.activate(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -349,7 +357,8 @@ class FirebaseRemoteConfigHostApiSetup { activateChannel.setMessageHandler(nil) } let setConfigSettingsChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -362,7 +371,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -371,7 +380,8 @@ class FirebaseRemoteConfigHostApiSetup { setConfigSettingsChannel.setMessageHandler(nil) } let setDefaultsChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -384,7 +394,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -393,7 +403,8 @@ class FirebaseRemoteConfigHostApiSetup { setDefaultsChannel.setMessageHandler(nil) } let ensureInitializedChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -405,7 +416,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -414,7 +425,8 @@ class FirebaseRemoteConfigHostApiSetup { ensureInitializedChannel.setMessageHandler(nil) } let setCustomSignalsChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -427,7 +439,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -436,7 +448,8 @@ class FirebaseRemoteConfigHostApiSetup { setCustomSignalsChannel.setMessageHandler(nil) } let getAllChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -446,9 +459,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.getAll(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -457,7 +470,8 @@ class FirebaseRemoteConfigHostApiSetup { getAllChannel.setMessageHandler(nil) } let getPropertiesChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -467,9 +481,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.getProperties(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift index 10a80253147c..aa923738980a 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import FirebaseRemoteConfig + #if canImport(FlutterMacOS) import FlutterMacOS #else @@ -13,7 +15,6 @@ #else import firebase_core_shared #endif -import FirebaseRemoteConfig let kFirebaseRemoteConfigChannelName = "plugins.flutter.io/firebase_remote_config" let kFirebaseRemoteConfigUpdatedChannelName = "plugins.flutter.io/firebase_remote_config_updated" @@ -21,7 +22,8 @@ let kFirebaseRemoteConfigUpdatedChannelName = "plugins.flutter.io/firebase_remot extension FlutterError: Error {} public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamHandler, - FLTFirebasePluginProtocol, FirebaseRemoteConfigHostApi { + FLTFirebasePluginProtocol, FirebaseRemoteConfigHostApi +{ private var listenersMap: [String: ConfigUpdateListenerRegistration] = [:] private var fetchAndActivateRetry = false @@ -106,8 +108,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } } - func setConfigSettings(appName: String, settings: RemoteConfigPigeonSettings, - completion: @escaping (Result) -> Void) { + func setConfigSettings( + appName: String, settings: RemoteConfigPigeonSettings, + completion: @escaping (Result) -> Void + ) { let fetchTimeout = settings.fetchTimeoutSeconds let minFetchInterval = settings.minimumFetchIntervalSeconds let configSettings = RemoteConfigSettings() @@ -117,8 +121,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH completion(.success(())) } - func setDefaults(appName: String, defaultParameters: [String: Any?], - completion: @escaping (Result) -> Void) { + func setDefaults( + appName: String, defaultParameters: [String: Any?], + completion: @escaping (Result) -> Void + ) { var filtered: [String: NSObject] = [:] for (key, value) in defaultParameters { @@ -141,8 +147,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } } - func setCustomSignals(appName: String, customSignals: [String: Any?], - completion: @escaping (Result) -> Void) { + func setCustomSignals( + appName: String, customSignals: [String: Any?], + completion: @escaping (Result) -> Void + ) { let signalValues = convertToCustomSignalValues(customSignals) Task { do { @@ -171,8 +179,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH completion(.success(parameters)) } - func getProperties(appName: String, - completion: @escaping (Result<[String: Any], any Error>) -> Void) { + func getProperties( + appName: String, + completion: @escaping (Result<[String: Any], any Error>) -> Void + ) { let config = getRemoteConfig(from: appName) completion(.success(configProperties(for: config))) } @@ -189,8 +199,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH kFirebaseRemoteConfigChannelName } - public func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + public func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { guard let args = arguments as? [String: Any], let appName = args["appName"] as? String else { return nil } @@ -236,7 +248,8 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } private func createRemoteConfigValueDict(_ remoteConfigValue: RemoteConfigValue) - -> [String: Any] { + -> [String: Any] + { [ "value": FlutterStandardTypedData(bytes: remoteConfigValue.dataValue), "source": mapSource(remoteConfigValue.source), diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift index 983987589c41..45065769736b 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift @@ -11,7 +11,8 @@ class FLTFirebaseRemoteConfigUtils { switch error.code { case RemoteConfigError.internalError.rawValue: if let description = error.userInfo[NSLocalizedDescriptionKey] as? String, - description.contains("403") { + description.contains("403") + { // See PR for details: https://github.com/firebase/flutterfire/pull/9629 codeAndMessage["code"] = "forbidden" let updateMessage = @@ -19,7 +20,8 @@ class FLTFirebaseRemoteConfigUtils { codeAndMessage["message"] = updateMessage } else { codeAndMessage["code"] = "internal" - codeAndMessage["message"] = error + codeAndMessage["message"] = + error .userInfo[NSLocalizedDescriptionKey] as? String ?? "Internal error" } diff --git a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift index 39778eadf02f..1bb9bdce7a0d 100644 --- a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift @@ -12,10 +12,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_remote_config", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]), + .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseAppRegistrar.kt b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseAppRegistrar.kt index 424f5d7c8ffb..3b59c3d7c919 100644 --- a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseAppRegistrar.kt +++ b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseAppRegistrar.kt @@ -14,9 +14,6 @@ import com.google.firebase.platforminfo.LibraryVersionComponent class FlutterFirebaseAppRegistrar : ComponentRegistrar { override fun getComponents(): List> { return listOf( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) - ) + LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)) } } - - diff --git a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageException.kt b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageException.kt index db671035ee96..50cb7ce1d949 100644 --- a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageException.kt +++ b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageException.kt @@ -12,11 +12,7 @@ internal object FlutterFirebaseStorageException { @JvmStatic fun parserExceptionToFlutter(@Nullable nativeException: Exception?): FlutterError { if (nativeException == null) { - return FlutterError( - "UNKNOWN", - "An unknown error occurred", - null - ) + return FlutterError("UNKNOWN", "An unknown error occurred", null) } var code = "UNKNOWN" @@ -55,16 +51,19 @@ internal object FlutterFirebaseStorageException { StorageException.ERROR_OBJECT_NOT_FOUND -> "No object exists at the desired reference." StorageException.ERROR_BUCKET_NOT_FOUND -> "No bucket is configured for Firebase Storage." StorageException.ERROR_PROJECT_NOT_FOUND -> "No project is configured for Firebase Storage." - StorageException.ERROR_QUOTA_EXCEEDED -> "Quota on your Firebase Storage bucket has been exceeded." - StorageException.ERROR_NOT_AUTHENTICATED -> "User is unauthenticated. Authenticate and try again." - StorageException.ERROR_NOT_AUTHORIZED -> "User is not authorized to perform the desired action." - StorageException.ERROR_RETRY_LIMIT_EXCEEDED -> "The maximum time limit on an operation (upload, download, delete, etc.) has been exceeded." - StorageException.ERROR_INVALID_CHECKSUM -> "File on the client does not match the checksum of the file received by the server." + StorageException.ERROR_QUOTA_EXCEEDED -> + "Quota on your Firebase Storage bucket has been exceeded." + StorageException.ERROR_NOT_AUTHENTICATED -> + "User is unauthenticated. Authenticate and try again." + StorageException.ERROR_NOT_AUTHORIZED -> + "User is not authorized to perform the desired action." + StorageException.ERROR_RETRY_LIMIT_EXCEEDED -> + "The maximum time limit on an operation (upload, download, delete, etc.) has been exceeded." + StorageException.ERROR_INVALID_CHECKSUM -> + "File on the client does not match the checksum of the file received by the server." StorageException.ERROR_CANCELED -> "User cancelled the operation." StorageException.ERROR_UNKNOWN -> "An unknown error occurred" else -> "An unknown error occurred" } } } - - diff --git a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStoragePlugin.kt b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStoragePlugin.kt index 466c44c98220..8a632ceb75f2 100644 --- a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStoragePlugin.kt +++ b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStoragePlugin.kt @@ -7,8 +7,6 @@ package io.flutter.plugins.firebase.storage import android.net.Uri import android.util.Base64 -import androidx.annotation.NonNull -import androidx.annotation.Nullable import com.google.android.gms.tasks.Task import com.google.android.gms.tasks.TaskCompletionSource import com.google.firebase.FirebaseApp @@ -53,7 +51,11 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb this.messenger = messenger } - private fun registerEventChannel(prefix: String, identifier: String, handler: StreamHandler): String { + private fun registerEventChannel( + prefix: String, + identifier: String, + handler: StreamHandler + ): String { val channelName = "$prefix/$identifier" val channel = EventChannel(messenger, channelName) channel.setStreamHandler(handler) @@ -87,8 +89,8 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } private fun getReferenceFromPigeon( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference + app: InternalStorageFirebaseApp, + reference: InternalStorageReference ): StorageReference { val androidStorage = getStorageFromPigeon(app) return androidStorage.getReference(reference.fullPath) @@ -96,10 +98,7 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb private fun convertToPigeonReference(reference: StorageReference): InternalStorageReference { return InternalStorageReference( - bucket = reference.bucket, - fullPath = reference.path, - name = reference.name - ) + bucket = reference.bucket, fullPath = reference.path, name = reference.name) } private fun convertToPigeonMetaData(storageMetadata: StorageMetadata?): InternalFullMetaData { @@ -112,14 +111,18 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb return InternalListResult(items = items, pageToken = listResult.pageToken, prefixs = prefixes) } - private fun getMetaDataFromPigeon(pigeonSettableMetatdata: InternalSettableMetadata): StorageMetadata { + private fun getMetaDataFromPigeon( + pigeonSettableMetatdata: InternalSettableMetadata + ): StorageMetadata { val builder = StorageMetadata.Builder() pigeonSettableMetatdata.contentType?.let { builder.setContentType(it) } pigeonSettableMetatdata.cacheControl?.let { builder.setCacheControl(it) } pigeonSettableMetatdata.contentDisposition?.let { builder.setContentDisposition(it) } pigeonSettableMetatdata.contentEncoding?.let { builder.setContentEncoding(it) } pigeonSettableMetatdata.contentLanguage?.let { builder.setContentLanguage(it) } - pigeonSettableMetatdata.customMetadata?.forEach { (k, v) -> if (k != null && v != null) builder.setCustomMetadata(k, v) } + pigeonSettableMetatdata.customMetadata?.forEach { (k, v) -> + if (k != null && v != null) builder.setCustomMetadata(k, v) + } return builder.build() } @@ -132,20 +135,20 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } override fun getReferencebyPath( - app: InternalStorageFirebaseApp, - path: String, - bucket: String?, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + path: String, + bucket: String?, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(path) callback(Result.success(convertToPigeonReference(androidReference))) } override fun useStorageEmulator( - app: InternalStorageFirebaseApp, - host: String, - port: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + host: String, + port: Long, + callback: (Result) -> Unit ) { try { val storage = getStorageFromPigeon(app) @@ -157,185 +160,223 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } override fun referenceDelete( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(reference.fullPath) androidReference.delete().addOnCompleteListener { task -> if (task.isSuccessful) callback(Result.success(Unit)) - else callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) + else + callback( + Result.failure( + FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) } } override fun referenceGetDownloadURL( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(reference.fullPath) androidReference.downloadUrl.addOnCompleteListener { task -> if (task.isSuccessful) callback(Result.success(task.result.toString())) - else callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) + else + callback( + Result.failure( + FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) } } override fun referenceGetData( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - maxSize: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + maxSize: Long, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(reference.fullPath) androidReference.getBytes(maxSize).addOnCompleteListener { task -> if (task.isSuccessful) callback(Result.success(task.result)) - else callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) + else + callback( + Result.failure( + FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) } } override fun referenceGetMetaData( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(reference.fullPath) androidReference.metadata.addOnCompleteListener { task -> if (task.isSuccessful) callback(Result.success(convertToPigeonMetaData(task.result))) - else callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) + else + callback( + Result.failure( + FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) } } override fun referenceList( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - options: InternalListOptions, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + options: InternalListOptions, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(reference.fullPath) - val task = if (options.pageToken != null) { - androidReference.list(options.maxResults.toInt(), options.pageToken) - } else { - androidReference.list(options.maxResults.toInt()) - } + val task = + if (options.pageToken != null) { + androidReference.list(options.maxResults.toInt(), options.pageToken) + } else { + androidReference.list(options.maxResults.toInt()) + } task.addOnCompleteListener { t -> if (t.isSuccessful) callback(Result.success(convertToPigeonListResult(t.result))) - else callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(t.exception))) + else + callback( + Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(t.exception))) } } override fun referenceListAll( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(reference.fullPath) androidReference.listAll().addOnCompleteListener { task -> if (task.isSuccessful) callback(Result.success(convertToPigeonListResult(task.result))) - else callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) + else + callback( + Result.failure( + FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) } } override fun referenceUpdateMetadata( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - metadata: InternalSettableMetadata, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + metadata: InternalSettableMetadata, + callback: (Result) -> Unit ) { val androidReference = getStorageFromPigeon(app).getReference(reference.fullPath) androidReference.updateMetadata(getMetaDataFromPigeon(metadata)).addOnCompleteListener { task -> if (task.isSuccessful) callback(Result.success(convertToPigeonMetaData(task.result))) - else callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) + else + callback( + Result.failure( + FlutterFirebaseStorageException.parserExceptionToFlutter(task.exception))) } } override fun referencePutData( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - data: ByteArray, - settableMetaData: InternalSettableMetadata, - handle: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + data: ByteArray, + settableMetaData: InternalSettableMetadata, + handle: Long, + callback: (Result) -> Unit ) { val androidReference = getReferenceFromPigeon(app, reference) val androidMetaData = getMetaDataFromPigeon(settableMetaData) - val storageTask = FlutterFirebaseStorageTask.uploadBytes(handle.toInt(), androidReference, data, androidMetaData) + val storageTask = + FlutterFirebaseStorageTask.uploadBytes( + handle.toInt(), androidReference, data, androidMetaData) try { val identifier = UUID.randomUUID().toString().lowercase(Locale.US) val handler = storageTask.startTaskWithMethodChannel(channel!!, identifier) - callback(Result.success(registerEventChannel("$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) + callback( + Result.success( + registerEventChannel( + "$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) } catch (e: Exception) { callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(e))) } } override fun referencePutString( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - data: String, - format: Long, - settableMetaData: InternalSettableMetadata, - handle: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + data: String, + format: Long, + settableMetaData: InternalSettableMetadata, + handle: Long, + callback: (Result) -> Unit ) { val androidReference = getReferenceFromPigeon(app, reference) val androidMetaData = getMetaDataFromPigeon(settableMetaData) val bytes = stringToByteData(data, format.toInt()) - val storageTask = FlutterFirebaseStorageTask.uploadBytes(handle.toInt(), androidReference, bytes!!, androidMetaData) + val storageTask = + FlutterFirebaseStorageTask.uploadBytes( + handle.toInt(), androidReference, bytes!!, androidMetaData) try { val identifier = UUID.randomUUID().toString().lowercase(Locale.US) val handler = storageTask.startTaskWithMethodChannel(channel!!, identifier) - callback(Result.success(registerEventChannel("$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) + callback( + Result.success( + registerEventChannel( + "$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) } catch (e: Exception) { callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(e))) } } override fun referencePutFile( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - filePath: String, - settableMetaData: InternalSettableMetadata?, - handle: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + filePath: String, + settableMetaData: InternalSettableMetadata?, + handle: Long, + callback: (Result) -> Unit ) { val androidReference = getReferenceFromPigeon(app, reference) - val storageTask = FlutterFirebaseStorageTask.uploadFile( - handle.toInt(), - androidReference, - Uri.fromFile(File(filePath)), - settableMetaData?.let { getMetaDataFromPigeon(it) } - ) + val storageTask = + FlutterFirebaseStorageTask.uploadFile( + handle.toInt(), + androidReference, + Uri.fromFile(File(filePath)), + settableMetaData?.let { getMetaDataFromPigeon(it) }) try { val identifier = UUID.randomUUID().toString().lowercase(Locale.US) val handler = storageTask.startTaskWithMethodChannel(channel!!, identifier) - callback(Result.success(registerEventChannel("$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) + callback( + Result.success( + registerEventChannel( + "$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) } catch (e: Exception) { callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(e))) } } override fun referenceDownloadFile( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference, - filePath: String, - handle: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + filePath: String, + handle: Long, + callback: (Result) -> Unit ) { val androidReference = getReferenceFromPigeon(app, reference) - val storageTask = FlutterFirebaseStorageTask.downloadFile(handle.toInt(), androidReference, File(filePath)) + val storageTask = + FlutterFirebaseStorageTask.downloadFile(handle.toInt(), androidReference, File(filePath)) try { val identifier = UUID.randomUUID().toString().lowercase(Locale.US) val handler = storageTask.startTaskWithMethodChannel(channel!!, identifier) - callback(Result.success(registerEventChannel("$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) + callback( + Result.success( + registerEventChannel( + "$STORAGE_METHOD_CHANNEL_NAME/$STORAGE_TASK_EVENT_NAME", identifier, handler))) } catch (e: Exception) { callback(Result.failure(FlutterFirebaseStorageException.parserExceptionToFlutter(e))) } } override fun taskPause( - app: InternalStorageFirebaseApp, - handle: Long, - callback: (Result>) -> Unit + app: InternalStorageFirebaseApp, + handle: Long, + callback: (Result>) -> Unit ) { val storageTask = FlutterFirebaseStorageTask.getInProgressTaskForHandle(handle.toInt()) if (storageTask == null) { @@ -352,7 +393,8 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb val statusMap = HashMap() statusMap["status"] = paused if (paused) { - statusMap["snapshot"] = FlutterFirebaseStorageTask.parseTaskSnapshot(storageTask.getSnapshot()) + statusMap["snapshot"] = + FlutterFirebaseStorageTask.parseTaskSnapshot(storageTask.getSnapshot()) } callback(Result.success(statusMap)) } catch (e: Exception) { @@ -361,9 +403,9 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } override fun taskResume( - app: InternalStorageFirebaseApp, - handle: Long, - callback: (Result>) -> Unit + app: InternalStorageFirebaseApp, + handle: Long, + callback: (Result>) -> Unit ) { val storageTask = FlutterFirebaseStorageTask.getInProgressTaskForHandle(handle.toInt()) if (storageTask == null) { @@ -380,7 +422,8 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb val statusMap = HashMap() statusMap["status"] = resumed if (resumed) { - statusMap["snapshot"] = FlutterFirebaseStorageTask.parseTaskSnapshot(storageTask.getSnapshot()) + statusMap["snapshot"] = + FlutterFirebaseStorageTask.parseTaskSnapshot(storageTask.getSnapshot()) } callback(Result.success(statusMap)) } catch (e: Exception) { @@ -389,9 +432,9 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } override fun taskCancel( - app: InternalStorageFirebaseApp, - handle: Long, - callback: (Result>) -> Unit + app: InternalStorageFirebaseApp, + handle: Long, + callback: (Result>) -> Unit ) { val storageTask = FlutterFirebaseStorageTask.getInProgressTaskForHandle(handle.toInt()) if (storageTask == null) { @@ -405,7 +448,8 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb val statusMap = HashMap() statusMap["status"] = canceled if (canceled) { - statusMap["snapshot"] = FlutterFirebaseStorageTask.parseTaskSnapshot(storageTask.getSnapshot()) + statusMap["snapshot"] = + FlutterFirebaseStorageTask.parseTaskSnapshot(storageTask.getSnapshot()) } callback(Result.success(statusMap)) } catch (e: Exception) { @@ -414,9 +458,9 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } override fun setMaxOperationRetryTime( - app: InternalStorageFirebaseApp, - time: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + time: Long, + callback: (Result) -> Unit ) { val storage = getStorageFromPigeon(app) storage.maxOperationRetryTimeMillis = time @@ -424,9 +468,9 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } override fun setMaxUploadRetryTime( - app: InternalStorageFirebaseApp, - time: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + time: Long, + callback: (Result) -> Unit ) { val storage = getStorageFromPigeon(app) storage.maxUploadRetryTimeMillis = time @@ -434,16 +478,18 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } override fun setMaxDownloadRetryTime( - app: InternalStorageFirebaseApp, - time: Long, - callback: (Result) -> Unit + app: InternalStorageFirebaseApp, + time: Long, + callback: (Result) -> Unit ) { val storage = getStorageFromPigeon(app) storage.maxDownloadRetryTimeMillis = time callback(Result.success(Unit)) } - override fun getPluginConstantsForFirebaseApp(firebaseApp: FirebaseApp?): Task> { + override fun getPluginConstantsForFirebaseApp( + firebaseApp: FirebaseApp? + ): Task> { val taskCompletionSource = TaskCompletionSource>() cachedThreadPool.execute { val obj = HashMap() @@ -504,5 +550,3 @@ class FlutterFirebaseStoragePlugin : FlutterFirebasePlugin, FlutterPlugin, Fireb } } } - - diff --git a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageTask.kt b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageTask.kt index 21b6453191f2..f8cd77d739a8 100644 --- a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageTask.kt +++ b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/FlutterFirebaseStorageTask.kt @@ -8,7 +8,6 @@ package io.flutter.plugins.firebase.storage import android.net.Uri import android.util.SparseArray import androidx.annotation.NonNull -import androidx.annotation.Nullable import com.google.firebase.storage.FileDownloadTask import com.google.firebase.storage.StorageMetadata import com.google.firebase.storage.StorageReference @@ -18,13 +17,14 @@ import io.flutter.plugin.common.MethodChannel import java.io.File import java.util.HashMap -internal class FlutterFirebaseStorageTask private constructor( - private val type: FlutterFirebaseStorageTaskType, - private val handle: Int, - private val reference: StorageReference, - private val bytes: ByteArray?, - private val fileUri: Uri?, - private val metadata: StorageMetadata? +internal class FlutterFirebaseStorageTask +private constructor( + private val type: FlutterFirebaseStorageTaskType, + private val handle: Int, + private val reference: StorageReference, + private val bytes: ByteArray?, + private val fileUri: Uri?, + private val metadata: StorageMetadata? ) { private val pauseSyncObject = Object() private val resumeSyncObject = Object() @@ -36,12 +36,20 @@ internal class FlutterFirebaseStorageTask private constructor( synchronized(inProgressTasks) { inProgressTasks.put(handle, this) } } - fun startTaskWithMethodChannel(@NonNull channel: MethodChannel, @NonNull identifier: String): TaskStateChannelStreamHandler { - storageTask = when (type) { - FlutterFirebaseStorageTaskType.BYTES -> if (metadata == null) reference.putBytes(bytes!!) else reference.putBytes(bytes!!, metadata) - FlutterFirebaseStorageTaskType.FILE -> if (metadata == null) reference.putFile(fileUri!!) else reference.putFile(fileUri!!, metadata) - FlutterFirebaseStorageTaskType.DOWNLOAD -> reference.getFile(fileUri!!) - } + fun startTaskWithMethodChannel( + @NonNull channel: MethodChannel, + @NonNull identifier: String + ): TaskStateChannelStreamHandler { + storageTask = + when (type) { + FlutterFirebaseStorageTaskType.BYTES -> + if (metadata == null) reference.putBytes(bytes!!) + else reference.putBytes(bytes!!, metadata) + FlutterFirebaseStorageTaskType.FILE -> + if (metadata == null) reference.putFile(fileUri!!) + else reference.putFile(fileUri!!, metadata) + FlutterFirebaseStorageTaskType.DOWNLOAD -> reference.getFile(fileUri!!) + } return TaskStateChannelStreamHandler(this, reference.storage, storageTask as Any, identifier) } @@ -62,9 +70,17 @@ internal class FlutterFirebaseStorageTask private constructor( fun isDestroyed(): Boolean = destroyed - fun notifyResumeObjects() { synchronized(resumeSyncObject) { resumeSyncObject.notifyAll() } } - fun notifyCancelObjects() { synchronized(cancelSyncObject) { cancelSyncObject.notifyAll() } } - fun notifyPauseObjects() { synchronized(pauseSyncObject) { pauseSyncObject.notifyAll() } } + fun notifyResumeObjects() { + synchronized(resumeSyncObject) { resumeSyncObject.notifyAll() } + } + + fun notifyCancelObjects() { + synchronized(cancelSyncObject) { cancelSyncObject.notifyAll() } + } + + fun notifyPauseObjects() { + synchronized(pauseSyncObject) { pauseSyncObject.notifyAll() } + } // Intentionally do not expose the StorageTask generic type outside this class @@ -89,7 +105,9 @@ internal class FlutterFirebaseStorageTask private constructor( @JvmStatic fun getInProgressTaskForHandle(handle: Int): FlutterFirebaseStorageTask? { - synchronized(inProgressTasks) { return inProgressTasks.get(handle) } + synchronized(inProgressTasks) { + return inProgressTasks.get(handle) + } } @JvmStatic @@ -106,18 +124,40 @@ internal class FlutterFirebaseStorageTask private constructor( } @JvmStatic - fun uploadBytes(handle: Int, reference: StorageReference, data: ByteArray, metadata: StorageMetadata?): FlutterFirebaseStorageTask { - return FlutterFirebaseStorageTask(FlutterFirebaseStorageTaskType.BYTES, handle, reference, data, null, metadata) + fun uploadBytes( + handle: Int, + reference: StorageReference, + data: ByteArray, + metadata: StorageMetadata? + ): FlutterFirebaseStorageTask { + return FlutterFirebaseStorageTask( + FlutterFirebaseStorageTaskType.BYTES, handle, reference, data, null, metadata) } @JvmStatic - fun uploadFile(handle: Int, reference: StorageReference, fileUri: Uri, metadata: StorageMetadata?): FlutterFirebaseStorageTask { - return FlutterFirebaseStorageTask(FlutterFirebaseStorageTaskType.FILE, handle, reference, null, fileUri, metadata) + fun uploadFile( + handle: Int, + reference: StorageReference, + fileUri: Uri, + metadata: StorageMetadata? + ): FlutterFirebaseStorageTask { + return FlutterFirebaseStorageTask( + FlutterFirebaseStorageTaskType.FILE, handle, reference, null, fileUri, metadata) } @JvmStatic - fun downloadFile(handle: Int, reference: StorageReference, file: File): FlutterFirebaseStorageTask { - return FlutterFirebaseStorageTask(FlutterFirebaseStorageTaskType.DOWNLOAD, handle, reference, null, Uri.fromFile(file), null) + fun downloadFile( + handle: Int, + reference: StorageReference, + file: File + ): FlutterFirebaseStorageTask { + return FlutterFirebaseStorageTask( + FlutterFirebaseStorageTaskType.DOWNLOAD, + handle, + reference, + null, + Uri.fromFile(file), + null) } @JvmStatic @@ -137,7 +177,8 @@ internal class FlutterFirebaseStorageTask private constructor( val out: MutableMap = HashMap() out["path"] = snapshot.storage.path // Workaround: sometimes getBytesTransferred != getTotalByteCount when completed - out["bytesTransferred"] = if (snapshot.task.isSuccessful) snapshot.totalByteCount else snapshot.bytesTransferred + out["bytesTransferred"] = + if (snapshot.task.isSuccessful) snapshot.totalByteCount else snapshot.bytesTransferred out["totalBytes"] = snapshot.totalByteCount return out } @@ -158,5 +199,3 @@ internal class FlutterFirebaseStorageTask private constructor( DOWNLOAD } } - - diff --git a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/GeneratedAndroidFirebaseStorage.g.kt b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/GeneratedAndroidFirebaseStorage.g.kt index ffd0cf5a58d8..3e2741a89caa 100644 --- a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/GeneratedAndroidFirebaseStorage.g.kt +++ b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/GeneratedAndroidFirebaseStorage.g.kt @@ -10,12 +10,11 @@ package io.flutter.plugins.firebase.storage import android.util.Log import io.flutter.plugin.common.BasicMessageChannel import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMethodCodec import io.flutter.plugin.common.StandardMessageCodec import java.io.ByteArrayOutputStream import java.nio.ByteBuffer + private object GeneratedAndroidFirebaseStoragePigeonUtils { fun wrapResult(result: Any?): List { @@ -24,19 +23,15 @@ private object GeneratedAndroidFirebaseStoragePigeonUtils { fun wrapError(exception: Throwable): List { return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) + listOf(exception.code, exception.message, exception.details) } else { listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) } } + fun doubleEquals(a: Double, b: Double): Boolean { // Normalize -0.0 to 0.0 and handle NaN equality. return (if (a == 0.0) 0.0 else a) == (if (b == 0.0) 0.0 else b) || (a.isNaN() && b.isNaN()) @@ -180,25 +175,22 @@ private object GeneratedAndroidFirebaseStoragePigeonUtils { else -> value.hashCode() } } - } /** * Error class for passing custom error details to Flutter via a thrown PlatformException. + * * @property code The error code. * @property message The error message. * @property details The error details. Must be a datatype supported by the api codec. */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null +class FlutterError( + val code: String, + override val message: String? = null, + val details: Any? = null ) : RuntimeException() -/** - * The type of operation that generated the action code from calling - * [TaskState]. - */ +/** The type of operation that generated the action code from calling [TaskState]. */ enum class InternalStorageTaskState(val raw: Int) { /** Indicates the task has been paused by the user. */ PAUSED(0), @@ -219,12 +211,11 @@ enum class InternalStorageTaskState(val raw: Int) { } /** Generated class from Pigeon that represents data sent in messages. */ -data class InternalStorageFirebaseApp ( - val appName: String, - val tenantId: String? = null, - val bucket: String -) - { +data class InternalStorageFirebaseApp( + val appName: String, + val tenantId: String? = null, + val bucket: String +) { companion object { fun fromList(pigeonVar_list: List): InternalStorageFirebaseApp { val appName = pigeonVar_list[0] as String @@ -233,13 +224,15 @@ data class InternalStorageFirebaseApp ( return InternalStorageFirebaseApp(appName, tenantId, bucket) } } + fun toList(): List { return listOf( - appName, - tenantId, - bucket, + appName, + tenantId, + bucket, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -248,7 +241,9 @@ data class InternalStorageFirebaseApp ( return true } val other = other as InternalStorageFirebaseApp - return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.appName, other.appName) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.tenantId, other.tenantId) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.bucket, other.bucket) + return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.appName, other.appName) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.tenantId, other.tenantId) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.bucket, other.bucket) } override fun hashCode(): Int { @@ -261,12 +256,7 @@ data class InternalStorageFirebaseApp ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class InternalStorageReference ( - val bucket: String, - val fullPath: String, - val name: String -) - { +data class InternalStorageReference(val bucket: String, val fullPath: String, val name: String) { companion object { fun fromList(pigeonVar_list: List): InternalStorageReference { val bucket = pigeonVar_list[0] as String @@ -275,13 +265,15 @@ data class InternalStorageReference ( return InternalStorageReference(bucket, fullPath, name) } } + fun toList(): List { return listOf( - bucket, - fullPath, - name, + bucket, + fullPath, + name, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -290,7 +282,9 @@ data class InternalStorageReference ( return true } val other = other as InternalStorageReference - return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.bucket, other.bucket) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.fullPath, other.fullPath) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.name, other.name) + return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.bucket, other.bucket) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.fullPath, other.fullPath) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.name, other.name) } override fun hashCode(): Int { @@ -303,21 +297,20 @@ data class InternalStorageReference ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class InternalFullMetaData ( - val metadata: Map? = null -) - { +data class InternalFullMetaData(val metadata: Map? = null) { companion object { fun fromList(pigeonVar_list: List): InternalFullMetaData { val metadata = pigeonVar_list[0] as Map? return InternalFullMetaData(metadata) } } + fun toList(): List { return listOf( - metadata, + metadata, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -337,21 +330,20 @@ data class InternalFullMetaData ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class InternalListOptions ( - /** - * If set, limits the total number of `prefixes` and `items` to return. - * - * The default and maximum maxResults is 1000. - */ - val maxResults: Long, - /** - * The nextPageToken from a previous call to list(). - * - * If provided, listing is resumed from the previous position. - */ - val pageToken: String? = null -) - { +data class InternalListOptions( + /** + * If set, limits the total number of `prefixes` and `items` to return. + * + * The default and maximum maxResults is 1000. + */ + val maxResults: Long, + /** + * The nextPageToken from a previous call to list(). + * + * If provided, listing is resumed from the previous position. + */ + val pageToken: String? = null +) { companion object { fun fromList(pigeonVar_list: List): InternalListOptions { val maxResults = pigeonVar_list[0] as Long @@ -359,12 +351,14 @@ data class InternalListOptions ( return InternalListOptions(maxResults, pageToken) } } + fun toList(): List { return listOf( - maxResults, - pageToken, + maxResults, + pageToken, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -373,7 +367,9 @@ data class InternalListOptions ( return true } val other = other as InternalListOptions - return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.maxResults, other.maxResults) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.pageToken, other.pageToken) + return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.maxResults, other.maxResults) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.pageToken, other.pageToken) } override fun hashCode(): Int { @@ -385,41 +381,40 @@ data class InternalListOptions ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class InternalSettableMetadata ( - /** - * Served as the 'Cache-Control' header on object download. - * - * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control. - */ - val cacheControl: String? = null, - /** - * Served as the 'Content-Disposition' header on object download. - * - * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition. - */ - val contentDisposition: String? = null, - /** - * Served as the 'Content-Encoding' header on object download. - * - * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding. - */ - val contentEncoding: String? = null, - /** - * Served as the 'Content-Language' header on object download. - * - * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language. - */ - val contentLanguage: String? = null, - /** - * Served as the 'Content-Type' header on object download. - * - * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type. - */ - val contentType: String? = null, - /** Additional user-defined custom metadata. */ - val customMetadata: Map? = null -) - { +data class InternalSettableMetadata( + /** + * Served as the 'Cache-Control' header on object download. + * + * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control. + */ + val cacheControl: String? = null, + /** + * Served as the 'Content-Disposition' header on object download. + * + * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition. + */ + val contentDisposition: String? = null, + /** + * Served as the 'Content-Encoding' header on object download. + * + * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding. + */ + val contentEncoding: String? = null, + /** + * Served as the 'Content-Language' header on object download. + * + * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language. + */ + val contentLanguage: String? = null, + /** + * Served as the 'Content-Type' header on object download. + * + * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type. + */ + val contentType: String? = null, + /** Additional user-defined custom metadata. */ + val customMetadata: Map? = null +) { companion object { fun fromList(pigeonVar_list: List): InternalSettableMetadata { val cacheControl = pigeonVar_list[0] as String? @@ -428,19 +423,27 @@ data class InternalSettableMetadata ( val contentLanguage = pigeonVar_list[3] as String? val contentType = pigeonVar_list[4] as String? val customMetadata = pigeonVar_list[5] as Map? - return InternalSettableMetadata(cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, customMetadata) + return InternalSettableMetadata( + cacheControl, + contentDisposition, + contentEncoding, + contentLanguage, + contentType, + customMetadata) } } + fun toList(): List { return listOf( - cacheControl, - contentDisposition, - contentEncoding, - contentLanguage, - contentType, - customMetadata, + cacheControl, + contentDisposition, + contentEncoding, + contentLanguage, + contentType, + customMetadata, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -449,13 +452,25 @@ data class InternalSettableMetadata ( return true } val other = other as InternalSettableMetadata - return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.cacheControl, other.cacheControl) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.contentDisposition, other.contentDisposition) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.contentEncoding, other.contentEncoding) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.contentLanguage, other.contentLanguage) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.contentType, other.contentType) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.customMetadata, other.customMetadata) + return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.cacheControl, other.cacheControl) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.contentDisposition, other.contentDisposition) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.contentEncoding, other.contentEncoding) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.contentLanguage, other.contentLanguage) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.contentType, other.contentType) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.customMetadata, other.customMetadata) } override fun hashCode(): Int { var result = javaClass.hashCode() result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.cacheControl) - result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.contentDisposition) + result = + 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.contentDisposition) result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.contentEncoding) result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.contentLanguage) result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.contentType) @@ -465,13 +480,12 @@ data class InternalSettableMetadata ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class InternalStorageTaskSnapShot ( - val bytesTransferred: Long, - val metadata: InternalFullMetaData? = null, - val state: InternalStorageTaskState, - val totalBytes: Long -) - { +data class InternalStorageTaskSnapShot( + val bytesTransferred: Long, + val metadata: InternalFullMetaData? = null, + val state: InternalStorageTaskState, + val totalBytes: Long +) { companion object { fun fromList(pigeonVar_list: List): InternalStorageTaskSnapShot { val bytesTransferred = pigeonVar_list[0] as Long @@ -481,14 +495,16 @@ data class InternalStorageTaskSnapShot ( return InternalStorageTaskSnapShot(bytesTransferred, metadata, state, totalBytes) } } + fun toList(): List { return listOf( - bytesTransferred, - metadata, - state, - totalBytes, + bytesTransferred, + metadata, + state, + totalBytes, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -497,12 +513,17 @@ data class InternalStorageTaskSnapShot ( return true } val other = other as InternalStorageTaskSnapShot - return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.bytesTransferred, other.bytesTransferred) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.metadata, other.metadata) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.state, other.state) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.totalBytes, other.totalBytes) + return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals( + this.bytesTransferred, other.bytesTransferred) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.metadata, other.metadata) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.state, other.state) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.totalBytes, other.totalBytes) } override fun hashCode(): Int { var result = javaClass.hashCode() - result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.bytesTransferred) + result = + 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.bytesTransferred) result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.metadata) result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.state) result = 31 * result + GeneratedAndroidFirebaseStoragePigeonUtils.deepHash(this.totalBytes) @@ -511,12 +532,11 @@ data class InternalStorageTaskSnapShot ( } /** Generated class from Pigeon that represents data sent in messages. */ -data class InternalListResult ( - val items: List, - val pageToken: String? = null, - val prefixs: List -) - { +data class InternalListResult( + val items: List, + val pageToken: String? = null, + val prefixs: List +) { companion object { fun fromList(pigeonVar_list: List): InternalListResult { val items = pigeonVar_list[0] as List @@ -525,13 +545,15 @@ data class InternalListResult ( return InternalListResult(items, pageToken, prefixs) } } + fun toList(): List { return listOf( - items, - pageToken, - prefixs, + items, + pageToken, + prefixs, ) } + override fun equals(other: Any?): Boolean { if (other == null || other.javaClass != javaClass) { return false @@ -540,7 +562,9 @@ data class InternalListResult ( return true } val other = other as InternalListResult - return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.items, other.items) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.pageToken, other.pageToken) && GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.prefixs, other.prefixs) + return GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.items, other.items) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.pageToken, other.pageToken) && + GeneratedAndroidFirebaseStoragePigeonUtils.deepEquals(this.prefixs, other.prefixs) } override fun hashCode(): Int { @@ -551,53 +575,39 @@ data class InternalListResult ( return result } } + private open class GeneratedAndroidFirebaseStoragePigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { return when (type) { 129.toByte() -> { - return (readValue(buffer) as Long?)?.let { - InternalStorageTaskState.ofRaw(it.toInt()) - } + return (readValue(buffer) as Long?)?.let { InternalStorageTaskState.ofRaw(it.toInt()) } } 130.toByte() -> { - return (readValue(buffer) as? List)?.let { - InternalStorageFirebaseApp.fromList(it) - } + return (readValue(buffer) as? List)?.let { InternalStorageFirebaseApp.fromList(it) } } 131.toByte() -> { - return (readValue(buffer) as? List)?.let { - InternalStorageReference.fromList(it) - } + return (readValue(buffer) as? List)?.let { InternalStorageReference.fromList(it) } } 132.toByte() -> { - return (readValue(buffer) as? List)?.let { - InternalFullMetaData.fromList(it) - } + return (readValue(buffer) as? List)?.let { InternalFullMetaData.fromList(it) } } 133.toByte() -> { - return (readValue(buffer) as? List)?.let { - InternalListOptions.fromList(it) - } + return (readValue(buffer) as? List)?.let { InternalListOptions.fromList(it) } } 134.toByte() -> { - return (readValue(buffer) as? List)?.let { - InternalSettableMetadata.fromList(it) - } + return (readValue(buffer) as? List)?.let { InternalSettableMetadata.fromList(it) } } 135.toByte() -> { - return (readValue(buffer) as? List)?.let { - InternalStorageTaskSnapShot.fromList(it) - } + return (readValue(buffer) as? List)?.let { InternalStorageTaskSnapShot.fromList(it) } } 136.toByte() -> { - return (readValue(buffer) as? List)?.let { - InternalListResult.fromList(it) - } + return (readValue(buffer) as? List)?.let { InternalListResult.fromList(it) } } else -> super.readValueOfType(type, buffer) } } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { when (value) { is InternalStorageTaskState -> { stream.write(129) @@ -636,47 +646,168 @@ private open class GeneratedAndroidFirebaseStoragePigeonCodec : StandardMessageC } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ interface FirebaseStorageHostApi { - fun getReferencebyPath(app: InternalStorageFirebaseApp, path: String, bucket: String?, callback: (Result) -> Unit) - fun setMaxOperationRetryTime(app: InternalStorageFirebaseApp, time: Long, callback: (Result) -> Unit) - fun setMaxUploadRetryTime(app: InternalStorageFirebaseApp, time: Long, callback: (Result) -> Unit) - fun setMaxDownloadRetryTime(app: InternalStorageFirebaseApp, time: Long, callback: (Result) -> Unit) - fun useStorageEmulator(app: InternalStorageFirebaseApp, host: String, port: Long, callback: (Result) -> Unit) - fun referenceDelete(app: InternalStorageFirebaseApp, reference: InternalStorageReference, callback: (Result) -> Unit) - fun referenceGetDownloadURL(app: InternalStorageFirebaseApp, reference: InternalStorageReference, callback: (Result) -> Unit) - fun referenceGetMetaData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, callback: (Result) -> Unit) - fun referenceList(app: InternalStorageFirebaseApp, reference: InternalStorageReference, options: InternalListOptions, callback: (Result) -> Unit) - fun referenceListAll(app: InternalStorageFirebaseApp, reference: InternalStorageReference, callback: (Result) -> Unit) - fun referenceGetData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, maxSize: Long, callback: (Result) -> Unit) - fun referencePutData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, data: ByteArray, settableMetaData: InternalSettableMetadata, handle: Long, callback: (Result) -> Unit) - fun referencePutString(app: InternalStorageFirebaseApp, reference: InternalStorageReference, data: String, format: Long, settableMetaData: InternalSettableMetadata, handle: Long, callback: (Result) -> Unit) - fun referencePutFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, filePath: String, settableMetaData: InternalSettableMetadata?, handle: Long, callback: (Result) -> Unit) - fun referenceDownloadFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, filePath: String, handle: Long, callback: (Result) -> Unit) - fun referenceUpdateMetadata(app: InternalStorageFirebaseApp, reference: InternalStorageReference, metadata: InternalSettableMetadata, callback: (Result) -> Unit) - fun taskPause(app: InternalStorageFirebaseApp, handle: Long, callback: (Result>) -> Unit) - fun taskResume(app: InternalStorageFirebaseApp, handle: Long, callback: (Result>) -> Unit) - fun taskCancel(app: InternalStorageFirebaseApp, handle: Long, callback: (Result>) -> Unit) + fun getReferencebyPath( + app: InternalStorageFirebaseApp, + path: String, + bucket: String?, + callback: (Result) -> Unit + ) + + fun setMaxOperationRetryTime( + app: InternalStorageFirebaseApp, + time: Long, + callback: (Result) -> Unit + ) + + fun setMaxUploadRetryTime( + app: InternalStorageFirebaseApp, + time: Long, + callback: (Result) -> Unit + ) + + fun setMaxDownloadRetryTime( + app: InternalStorageFirebaseApp, + time: Long, + callback: (Result) -> Unit + ) + + fun useStorageEmulator( + app: InternalStorageFirebaseApp, + host: String, + port: Long, + callback: (Result) -> Unit + ) + + fun referenceDelete( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit + ) + + fun referenceGetDownloadURL( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit + ) + + fun referenceGetMetaData( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit + ) + + fun referenceList( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + options: InternalListOptions, + callback: (Result) -> Unit + ) + + fun referenceListAll( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + callback: (Result) -> Unit + ) + + fun referenceGetData( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + maxSize: Long, + callback: (Result) -> Unit + ) + + fun referencePutData( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + data: ByteArray, + settableMetaData: InternalSettableMetadata, + handle: Long, + callback: (Result) -> Unit + ) + + fun referencePutString( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + data: String, + format: Long, + settableMetaData: InternalSettableMetadata, + handle: Long, + callback: (Result) -> Unit + ) + + fun referencePutFile( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + filePath: String, + settableMetaData: InternalSettableMetadata?, + handle: Long, + callback: (Result) -> Unit + ) + + fun referenceDownloadFile( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + filePath: String, + handle: Long, + callback: (Result) -> Unit + ) + + fun referenceUpdateMetadata( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference, + metadata: InternalSettableMetadata, + callback: (Result) -> Unit + ) + + fun taskPause( + app: InternalStorageFirebaseApp, + handle: Long, + callback: (Result>) -> Unit + ) + + fun taskResume( + app: InternalStorageFirebaseApp, + handle: Long, + callback: (Result>) -> Unit + ) + + fun taskCancel( + app: InternalStorageFirebaseApp, + handle: Long, + callback: (Result>) -> Unit + ) companion object { /** The codec used by FirebaseStorageHostApi. */ - val codec: MessageCodec by lazy { - GeneratedAndroidFirebaseStoragePigeonCodec() - } - /** Sets up an instance of `FirebaseStorageHostApi` to handle messages through the `binaryMessenger`. */ + val codec: MessageCodec by lazy { GeneratedAndroidFirebaseStoragePigeonCodec() } + /** + * Sets up an instance of `FirebaseStorageHostApi` to handle messages through the + * `binaryMessenger`. + */ @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: FirebaseStorageHostApi?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + fun setUp( + binaryMessenger: BinaryMessenger, + api: FirebaseStorageHostApi?, + messageChannelSuffix: String = "" + ) { + val separatedMessageChannelSuffix = + if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List val appArg = args[0] as InternalStorageFirebaseApp val pathArg = args[1] as String val bucketArg = args[2] as String? - api.getReferencebyPath(appArg, pathArg, bucketArg) { result: Result -> + api.getReferencebyPath(appArg, pathArg, bucketArg) { + result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) @@ -691,7 +822,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -711,7 +846,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -731,7 +870,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -751,7 +894,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -772,7 +919,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -792,7 +943,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -813,7 +968,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -834,14 +993,19 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List val appArg = args[0] as InternalStorageFirebaseApp val referenceArg = args[1] as InternalStorageReference val optionsArg = args[2] as InternalListOptions - api.referenceList(appArg, referenceArg, optionsArg) { result: Result -> + api.referenceList(appArg, referenceArg, optionsArg) { result: Result + -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) @@ -856,7 +1020,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -877,7 +1045,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -899,7 +1071,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -908,7 +1084,8 @@ interface FirebaseStorageHostApi { val dataArg = args[2] as ByteArray val settableMetaDataArg = args[3] as InternalSettableMetadata val handleArg = args[4] as Long - api.referencePutData(appArg, referenceArg, dataArg, settableMetaDataArg, handleArg) { result: Result -> + api.referencePutData(appArg, referenceArg, dataArg, settableMetaDataArg, handleArg) { + result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) @@ -923,7 +1100,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -933,22 +1114,28 @@ interface FirebaseStorageHostApi { val formatArg = args[3] as Long val settableMetaDataArg = args[4] as InternalSettableMetadata val handleArg = args[5] as Long - api.referencePutString(appArg, referenceArg, dataArg, formatArg, settableMetaDataArg, handleArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapResult(data)) - } - } + api.referencePutString( + appArg, referenceArg, dataArg, formatArg, settableMetaDataArg, handleArg) { + result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapResult(data)) + } + } } } else { channel.setMessageHandler(null) } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -957,22 +1144,28 @@ interface FirebaseStorageHostApi { val filePathArg = args[2] as String val settableMetaDataArg = args[3] as InternalSettableMetadata? val handleArg = args[4] as Long - api.referencePutFile(appArg, referenceArg, filePathArg, settableMetaDataArg, handleArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapResult(data)) - } - } + api.referencePutFile( + appArg, referenceArg, filePathArg, settableMetaDataArg, handleArg) { + result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapResult(data)) + } + } } } else { channel.setMessageHandler(null) } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -980,7 +1173,8 @@ interface FirebaseStorageHostApi { val referenceArg = args[1] as InternalStorageReference val filePathArg = args[2] as String val handleArg = args[3] as Long - api.referenceDownloadFile(appArg, referenceArg, filePathArg, handleArg) { result: Result -> + api.referenceDownloadFile(appArg, referenceArg, filePathArg, handleArg) { + result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) @@ -995,14 +1189,19 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List val appArg = args[0] as InternalStorageFirebaseApp val referenceArg = args[1] as InternalStorageReference val metadataArg = args[2] as InternalSettableMetadata - api.referenceUpdateMetadata(appArg, referenceArg, metadataArg) { result: Result -> + api.referenceUpdateMetadata(appArg, referenceArg, metadataArg) { + result: Result -> val error = result.exceptionOrNull() if (error != null) { reply.reply(GeneratedAndroidFirebaseStoragePigeonUtils.wrapError(error)) @@ -1017,7 +1216,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -1038,7 +1241,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List @@ -1059,7 +1266,11 @@ interface FirebaseStorageHostApi { } } run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel$separatedMessageChannelSuffix", codec) + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel$separatedMessageChannelSuffix", + codec) if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List diff --git a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/TaskStateChannelStreamHandler.kt b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/TaskStateChannelStreamHandler.kt index 5efa6415dae7..396b525d116b 100644 --- a/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/TaskStateChannelStreamHandler.kt +++ b/packages/firebase_storage/firebase_storage/android/src/main/kotlin/io/flutter/plugins/firebase/storage/TaskStateChannelStreamHandler.kt @@ -8,16 +8,15 @@ import androidx.annotation.Nullable import com.google.firebase.storage.FirebaseStorage import com.google.firebase.storage.StorageException import com.google.firebase.storage.StorageTask -import io.flutter.plugin.common.EventChannel import io.flutter.plugin.common.EventChannel.EventSink import io.flutter.plugin.common.EventChannel.StreamHandler import java.util.HashMap internal class TaskStateChannelStreamHandler( - private val flutterTask: FlutterFirebaseStorageTask, - private val androidStorage: FirebaseStorage, - task: Any, - private val identifier: String + private val flutterTask: FlutterFirebaseStorageTask, + private val androidStorage: FirebaseStorage, + task: Any, + private val identifier: String ) : StreamHandler { private val androidTask: StorageTask<*> = task as StorageTask<*> @@ -57,8 +56,10 @@ internal class TaskStateChannelStreamHandler( val event = getTaskEventMap(null, null) event[TASK_STATE_NAME] = InternalStorageTaskState.ERROR.raw val syntheticException: MutableMap = HashMap() - syntheticException["code"] = FlutterFirebaseStorageException.getCode(StorageException.ERROR_CANCELED) - syntheticException["message"] = FlutterFirebaseStorageException.getMessage(StorageException.ERROR_CANCELED) + syntheticException["code"] = + FlutterFirebaseStorageException.getCode(StorageException.ERROR_CANCELED) + syntheticException["message"] = + FlutterFirebaseStorageException.getMessage(StorageException.ERROR_CANCELED) event[TASK_ERROR] = syntheticException events.success(event) flutterTask.notifyCancelObjects() @@ -87,7 +88,10 @@ internal class TaskStateChannelStreamHandler( } } - private fun getTaskEventMap(@Nullable snapshot: Any?, @Nullable exception: Exception?): MutableMap { + private fun getTaskEventMap( + @Nullable snapshot: Any?, + @Nullable exception: Exception? + ): MutableMap { val arguments: MutableMap = HashMap() arguments[TASK_APP_NAME] = androidStorage.app.name if (snapshot != null) { @@ -99,5 +103,3 @@ internal class TaskStateChannelStreamHandler( return arguments } } - - diff --git a/packages/firebase_storage/firebase_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebasestorageexample/MainActivity.kt b/packages/firebase_storage/firebase_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebasestorageexample/MainActivity.kt index 7391f3a97ef9..4e41f73c96ae 100644 --- a/packages/firebase_storage/firebase_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebasestorageexample/MainActivity.kt +++ b/packages/firebase_storage/firebase_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebasestorageexample/MainActivity.kt @@ -2,4 +2,4 @@ package io.flutter.plugins.firebasestorageexample import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() +class MainActivity : FlutterActivity() diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift index 558b11d201cc..9f8d4930435f 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_storage", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-storage", targets: ["firebase_storage"]), + .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] - ), + ) ] ) diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift index 9b7693378a7a..8b96a90cb42f 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift @@ -63,8 +63,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt return Storage.storage(app: firApp, url: base) } - private func ref(app: InternalStorageFirebaseApp, - reference: InternalStorageReference) -> StorageReference { + private func ref( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference + ) -> StorageReference { storage(app: app).reference(withPath: reference.fullPath) } @@ -72,36 +74,48 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt InternalStorageReference(bucket: ref.bucket, fullPath: ref.fullPath, name: ref.name) } - func getReferencebyPath(app: InternalStorageFirebaseApp, path: String, bucket: String?, - completion: @escaping (Result) -> Void) { + func getReferencebyPath( + app: InternalStorageFirebaseApp, path: String, bucket: String?, + completion: @escaping (Result) -> Void + ) { let r = storage(app: app).reference(withPath: path) - completion(.success(InternalStorageReference( - bucket: r.bucket, - fullPath: r.fullPath, - name: r.name - ))) - } - - func setMaxOperationRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) { + completion( + .success( + InternalStorageReference( + bucket: r.bucket, + fullPath: r.fullPath, + name: r.name + ))) + } + + func setMaxOperationRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void + ) { storage(app: app).maxOperationRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func setMaxUploadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) { + func setMaxUploadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void + ) { storage(app: app).maxUploadRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func setMaxDownloadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) { + func setMaxDownloadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void + ) { storage(app: app).maxDownloadRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func useStorageEmulator(app: InternalStorageFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) { + func useStorageEmulator( + app: InternalStorageFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void + ) { guard emulatorBooted[app.bucket] == nil else { completion(.success(())) return @@ -112,40 +126,60 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt completion(.success(())) } - func referenceDelete(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceDelete( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).delete { error in - if let e = error { completion(.failure(self.toFlutterError(e))) } - else { completion(.success(())) } + if let e = error { + completion(.failure(self.toFlutterError(e))) + } else { + completion(.success(())) + } } } - func referenceGetDownloadURL(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceGetDownloadURL( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).downloadURL { url, error in - if let e = error { completion(.failure(self.toFlutterError(e))) } - else { completion(.success(url!.absoluteString.replacingOccurrences( - of: ":443", - with: "" - ))) } + if let e = error { + completion(.failure(self.toFlutterError(e))) + } else { + completion( + .success( + url!.absoluteString.replacingOccurrences( + of: ":443", + with: "" + ))) + } } } - func referenceGetMetaData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceGetMetaData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).getMetadata { md, error in - if let e = error { completion(.failure(self.toFlutterError(e))) } else { + if let e = error { + completion(.failure(self.toFlutterError(e))) + } else { completion(.success(InternalFullMetaData(metadata: self.metaToDict(md)))) } } } - func referenceList(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - options: InternalListOptions, - completion: @escaping (Result) -> Void) { + func referenceList( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + options: InternalListOptions, + completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let block: (StorageListResult?, Error?) -> Void = { list, error in - if let e = error { completion(.failure(self.toFlutterError(e))) } else { + if let e = error { + completion(.failure(self.toFlutterError(e))) + } else { completion(.success(self.listToPigeon(list!))) } } @@ -156,17 +190,24 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceListAll(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceListAll( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).listAll { list, error in - if let e = error { completion(.failure(self.toFlutterError(e))) } - else { completion(.success(self.listToPigeon(list!))) } + if let e = error { + completion(.failure(self.toFlutterError(e))) + } else { + completion(.success(self.listToPigeon(list!))) + } } } - func referenceGetData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - maxSize: Int64, - completion: @escaping (Result) -> Void) { + func referenceGetData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + maxSize: Int64, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).getData(maxSize: maxSize) { data, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -178,83 +219,114 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referencePutData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) { + func referencePutData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let task = r.putData(data.data, metadata: toMeta(settableMetaData)) - completion(.success(registerTask( - task: task, - appName: r.storage.app.name, - handle: handle, - path: r.fullPath - ))) - } - - func referencePutString(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: String, format: Int64, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) { + completion( + .success( + registerTask( + task: task, + appName: r.storage.app.name, + handle: handle, + path: r.fullPath + ))) + } + + func referencePutString( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: String, format: Int64, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let d: Data - if format == 1 { d = Data(base64Encoded: data) ?? Data() } - else if format == - 2 { - d = Data(base64Encoded: data.replacingOccurrences(of: "-", with: "+") - .replacingOccurrences(of: "_", with: "/") - .padding(toLength: ((data.count + 3) / 4) * 4, withPad: "=", startingAt: 0)) ?? Data() - } else { d = Data() } + if format == 1 { + d = Data(base64Encoded: data) ?? Data() + } else if format == 2 { + d = + Data( + base64Encoded: data.replacingOccurrences(of: "-", with: "+") + .replacingOccurrences(of: "_", with: "/") + .padding(toLength: ((data.count + 3) / 4) * 4, withPad: "=", startingAt: 0)) ?? Data() + } else { + d = Data() + } let task = r.putData(d, metadata: toMeta(settableMetaData)) - completion(.success(registerTask( - task: task, - appName: r.storage.app.name, - handle: handle, - path: r.fullPath - ))) - } - - func referencePutFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, settableMetaData: InternalSettableMetadata?, - handle: Int64, - completion: @escaping (Result) -> Void) { + completion( + .success( + registerTask( + task: task, + appName: r.storage.app.name, + handle: handle, + path: r.fullPath + ))) + } + + func referencePutFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, settableMetaData: InternalSettableMetadata?, + handle: Int64, + completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let url = URL(fileURLWithPath: filePath) let task: StorageUploadTask - if let md = settableMetaData { task = r.putFile(from: url, metadata: toMeta(md)) } - else { task = r.putFile(from: url) } - completion(.success(registerTask( - task: task, - appName: r.storage.app.name, - handle: handle, - path: r.fullPath - ))) - } - - func referenceDownloadFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, handle: Int64, - completion: @escaping (Result) -> Void) { + if let md = settableMetaData { + task = r.putFile(from: url, metadata: toMeta(md)) + } else { + task = r.putFile(from: url) + } + completion( + .success( + registerTask( + task: task, + appName: r.storage.app.name, + handle: handle, + path: r.fullPath + ))) + } + + func referenceDownloadFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, handle: Int64, + completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let url = URL(fileURLWithPath: filePath) let task = r.write(toFile: url) - completion(.success(registerTask( - task: task, - appName: r.storage.app.name, - handle: handle, - path: r.fullPath - ))) - } - - func referenceUpdateMetadata(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - metadata: InternalSettableMetadata, - completion: @escaping (Result) - -> Void) { + completion( + .success( + registerTask( + task: task, + appName: r.storage.app.name, + handle: handle, + path: r.fullPath + ))) + } + + func referenceUpdateMetadata( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + metadata: InternalSettableMetadata, + completion: + @escaping (Result) + -> Void + ) { ref(app: app, reference: reference).updateMetadata(toMeta(metadata)) { md, error in - if let e = error { completion(.failure(self.toFlutterError(e))) } - else { completion(.success(InternalFullMetaData(metadata: self.metaToDict(md)))) } + if let e = error { + completion(.failure(self.toFlutterError(e))) + } else { + completion(.success(InternalFullMetaData(metadata: self.metaToDict(md)))) + } } } - func taskPause(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) { + func taskPause( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void + ) { if let task = handleToTask[handle] as? StorageUploadTask { task.pause() completion(.success(["status": true, "snapshot": currentSnapshot(handle: handle)])) @@ -266,8 +338,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskResume(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) { + func taskResume( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void + ) { if let task = handleToTask[handle] as? StorageUploadTask { task.resume() completion(.success(["status": true, "snapshot": currentSnapshot(handle: handle)])) @@ -279,8 +353,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskCancel(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) { + func taskCancel( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void + ) { if let task = handleToTask[handle] as? StorageUploadTask { task.cancel() if let id = handleToIdentifier[handle] { @@ -338,17 +414,20 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt return InternalListResult(items: itemsOpt, pageToken: list.pageToken, prefixs: prefixesOpt) } - private func registerTask(task: StorageObservableTask, appName: String, handle: Int64, - path: String) -> String { + private func registerTask( + task: StorageObservableTask, appName: String, handle: Int64, + path: String + ) -> String { let uuid = UUID().uuidString let channelName = "plugins.flutter.io/firebase_storage/taskEvent/\(uuid)" let channel = FlutterEventChannel(name: channelName, binaryMessenger: messenger!) let storageInstance = Storage.storage(app: FLTFirebasePlugin.firebaseAppNamed(appName)!) - channel.setStreamHandler(TaskStateChannelStreamHandler( - task: task, - storage: storageInstance, - identifier: channelName - )) + channel.setStreamHandler( + TaskStateChannelStreamHandler( + task: task, + storage: storageInstance, + identifier: channelName + )) eventChannels[channelName] = channel handleToTask[handle] = task as AnyObject handleToPath[handle] = path diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift index 71d157a36414..8012456b979d 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseStorageMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseStorageMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseStorageMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -221,8 +221,8 @@ struct InternalStorageFirebaseApp: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseStorageMessages(lhs.appName, rhs.appName) && - deepEqualsFirebaseStorageMessages( + return deepEqualsFirebaseStorageMessages(lhs.appName, rhs.appName) + && deepEqualsFirebaseStorageMessages( lhs.tenantId, rhs.tenantId ) && deepEqualsFirebaseStorageMessages(lhs.bucket, rhs.bucket) @@ -267,8 +267,8 @@ struct InternalStorageReference: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseStorageMessages(lhs.bucket, rhs.bucket) && - deepEqualsFirebaseStorageMessages( + return deepEqualsFirebaseStorageMessages(lhs.bucket, rhs.bucket) + && deepEqualsFirebaseStorageMessages( lhs.fullPath, rhs.fullPath ) && deepEqualsFirebaseStorageMessages(lhs.name, rhs.name) @@ -297,7 +297,7 @@ struct InternalFullMetaData: Hashable { func toList() -> [Any?] { [ - metadata, + metadata ] } @@ -347,8 +347,8 @@ struct InternalListOptions: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseStorageMessages(lhs.maxResults, rhs.maxResults) && - deepEqualsFirebaseStorageMessages( + return deepEqualsFirebaseStorageMessages(lhs.maxResults, rhs.maxResults) + && deepEqualsFirebaseStorageMessages( lhs.pageToken, rhs.pageToken ) @@ -420,16 +420,16 @@ struct InternalSettableMetadata: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseStorageMessages(lhs.cacheControl, rhs.cacheControl) && - deepEqualsFirebaseStorageMessages( + return deepEqualsFirebaseStorageMessages(lhs.cacheControl, rhs.cacheControl) + && deepEqualsFirebaseStorageMessages( lhs.contentDisposition, rhs.contentDisposition - ) && deepEqualsFirebaseStorageMessages(lhs.contentEncoding, rhs.contentEncoding) && - deepEqualsFirebaseStorageMessages( + ) && deepEqualsFirebaseStorageMessages(lhs.contentEncoding, rhs.contentEncoding) + && deepEqualsFirebaseStorageMessages( lhs.contentLanguage, rhs.contentLanguage - ) && deepEqualsFirebaseStorageMessages(lhs.contentType, rhs.contentType) && - deepEqualsFirebaseStorageMessages( + ) && deepEqualsFirebaseStorageMessages(lhs.contentType, rhs.contentType) + && deepEqualsFirebaseStorageMessages( lhs.customMetadata, rhs.customMetadata ) @@ -481,12 +481,12 @@ struct InternalStorageTaskSnapShot: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseStorageMessages(lhs.bytesTransferred, rhs.bytesTransferred) && - deepEqualsFirebaseStorageMessages( + return deepEqualsFirebaseStorageMessages(lhs.bytesTransferred, rhs.bytesTransferred) + && deepEqualsFirebaseStorageMessages( lhs.metadata, rhs.metadata - ) && deepEqualsFirebaseStorageMessages(lhs.state, rhs.state) && - deepEqualsFirebaseStorageMessages( + ) && deepEqualsFirebaseStorageMessages(lhs.state, rhs.state) + && deepEqualsFirebaseStorageMessages( lhs.totalBytes, rhs.totalBytes ) @@ -532,8 +532,8 @@ struct InternalListResult: Hashable { if Swift.type(of: lhs) != Swift.type(of: rhs) { return false } - return deepEqualsFirebaseStorageMessages(lhs.items, rhs.items) && - deepEqualsFirebaseStorageMessages( + return deepEqualsFirebaseStorageMessages(lhs.items, rhs.items) + && deepEqualsFirebaseStorageMessages( lhs.pageToken, rhs.pageToken ) && deepEqualsFirebaseStorageMessages(lhs.prefixs, rhs.prefixs) @@ -627,51 +627,70 @@ class FirebaseStorageMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecke /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebaseStorageHostApi { - func getReferencebyPath(app: InternalStorageFirebaseApp, path: String, bucket: String?, - completion: @escaping (Result) -> Void) - func setMaxOperationRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func setMaxUploadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func setMaxDownloadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func useStorageEmulator(app: InternalStorageFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) - func referenceDelete(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetDownloadURL(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetMetaData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceList(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - options: InternalListOptions, - completion: @escaping (Result) -> Void) - func referenceListAll(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - maxSize: Int64, - completion: @escaping (Result) -> Void) - func referencePutData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) - func referencePutString(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: String, format: Int64, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) - func referencePutFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, settableMetaData: InternalSettableMetadata?, - handle: Int64, completion: @escaping (Result) -> Void) - func referenceDownloadFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, handle: Int64, - completion: @escaping (Result) -> Void) - func referenceUpdateMetadata(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - metadata: InternalSettableMetadata, - completion: @escaping (Result) -> Void) - func taskPause(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) - func taskResume(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) - func taskCancel(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) + func getReferencebyPath( + app: InternalStorageFirebaseApp, path: String, bucket: String?, + completion: @escaping (Result) -> Void) + func setMaxOperationRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func setMaxUploadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func setMaxDownloadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func useStorageEmulator( + app: InternalStorageFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) + func referenceDelete( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetDownloadURL( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetMetaData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceList( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + options: InternalListOptions, + completion: @escaping (Result) -> Void) + func referenceListAll( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + maxSize: Int64, + completion: @escaping (Result) -> Void) + func referencePutData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) + func referencePutString( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: String, format: Int64, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) + func referencePutFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, settableMetaData: InternalSettableMetadata?, + handle: Int64, completion: @escaping (Result) -> Void) + func referenceDownloadFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, handle: Int64, + completion: @escaping (Result) -> Void) + func referenceUpdateMetadata( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + metadata: InternalSettableMetadata, + completion: @escaping (Result) -> Void) + func taskPause( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) + func taskResume( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) + func taskCancel( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -682,11 +701,14 @@ class FirebaseStorageHostApiSetup { /// Sets up an instance of `FirebaseStorageHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseStorageHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseStorageHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let getReferencebyPathChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -698,9 +720,9 @@ class FirebaseStorageHostApiSetup { let bucketArg: String? = nilOrValue(args[2]) api.getReferencebyPath(app: appArg, path: pathArg, bucket: bucketArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -709,7 +731,8 @@ class FirebaseStorageHostApiSetup { getReferencebyPathChannel.setMessageHandler(nil) } let setMaxOperationRetryTimeChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -722,7 +745,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -731,7 +754,8 @@ class FirebaseStorageHostApiSetup { setMaxOperationRetryTimeChannel.setMessageHandler(nil) } let setMaxUploadRetryTimeChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -744,7 +768,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -753,7 +777,8 @@ class FirebaseStorageHostApiSetup { setMaxUploadRetryTimeChannel.setMessageHandler(nil) } let setMaxDownloadRetryTimeChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -766,7 +791,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -775,7 +800,8 @@ class FirebaseStorageHostApiSetup { setMaxDownloadRetryTimeChannel.setMessageHandler(nil) } let useStorageEmulatorChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -789,7 +815,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -798,7 +824,8 @@ class FirebaseStorageHostApiSetup { useStorageEmulatorChannel.setMessageHandler(nil) } let referenceDeleteChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -811,7 +838,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -820,7 +847,8 @@ class FirebaseStorageHostApiSetup { referenceDeleteChannel.setMessageHandler(nil) } let referenceGetDownloadURLChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -831,9 +859,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceGetDownloadURL(app: appArg, reference: referenceArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -842,7 +870,8 @@ class FirebaseStorageHostApiSetup { referenceGetDownloadURLChannel.setMessageHandler(nil) } let referenceGetMetaDataChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -853,9 +882,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceGetMetaData(app: appArg, reference: referenceArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -864,7 +893,8 @@ class FirebaseStorageHostApiSetup { referenceGetMetaDataChannel.setMessageHandler(nil) } let referenceListChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -876,9 +906,9 @@ class FirebaseStorageHostApiSetup { let optionsArg = args[2] as! InternalListOptions api.referenceList(app: appArg, reference: referenceArg, options: optionsArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -887,7 +917,8 @@ class FirebaseStorageHostApiSetup { referenceListChannel.setMessageHandler(nil) } let referenceListAllChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -898,9 +929,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceListAll(app: appArg, reference: referenceArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -909,7 +940,8 @@ class FirebaseStorageHostApiSetup { referenceListAllChannel.setMessageHandler(nil) } let referenceGetDataChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -921,9 +953,9 @@ class FirebaseStorageHostApiSetup { let maxSizeArg = args[2] as! Int64 api.referenceGetData(app: appArg, reference: referenceArg, maxSize: maxSizeArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -932,7 +964,8 @@ class FirebaseStorageHostApiSetup { referenceGetDataChannel.setMessageHandler(nil) } let referencePutDataChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -952,9 +985,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -963,7 +996,8 @@ class FirebaseStorageHostApiSetup { referencePutDataChannel.setMessageHandler(nil) } let referencePutStringChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -985,9 +1019,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -996,7 +1030,8 @@ class FirebaseStorageHostApiSetup { referencePutStringChannel.setMessageHandler(nil) } let referencePutFileChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1016,9 +1051,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1027,7 +1062,8 @@ class FirebaseStorageHostApiSetup { referencePutFileChannel.setMessageHandler(nil) } let referenceDownloadFileChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1045,9 +1081,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1056,7 +1092,8 @@ class FirebaseStorageHostApiSetup { referenceDownloadFileChannel.setMessageHandler(nil) } let referenceUpdateMetadataChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1067,12 +1104,14 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference let metadataArg = args[2] as! InternalSettableMetadata api - .referenceUpdateMetadata(app: appArg, reference: referenceArg, - metadata: metadataArg) { result in + .referenceUpdateMetadata( + app: appArg, reference: referenceArg, + metadata: metadataArg + ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1081,7 +1120,8 @@ class FirebaseStorageHostApiSetup { referenceUpdateMetadataChannel.setMessageHandler(nil) } let taskPauseChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1092,9 +1132,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskPause(app: appArg, handle: handleArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1103,7 +1143,8 @@ class FirebaseStorageHostApiSetup { taskPauseChannel.setMessageHandler(nil) } let taskResumeChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1114,9 +1155,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskResume(app: appArg, handle: handleArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1125,7 +1166,8 @@ class FirebaseStorageHostApiSetup { taskResumeChannel.setMessageHandler(nil) } let taskCancelChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel\(channelSuffix)", + name: + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1136,9 +1178,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskCancel(app: appArg, handle: handleArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift index 9cc69b046a25..21acfcbe6f32 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift @@ -27,11 +27,13 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { self.identifier = identifier } - func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { successHandle = task.observe(.success) { snapshot in events([ - "taskState": 2, // success + "taskState": 2, // success "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) @@ -41,7 +43,7 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { let err = snapshot.error as NSError? let errorDict: [String: Any] = self.errorDict(err) events([ - "taskState": 4, // error (including cancellations as errors per platform contract) + "taskState": 4, // error (including cancellations as errors per platform contract) "appName": self.storage.app.name, "error": errorDict, ]) @@ -49,14 +51,14 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { } pausedHandle = task.observe(.pause) { snapshot in events([ - "taskState": 0, // paused + "taskState": 0, // paused "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) } progressHandle = task.observe(.progress) { snapshot in events([ - "taskState": 1, // running + "taskState": 1, // running "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) @@ -105,7 +107,8 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { } let code: String if error.domain == StorageErrorDomain, - let storageCode = StorageErrorCode(rawValue: error.code) { + let storageCode = StorageErrorCode(rawValue: error.code) + { switch storageCode { case .objectNotFound: code = "object-not-found" case .bucketNotFound: code = "bucket-not-found" diff --git a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift index ed6ca67264a6..1c68fecaa8cd 100644 --- a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift @@ -13,10 +13,10 @@ let firebase_sdk_version: Version = "12.13.0" let package = Package( name: "firebase_storage", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-storage", targets: ["firebase_storage"]), + .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] - ), + ) ] ) From cc449a0936fab9ef11ea3a566160f6143600ef46 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 12:24:39 +0000 Subject: [PATCH 02/13] fix formatting --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 8 ++++---- .../cloud_firestore/macos/cloud_firestore/Package.swift | 8 ++++---- .../cloud_functions/ios/cloud_functions/Package.swift | 4 ++-- .../cloud_functions/macos/cloud_functions/Package.swift | 4 ++-- .../ios/firebase_analytics/Package.swift | 4 ++-- .../firebase_analytics/FirebaseAnalyticsPlugin.swift | 1 + .../macos/firebase_analytics/Package.swift | 4 ++-- .../ios/firebase_app_check/Package.swift | 4 ++-- .../firebase_app_check/FirebaseAppCheckPlugin.swift | 1 + .../macos/firebase_app_check/Package.swift | 4 ++-- .../ios/firebase_app_installations/Package.swift | 4 ++-- .../macos/firebase_app_installations/Package.swift | 4 ++-- .../firebase_auth/ios/firebase_auth/Package.swift | 8 ++++---- .../firebase_auth/macos/firebase_auth/Package.swift | 8 ++++---- .../firebase_core/ios/firebase_core/Package.swift | 8 ++++---- .../firebase_core/macos/firebase_core/Package.swift | 8 ++++---- .../ios/firebase_crashlytics/Package.swift | 8 ++++---- .../macos/firebase_crashlytics/Package.swift | 8 ++++---- .../firebase_database/ios/firebase_database/Package.swift | 8 ++++---- .../firebase_database/FLTFirebaseDatabasePlugin.swift | 1 + .../macos/firebase_database/Package.swift | 8 ++++---- .../ios/firebase_in_app_messaging/Package.swift | 8 ++++---- .../ios/firebase_messaging/Package.swift | 8 ++++---- .../macos/firebase_messaging/Package.swift | 8 ++++---- .../ios/firebase_ml_model_downloader/Package.swift | 4 ++-- .../macos/firebase_ml_model_downloader/Package.swift | 4 ++-- .../ios/firebase_performance/Package.swift | 8 ++++---- .../firebase_performance/FirebasePerformancePlugin.swift | 1 + .../ios/firebase_remote_config/Package.swift | 4 ++-- .../macos/firebase_remote_config/Package.swift | 4 ++-- .../firebase_storage/ios/firebase_storage/Package.swift | 8 ++++---- .../firebase_storage/macos/firebase_storage/Package.swift | 8 ++++---- 32 files changed, 92 insertions(+), 88 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index ddb6eb7a7ca8..a1f0c5459233 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "6.4.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "6.4.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_firestore", @@ -19,7 +19,7 @@ let package = Package( .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -35,7 +35,7 @@ let package = Package( cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), .headerSearchPath("include/cloud_firestore/Public"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] ) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift index 6d132ada25ec..136acd5af289 100644 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "6.4.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "6.4.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_firestore", @@ -19,7 +19,7 @@ let package = Package( .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -35,7 +35,7 @@ let package = Package( cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), .headerSearchPath("include/cloud_firestore/Public"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] ) diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift index c9442d2aea15..5b253b2230ff 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_functions", @@ -18,7 +18,7 @@ let package = Package( .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift index 68290dced718..f0400194cf77 100644 --- a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_functions", @@ -18,7 +18,7 @@ let package = Package( .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift index 1ff632203e28..9889d6eaba34 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift @@ -8,7 +8,7 @@ import Foundation import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" // Set FIREBASE_ANALYTICS_WITHOUT_ADID=true to use FirebaseAnalyticsWithoutAdIdSupport // e.g. FIREBASE_ANALYTICS_WITHOUT_ADID=true flutter build ios @@ -24,7 +24,7 @@ let package = Package( .library(name: "firebase-analytics", targets: ["firebase_analytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift index 490ea54b7ea6..293d96f3c10c 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift @@ -28,6 +28,7 @@ let kFLTFirebaseAdPersonalizationSignalsConsentGranted = "adPersonalizationSigna let kFLTFirebaseAdUserDataConsentGranted = "adUserDataConsentGranted" let kFLTFirebaseAnalyticsUserId = "userId" +// swift-format-ignore: AlwaysUseLowerCamelCase let FLTFirebaseAnalyticsChannelName = "plugins.flutter.io/firebase_analytics" extension FlutterError: Error {} diff --git a/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift b/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift index daeb4b9658e6..9a8e8fd12460 100644 --- a/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift +++ b/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_analytics", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-analytics", targets: ["firebase_analytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift index 418f69a2e0ba..9bb321a7ebc2 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_check", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-check", targets: ["firebase_app_check"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift index 53059fd6da8f..e3ffbdc804e0 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift @@ -20,6 +20,7 @@ import FirebaseCore let kFirebaseAppCheckChannelName = "plugins.flutter.io/firebase_app_check" let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check/token/" +// swift-format-ignore: AvoidRetroactiveConformances extension FlutterError: @retroactive Error {} public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, diff --git a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift index c90d75760255..b037419e74db 100644 --- a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_check", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-check", targets: ["firebase_app_check"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift index 76ff46070c32..187af18ff2c7 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_installations", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift index ec8c90083e8d..a72b4e4ebe61 100644 --- a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_installations", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift index 121bbc29bee3..75d20944e3fc 100644 --- a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "6.5.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "6.5.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_auth", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -35,7 +35,7 @@ let package = Package( cSettings: [ .headerSearchPath("include/Private"), .headerSearchPath("include/Public"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] ) diff --git a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift index 2d366fa4c1ed..354dcf69d47e 100644 --- a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "6.5.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "6.5.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_auth", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -35,7 +35,7 @@ let package = Package( cSettings: [ .headerSearchPath("include/Private"), .headerSearchPath("include/Public"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] ) diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index df507a64d44e..62e71a12d323 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version_string = "4.9.0" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersionString = "4.9.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_core", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version) + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion) ], targets: [ .target( @@ -33,7 +33,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include/firebase_core"), - .define("LIBRARY_VERSION", to: "\"\(library_version_string)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersionString)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] ) diff --git a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift index 1a0630577eb5..113314734a01 100644 --- a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version_string = "4.9.0" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersionString = "4.9.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_core", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version) + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion) ], targets: [ .target( @@ -33,7 +33,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include/firebase_core"), - .define("LIBRARY_VERSION", to: "\"\(library_version_string)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersionString)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift index f3cdda634e73..d64ecb10599f 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "5.2.2" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "5.2.2" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift index 55e5ac60d143..71eac4f906b3 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "5.2.2" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "5.2.2" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] ) diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift index 3d12a90d54bb..75c8d7d71bac 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "12.4.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "12.4.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_database", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] ) diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift index f60f6c148c04..491826a7b01a 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift @@ -19,6 +19,7 @@ import Foundation #endif /// Channel name constant to match macOS implementation +// swift-format-ignore: AlwaysUseLowerCamelCase let FLTFirebaseDatabaseChannelName = "plugins.flutter.io/firebase_database" @objc(FLTFirebaseDatabasePlugin) diff --git a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift index d9692a9a2996..095a6cecd5bf 100644 --- a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "12.4.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "12.4.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_database", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] ) diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift index d807fa54c596..8a3984b217aa 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "0.9.2-2" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "0.9.2-2" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_in_app_messaging", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fiam\""), ] ) diff --git a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift index b029af3482ee..fe339a92c7ab 100644 --- a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "16.2.2" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "16.2.2" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_messaging", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] ) diff --git a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift index e3a10f5c60e3..cd76544c9115 100644 --- a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "16.2.2" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "16.2.2" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_messaging", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] ) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift index bb4b64565a26..86a8eb73be28 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift index 309a7323305f..c24286b748ff 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift index 7080fb20e94a..8e3a8811fbb4 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "0.11.4-1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "0.11.4-1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_performance", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-performance", targets: ["firebase_performance"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-perf\""), ] ) diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift index 6ce16f0c0929..6cf9d789483f 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift @@ -16,6 +16,7 @@ import FirebasePerformance import firebase_core_shared #endif +// swift-format-ignore: AlwaysUseLowerCamelCase let FirebasePerformanceChannelName = "plugins.flutter.io/firebase_performance" extension FlutterError: Error {} diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift index 7e67689f3a68..f9f341c0141f 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_remote_config", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift index 1bb9bdce7a0d..7a2d858ba5cc 100644 --- a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift @@ -7,7 +7,7 @@ import PackageDescription -let firebase_sdk_version: Version = "12.13.0" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_remote_config", @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift index 9f8d4930435f..b3ac6bd86be3 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "13.4.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "13.4.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_storage", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] ) diff --git a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift index 1c68fecaa8cd..770f50848202 100644 --- a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift @@ -7,8 +7,8 @@ import PackageDescription -let library_version = "13.4.1" -let firebase_sdk_version: Version = "12.13.0" +let libraryVersion = "13.4.1" +let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_storage", @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ @@ -34,7 +34,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] ) From a0b2d91c3045a8d88a04ea27478548808de37611 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 13:03:58 +0000 Subject: [PATCH 03/13] chore: increase timeout for format job in CI workflow from 20 to 30 minutes --- .github/workflows/all_plugins.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index f3871dfbf874..762d90d8e3fb 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -83,7 +83,7 @@ jobs: format: # switch back to ubuntu-latest when swiftformat is working again runs-on: macos-latest - timeout-minutes: 20 + timeout-minutes: 30 steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 with: From 0455fc0a1dabc07aa0ab346b7234d4ad31112f69 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 13:38:51 +0000 Subject: [PATCH 04/13] fix formatting --- .github/workflows/all_plugins.yaml | 2 +- .../firebase/functions/FlutterFirebaseFunctionsPlugin.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 762d90d8e3fb..8d69fc837753 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -83,7 +83,7 @@ jobs: format: # switch back to ubuntu-latest when swiftformat is working again runs-on: macos-latest - timeout-minutes: 30 + timeout-minutes: 40 steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 with: diff --git a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt index 08a475e27cc3..f2aff1556e6d 100644 --- a/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt +++ b/packages/cloud_functions/cloud_functions/android/src/main/kotlin/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.kt @@ -125,7 +125,7 @@ class FlutterFirebaseFunctionsPlugin : FlutterPlugin, FlutterFirebasePlugin, Clo message = FirebaseFunctionsException.Code.DEADLINE_EXCEEDED.name } else if (functionsException.cause is InterruptedIOException // return DEADLINE_EXCEEDED for InterruptedIOException errors, to - // match iOS & Web + // match iOS & Web && "timeout" == (functionsException.cause as InterruptedIOException).message) { code = FirebaseFunctionsException.Code.DEADLINE_EXCEEDED.name message = FirebaseFunctionsException.Code.DEADLINE_EXCEEDED.name From 57f98fab60ca83dee5ad62fd92bd85567da97882 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 14:08:44 +0000 Subject: [PATCH 05/13] chore: change firebase-ios-sdk dependency from 'from' to 'exact' version in multiple Package.swift files --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 2 +- .../cloud_firestore/macos/cloud_firestore/Package.swift | 2 +- .../cloud_functions/ios/cloud_functions/Package.swift | 2 +- .../cloud_functions/macos/cloud_functions/Package.swift | 2 +- .../firebase_analytics/ios/firebase_analytics/Package.swift | 2 +- .../firebase_analytics/macos/firebase_analytics/Package.swift | 2 +- .../firebase_app_check/ios/firebase_app_check/Package.swift | 2 +- .../firebase_app_check/macos/firebase_app_check/Package.swift | 2 +- .../ios/firebase_app_installations/Package.swift | 2 +- .../macos/firebase_app_installations/Package.swift | 2 +- .../firebase_auth/firebase_auth/ios/firebase_auth/Package.swift | 2 +- .../firebase_auth/macos/firebase_auth/Package.swift | 2 +- .../firebase_core/firebase_core/ios/firebase_core/Package.swift | 2 +- .../firebase_core/macos/firebase_core/Package.swift | 2 +- .../firebase_crashlytics/ios/firebase_crashlytics/Package.swift | 2 +- .../macos/firebase_crashlytics/Package.swift | 2 +- .../firebase_database/ios/firebase_database/Package.swift | 2 +- .../firebase_database/macos/firebase_database/Package.swift | 2 +- .../ios/firebase_in_app_messaging/Package.swift | 2 +- .../firebase_messaging/ios/firebase_messaging/Package.swift | 2 +- .../firebase_messaging/macos/firebase_messaging/Package.swift | 2 +- .../ios/firebase_ml_model_downloader/Package.swift | 2 +- .../macos/firebase_ml_model_downloader/Package.swift | 2 +- .../firebase_performance/ios/firebase_performance/Package.swift | 2 +- .../ios/firebase_remote_config/Package.swift | 2 +- .../macos/firebase_remote_config/Package.swift | 2 +- .../firebase_storage/ios/firebase_storage/Package.swift | 2 +- .../firebase_storage/macos/firebase_storage/Package.swift | 2 +- 28 files changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index a1f0c5459233..a2bc598d3be6 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift index 136acd5af289..2438d85b6a6a 100644 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift index 5b253b2230ff..63d9adeac566 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift index f0400194cf77..8be5bb283b31 100644 --- a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift index 9889d6eaba34..16f26c8d379b 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift @@ -24,7 +24,7 @@ let package = Package( .library(name: "firebase-analytics", targets: ["firebase_analytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift b/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift index 9a8e8fd12460..040ad2c7df89 100644 --- a/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift +++ b/packages/firebase_analytics/firebase_analytics/macos/firebase_analytics/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-analytics", targets: ["firebase_analytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift index 9bb321a7ebc2..bbb503de342b 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-check", targets: ["firebase_app_check"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift index b037419e74db..0b49a74eb477 100644 --- a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-check", targets: ["firebase_app_check"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift index 187af18ff2c7..2d43d4e4781f 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift index a72b4e4ebe61..325e24d74976 100644 --- a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift index 75d20944e3fc..21e7c1442de5 100644 --- a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift index 354dcf69d47e..8ecc7b9db7ec 100644 --- a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index 62e71a12d323..28085699c8cb 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion) + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion) ], targets: [ .target( diff --git a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift index 113314734a01..74c925e5baa6 100644 --- a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion) + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion) ], targets: [ .target( diff --git a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift index d64ecb10599f..08be6e33616b 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift index 71eac4f906b3..21044f98b44f 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift index 75c8d7d71bac..14d652359c46 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift index 095a6cecd5bf..f11a445f0fd5 100644 --- a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift index 8a3984b217aa..cf4892d53507 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift index fe339a92c7ab..edc0ddaa543b 100644 --- a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift index cd76544c9115..fb9488cec058 100644 --- a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift index 86a8eb73be28..65138b30f9ec 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift index c24286b748ff..d59fe67468f2 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift index 8e3a8811fbb4..3fcf255d9868 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-performance", targets: ["firebase_performance"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift index f9f341c0141f..787668e656ef 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift index 7a2d858ba5cc..525d98ef693a 100644 --- a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift @@ -18,7 +18,7 @@ let package = Package( .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift index b3ac6bd86be3..3bb7839d5742 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ diff --git a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift index 770f50848202..a37ec5f226b2 100644 --- a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift @@ -19,7 +19,7 @@ let package = Package( .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), .package(name: "firebase_core", path: "../firebase_core"), ], targets: [ From 5ed559bdb7074831010ad5e08f2f06c755dd2053 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 14:57:22 +0000 Subject: [PATCH 06/13] chore: increase timeout for analyze job in CI workflow from 45 to 50 minutes --- .github/workflows/all_plugins.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 8d69fc837753..48f3d3d65464 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -20,7 +20,7 @@ on: jobs: analyze: - timeout-minutes: 45 + timeout-minutes: 50 runs-on: ubuntu-latest steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 From 3f8b39b814ddce930d60925e018dee28e413c7a3 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 18:01:04 +0000 Subject: [PATCH 07/13] chore: update swiftformat command to exclude specific directories in CI workflow --- .github/workflows/all_plugins.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 48f3d3d65464..41a8041ae7a0 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -116,7 +116,7 @@ jobs: - name: 'Swift' if: ${{ success() || failure() }} run: | - swiftformat . + swiftformat . --exclude Pods,**/Pods/**,**/build/**,**/SourcePackages/**,**/.symlinks/**,**/Flutter/ephemeral/** ./.github/workflows/scripts/validate-formatting.sh build_examples_dart: From c80de6c368b33976c1049ed6eb21cc6225f10628 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 18:53:45 +0000 Subject: [PATCH 08/13] fix formatting --- .../ios/cloud_firestore/Package.swift | 8 +- .../macos/cloud_firestore/Package.swift | 8 +- .../ios/cloud_functions/Package.swift | 8 +- .../CloudFunctionsMessages.g.swift | 21 +- .../FirebaseFunctionsPlugin.swift | 28 +- .../FunctionsStreamHandler.swift | 33 ++- .../macos/cloud_functions/Package.swift | 8 +- .../firebase_ai/ios/firebase_ai/Package.swift | 8 +- .../macos/firebase_ai/Package.swift | 8 +- .../ios/firebase_analytics/Package.swift | 8 +- .../FirebaseAnalyticsMessages.g.swift | 87 +++--- .../FirebaseAnalyticsPlugin.swift | 86 +++--- .../macos/firebase_analytics/Package.swift | 8 +- .../ios/firebase_app_check/Package.swift | 8 +- .../FirebaseAppCheckMessages.g.swift | 52 ++-- .../FirebaseAppCheckPlugin.swift | 78 +++--- .../macos/firebase_app_check/Package.swift | 8 +- .../firebase_app_installations/Package.swift | 8 +- .../FirebaseInstallationsPlugin.swift | 52 ++-- .../IdChangedStreamHandler.swift | 9 +- .../firebase_app_installations/Package.swift | 8 +- .../ios/firebase_auth/Package.swift | 8 +- .../macos/firebase_auth/Package.swift | 8 +- .../ios/firebase_core/Package.swift | 12 +- .../macos/firebase_core/Package.swift | 12 +- .../ios/firebase_crashlytics/Package.swift | 8 +- .../macos/firebase_crashlytics/Package.swift | 8 +- .../ios/firebase_database/Package.swift | 8 +- ...FirebaseDatabaseObserveStreamHandler.swift | 7 +- .../FLTFirebaseDatabasePlugin.swift | 170 +++++------- .../FLTFirebaseDatabaseUtils.swift | 27 +- .../FirebaseDatabaseMessages.g.swift | 252 ++++++++---------- .../macos/firebase_database/Package.swift | 8 +- .../firebase_in_app_messaging/Package.swift | 8 +- .../ios/firebase_messaging/Package.swift | 8 +- .../macos/firebase_messaging/Package.swift | 8 +- .../Package.swift | 8 +- .../FirebaseModelDownloaderPlugin.swift | 28 +- .../Package.swift | 8 +- .../ios/firebase_performance/Package.swift | 8 +- .../FirebasePerformanceMessages.g.swift | 60 ++--- .../FirebasePerformancePlugin.swift | 31 +-- .../ios/firebase_remote_config/Package.swift | 8 +- .../FirebaseRemoteConfigMessages.g.swift | 69 +++-- .../FirebaseRemoteConfigPlugin.swift | 36 +-- .../FirebaseRemoteConfigUtils.swift | 5 +- .../firebase_remote_config/Package.swift | 8 +- .../ios/firebase_storage/Package.swift | 8 +- .../FLTFirebaseStoragePlugin.swift | 176 +++++------- .../FirebaseStorageMessages.g.swift | 225 +++++++--------- .../TaskStateChannelStreamHandler.swift | 17 +- .../macos/firebase_storage/Package.swift | 8 +- 52 files changed, 796 insertions(+), 1001 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index a2bc598d3be6..38ce44044ae7 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_firestore", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "cloud-firestore", targets: ["cloud_firestore"]) + .library(name: "cloud-firestore", targets: ["cloud_firestore"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] - ) + ), ] ) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift index 2438d85b6a6a..789670b102c1 100644 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_firestore", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "cloud-firestore", targets: ["cloud_firestore"]) + .library(name: "cloud-firestore", targets: ["cloud_firestore"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] - ) + ), ] ) diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift index 63d9adeac566..ed210a2a3805 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_functions", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "cloud-functions", targets: ["cloud_functions"]) + .library(name: "cloud-functions", targets: ["cloud_functions"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift index 86ba0c92f137..afa02e226b18 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift @@ -88,9 +88,8 @@ class CloudFunctionsMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol CloudFunctionsHostApi { func call(arguments: [String: Any?], completion: @escaping (Result) -> Void) - func registerEventChannel( - arguments: [String: Any], - completion: @escaping (Result) -> Void) + func registerEventChannel(arguments: [String: Any], + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -101,14 +100,12 @@ class CloudFunctionsHostApiSetup { /// Sets up an instance of `CloudFunctionsHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: CloudFunctionsHostApi?, - messageChannelSuffix: String = "" - ) { + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: CloudFunctionsHostApi?, + messageChannelSuffix: String = "") { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let callChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call\(channelSuffix)", + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -118,9 +115,9 @@ class CloudFunctionsHostApiSetup { let argumentsArg = args[0] as! [String: Any?] api.call(arguments: argumentsArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -130,7 +127,7 @@ class CloudFunctionsHostApiSetup { } let registerEventChannelChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel\(channelSuffix)", + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -142,7 +139,7 @@ class CloudFunctionsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift index 38e10713625c..18941ed8c2b5 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift @@ -21,8 +21,7 @@ extension FlutterError: Error {} let kFLTFirebaseFunctionsChannelName = "plugins.flutter.io/firebase_functions" public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, FlutterPlugin, - CloudFunctionsHostApi -{ + CloudFunctionsHostApi { func call(arguments: [String: Any?], completion: @escaping (Result) -> Void) { httpsFunctionCall(arguments: arguments) { result, error in if let error { @@ -33,10 +32,8 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt } } - func registerEventChannel( - arguments: [String: Any], - completion: @escaping (Result) -> Void - ) { + func registerEventChannel(arguments: [String: Any], + completion: @escaping (Result) -> Void) { let eventChannelId = arguments["eventChannelId"]! let eventChannelName = "\(kFLTFirebaseFunctionsChannelName)/\(eventChannelId)" let eventChannel = FlutterEventChannel(name: eventChannelName, binaryMessenger: binaryMessenger) @@ -84,10 +81,8 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt CloudFunctionsHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) } - private func httpsFunctionCall( - arguments: [String: Any], - completion: @escaping (Any?, FlutterError?) -> Void - ) { + private func httpsFunctionCall(arguments: [String: Any], + completion: @escaping (Any?, FlutterError?) -> Void) { let appName = arguments["appName"] as? String ?? "" let functionName = arguments["functionName"] as? String let functionUri = arguments["functionUri"] as? String @@ -102,10 +97,9 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt let functions = Functions.functions(app: app, region: region ?? "") if let origin, !origin.isEmpty, - let url = URL(string: origin), - let host = url.host, - let port = url.port - { + let url = URL(string: origin), + let host = url.host, + let port = url.port { functions.useEmulator(withHost: host, port: port) } @@ -116,8 +110,7 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt if let functionName, !functionName.isEmpty { function = functions.httpsCallable(functionName, options: options) } else if let functionUri, !functionUri.isEmpty, - let url = URL(string: functionUri) - { + let url = URL(string: functionUri) { function = functions.httpsCallable(url, options: options) } else { completion( @@ -126,7 +119,8 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt code: "IllegalArgumentException", message: "Either functionName or functionUri must be set", details: nil - )) + ) + ) return } diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift index f61f405a9457..0258b49f8cc2 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift @@ -19,10 +19,8 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { super.init() } - func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { + func onListen(withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink) -> FlutterError? { streamTask = Task { await httpsStreamCall(arguments: arguments, events: events) } @@ -41,7 +39,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { FlutterError( code: "invalid_arguments", message: "Invalid arguments", - details: nil)) + details: nil + ) + ) } return } @@ -53,10 +53,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { let limitedUseAppCheckToken = arguments["limitedUseAppCheckToken"] as? Bool ?? false if let origin, - let url = URL(string: origin), - let host = url.host, - let port = url.port - { + let url = URL(string: origin), + let host = url.host, + let port = url.port { functions.useEmulator(withHost: host, port: port) } @@ -76,7 +75,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { FlutterError( code: "IllegalArgumentException", message: "Either functionName or functionUri must be set", - details: nil)) + details: nil + ) + ) } return } @@ -93,9 +94,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { for try await response in stream { await MainActor.run { switch response { - case .message(let message): + case let .message(message): events(["message": message.value]) - case .result(let result): + case let .result(result): events(["result": result.value]) events(FlutterEndOfEventStream) } @@ -107,7 +108,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { FlutterError( code: "unknown", message: error.localizedDescription, - details: ["code": "unknown", "message": error.localizedDescription])) + details: ["code": "unknown", "message": error.localizedDescription] + ) + ) } } } else { @@ -116,7 +119,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { FlutterError( code: "unknown", message: "Streaming requires iOS 15+ or macOS 12+", - details: nil)) + details: nil + ) + ) } } } diff --git a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift index 8be5bb283b31..a0639442b9ce 100644 --- a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_functions", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "cloud-functions", targets: ["cloud_functions"]) + .library(name: "cloud-functions", targets: ["cloud_functions"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift index a9bd49d4e4d1..087f2530b1c1 100644 --- a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift @@ -10,10 +10,10 @@ import PackageDescription let package = Package( name: "firebase_ai", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-ai", targets: ["firebase_ai"]) + .library(name: "firebase-ai", targets: ["firebase_ai"]), ], dependencies: [], targets: [ @@ -21,8 +21,8 @@ let package = Package( name: "firebase_ai", dependencies: [], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift index c551b27e41a6..5440873b51b2 100644 --- a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift @@ -10,10 +10,10 @@ import PackageDescription let package = Package( name: "firebase_ai", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-ai", targets: ["firebase_ai"]) + .library(name: "firebase-ai", targets: ["firebase_ai"]), ], dependencies: [], targets: [ @@ -21,8 +21,8 @@ let package = Package( name: "firebase_ai", dependencies: [], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift index 16f26c8d379b..ee2f72be8bbe 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift @@ -18,10 +18,10 @@ let analyticsProduct = useWithoutAdId ? "FirebaseAnalyticsWithoutAdIdSupport" : let package = Package( name: "firebase_analytics", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-analytics", targets: ["firebase_analytics"]) + .library(name: "firebase-analytics", targets: ["firebase_analytics"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -35,8 +35,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift index c3a557049cc0..b8b55e3305fc 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseAnalyticsMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: + case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseAnalyticsMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case (let lhs as Double, let rhs as Double): + case let (lhs as Double, rhs as Double): return doubleEqualsFirebaseAnalyticsMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -259,25 +259,20 @@ class FirebaseAnalyticsMessagesPigeonCodec: FlutterStandardMessageCodec, @unchec protocol FirebaseAnalyticsHostApi { func logEvent(event: [String: Any?], completion: @escaping (Result) -> Void) func setUserId(userId: String?, completion: @escaping (Result) -> Void) - func setUserProperty( - name: String, value: String?, - completion: @escaping (Result) -> Void) - func setAnalyticsCollectionEnabled( - enabled: Bool, - completion: @escaping (Result) -> Void) + func setUserProperty(name: String, value: String?, + completion: @escaping (Result) -> Void) + func setAnalyticsCollectionEnabled(enabled: Bool, + completion: @escaping (Result) -> Void) func resetAnalyticsData(completion: @escaping (Result) -> Void) - func setSessionTimeoutDuration( - timeout: Int64, - completion: @escaping (Result) -> Void) + func setSessionTimeoutDuration(timeout: Int64, + completion: @escaping (Result) -> Void) func setConsent(consent: [String: Bool?], completion: @escaping (Result) -> Void) - func setDefaultEventParameters( - parameters: [String: Any?]?, - completion: @escaping (Result) -> Void) + func setDefaultEventParameters(parameters: [String: Any?]?, + completion: @escaping (Result) -> Void) func getAppInstanceId(completion: @escaping (Result) -> Void) func getSessionId(completion: @escaping (Result) -> Void) - func initiateOnDeviceConversionMeasurement( - arguments: [String: String?], - completion: @escaping (Result) -> Void) + func initiateOnDeviceConversionMeasurement(arguments: [String: String?], + completion: @escaping (Result) -> Void) func logTransaction(transactionId: String, completion: @escaping (Result) -> Void) } @@ -289,14 +284,12 @@ class FirebaseAnalyticsHostApiSetup { /// Sets up an instance of `FirebaseAnalyticsHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseAnalyticsHostApi?, - messageChannelSuffix: String = "" - ) { + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseAnalyticsHostApi?, + messageChannelSuffix: String = "") { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let logEventChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -308,7 +301,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -318,7 +311,7 @@ class FirebaseAnalyticsHostApiSetup { } let setUserIdChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -330,7 +323,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -340,7 +333,7 @@ class FirebaseAnalyticsHostApiSetup { } let setUserPropertyChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -353,7 +346,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -363,7 +356,7 @@ class FirebaseAnalyticsHostApiSetup { } let setAnalyticsCollectionEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -375,7 +368,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -385,7 +378,7 @@ class FirebaseAnalyticsHostApiSetup { } let resetAnalyticsDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -395,7 +388,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -405,7 +398,7 @@ class FirebaseAnalyticsHostApiSetup { } let setSessionTimeoutDurationChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -417,7 +410,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -427,7 +420,7 @@ class FirebaseAnalyticsHostApiSetup { } let setConsentChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -439,7 +432,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -449,7 +442,7 @@ class FirebaseAnalyticsHostApiSetup { } let setDefaultEventParametersChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -461,7 +454,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -471,7 +464,7 @@ class FirebaseAnalyticsHostApiSetup { } let getAppInstanceIdChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -479,9 +472,9 @@ class FirebaseAnalyticsHostApiSetup { getAppInstanceIdChannel.setMessageHandler { _, reply in api.getAppInstanceId { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -491,7 +484,7 @@ class FirebaseAnalyticsHostApiSetup { } let getSessionIdChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -499,9 +492,9 @@ class FirebaseAnalyticsHostApiSetup { getSessionIdChannel.setMessageHandler { _, reply in api.getSessionId { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -511,7 +504,7 @@ class FirebaseAnalyticsHostApiSetup { } let initiateOnDeviceConversionMeasurementChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -523,7 +516,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -533,7 +526,7 @@ class FirebaseAnalyticsHostApiSetup { } let logTransactionChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -545,7 +538,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift index 293d96f3c10c..d1a6938ae3fb 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift @@ -34,8 +34,7 @@ let FLTFirebaseAnalyticsChannelName = "plugins.flutter.io/firebase_analytics" extension FlutterError: Error {} public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, FlutterPlugin, - FirebaseAnalyticsHostApi -{ + FirebaseAnalyticsHostApi { public static func register(with registrar: any FlutterPluginRegistrar) { let binaryMessenger: FlutterBinaryMessenger @@ -64,18 +63,14 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setUserProperty( - name: String, value: String?, - completion: @escaping (Result) -> Void - ) { + func setUserProperty(name: String, value: String?, + completion: @escaping (Result) -> Void) { Analytics.setUserProperty(value, forName: name) completion(.success(())) } - func setAnalyticsCollectionEnabled( - enabled: Bool, - completion: @escaping (Result) -> Void - ) { + func setAnalyticsCollectionEnabled(enabled: Bool, + completion: @escaping (Result) -> Void) { Analytics.setAnalyticsCollectionEnabled(enabled) completion(.success(())) } @@ -85,18 +80,14 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setSessionTimeoutDuration( - timeout: Int64, - completion: @escaping (Result) -> Void - ) { + func setSessionTimeoutDuration(timeout: Int64, + completion: @escaping (Result) -> Void) { Analytics.setSessionTimeoutInterval(TimeInterval(timeout)) completion(.success(())) } - func setConsent( - consent: [String: Bool?], - completion: @escaping (Result) -> Void - ) { + func setConsent(consent: [String: Bool?], + completion: @escaping (Result) -> Void) { var parameters: [ConsentType: ConsentStatus] = [:] if let adStorage = consent[kFLTFirebaseAnalyticsAdStorageConsentGranted] as? Bool { parameters[.adStorage] = adStorage ? .granted : .denied @@ -105,8 +96,7 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt parameters[.analyticsStorage] = analyticsStorage ? .granted : .denied } if let adPersonalization = - consent[kFLTFirebaseAdPersonalizationSignalsConsentGranted] as? Bool - { + consent[kFLTFirebaseAdPersonalizationSignalsConsentGranted] as? Bool { parameters[.adPersonalization] = adPersonalization ? .granted : .denied } if let adUserData = consent[kFLTFirebaseAdUserDataConsentGranted] as? Bool { @@ -116,10 +106,8 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setDefaultEventParameters( - parameters: [String: Any?]?, - completion: @escaping (Result) -> Void - ) { + func setDefaultEventParameters(parameters: [String: Any?]?, + completion: @escaping (Result) -> Void) { Analytics.setDefaultEventParameters(parameters) completion(.success(())) } @@ -139,12 +127,10 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt } } - func initiateOnDeviceConversionMeasurement( - arguments: [String: String?], - completion: - @escaping (Result) - -> Void - ) { + func initiateOnDeviceConversionMeasurement(arguments: [String: String?], + completion: + @escaping (Result) + -> Void) { if let emailAddress = arguments["emailAddress"] as? String { Analytics.initiateOnDeviceConversionMeasurement(emailAddress: emailAddress) } @@ -152,22 +138,18 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: phoneNumber) } if let hashedEmailAddress = arguments["hashedEmailAddress"] as? String, - let data = hexStringToData(hashedEmailAddress) - { + let data = hexStringToData(hashedEmailAddress) { Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: data) } if let hashedPhoneNumber = arguments["hashedPhoneNumber"] as? String, - let data = hexStringToData(hashedPhoneNumber) - { + let data = hexStringToData(hashedPhoneNumber) { Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: data) } completion(.success(())) } - func logTransaction( - transactionId: String, - completion: @escaping (Result) -> Void - ) { + func logTransaction(transactionId: String, + completion: @escaping (Result) -> Void) { #if os(macOS) if #available(macOS 12.0, *) { logTransactionWithStoreKit(transactionId: transactionId, completion: completion) @@ -178,7 +160,9 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt code: "firebase_analytics", message: "logTransaction() is only supported on macOS 12.0 or newer", details: nil - ))) + ) + ) + ) } #else if #available(iOS 15.0, *) { @@ -190,7 +174,9 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt code: "firebase_analytics", message: "logTransaction() is only supported on iOS 15.0 or newer", details: nil - ))) + ) + ) + ) } #endif } @@ -200,10 +186,8 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt #else @available(iOS 15.0, *) #endif - private func logTransactionWithStoreKit( - transactionId: String, - completion: @escaping (Result) -> Void - ) { + private func logTransactionWithStoreKit(transactionId: String, + completion: @escaping (Result) -> Void) { Task { do { guard let id = UInt64(transactionId) else { @@ -213,14 +197,16 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt code: "firebase_analytics", message: "Invalid transactionId", details: nil - ))) + ) + ) + ) return } var foundTransaction: Transaction? for await result in Transaction.all { switch result { - case .verified(let transaction): + case let .verified(transaction): if transaction.id == id { foundTransaction = transaction break @@ -237,7 +223,9 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt code: "firebase_analytics", message: "Transaction not found", details: nil - ))) + ) + ) + ) return } @@ -256,9 +244,9 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt var data = Data(capacity: length / 2) var index = hexString.startIndex - for _ in 0..<(length / 2) { + for _ in 0 ..< (length / 2) { let nextIndex = hexString.index(index, offsetBy: 2) - guard let byte = UInt8(hexString[index..) -> Void) - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) + func activate(appName: String, androidProvider: String?, appleProvider: String?, + debugToken: String?, completion: @escaping (Result) -> Void) + func getToken(appName: String, forceRefresh: Bool, + completion: @escaping (Result) -> Void) + func setTokenAutoRefreshEnabled(appName: String, isTokenAutoRefreshEnabled: Bool, + completion: @escaping (Result) -> Void) func registerTokenListener(appName: String, completion: @escaping (Result) -> Void) - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void) + func getLimitedUseAppCheckToken(appName: String, + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -112,14 +108,12 @@ class FirebaseAppCheckHostApiSetup { /// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "" - ) { + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, + messageChannelSuffix: String = "") { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let activateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -139,7 +133,7 @@ class FirebaseAppCheckHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -149,7 +143,7 @@ class FirebaseAppCheckHostApiSetup { } let getTokenChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -160,9 +154,9 @@ class FirebaseAppCheckHostApiSetup { let forceRefreshArg = args[1] as! Bool api.getToken(appName: appNameArg, forceRefresh: forceRefreshArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -172,7 +166,7 @@ class FirebaseAppCheckHostApiSetup { } let setTokenAutoRefreshEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -188,7 +182,7 @@ class FirebaseAppCheckHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -198,7 +192,7 @@ class FirebaseAppCheckHostApiSetup { } let registerTokenListenerChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -208,9 +202,9 @@ class FirebaseAppCheckHostApiSetup { let appNameArg = args[0] as! String api.registerTokenListener(appName: appNameArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -220,7 +214,7 @@ class FirebaseAppCheckHostApiSetup { } let getLimitedUseAppCheckTokenChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -230,9 +224,9 @@ class FirebaseAppCheckHostApiSetup { let appNameArg = args[0] as! String api.getLimitedUseAppCheckToken(appName: appNameArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift index e3ffbdc804e0..bd42b3a7f2fe 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift @@ -24,8 +24,7 @@ let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check extension FlutterError: @retroactive Error {} public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, - FLTFirebasePluginProtocol, FirebaseAppCheckHostApi -{ + FLTFirebasePluginProtocol, FirebaseAppCheckHostApi { private var eventChannels: [String: FlutterEventChannel] = [:] private var streamHandlers: [String: AppCheckTokenStreamHandler] = [:] private var providerFactory: FlutterAppCheckProviderFactory? @@ -62,17 +61,17 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, private var binaryMessenger: FlutterBinaryMessenger? - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void - ) { + func activate(appName: String, androidProvider: String?, appleProvider: String?, + debugToken: String?, + completion: @escaping (Result) -> Void) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName) else { completion( .failure( FlutterError( code: "unknown", message: "Firebase app not found: \(appName)", details: nil - ))) + ) + ) + ) return } let provider = appleProvider ?? "deviceCheck" @@ -82,18 +81,18 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, completion(.success(())) } - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void - ) { + func getToken(appName: String, forceRefresh: Bool, + completion: @escaping (Result) -> Void) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { completion( .failure( FlutterError( code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ))) + ) + ) + ) return } @@ -106,28 +105,26 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, } } - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void - ) { + func setTokenAutoRefreshEnabled(appName: String, isTokenAutoRefreshEnabled: Bool, + completion: @escaping (Result) -> Void) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { completion( .failure( FlutterError( code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ))) + ) + ) + ) return } appCheck.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled completion(.success(())) } - func registerTokenListener( - appName: String, - completion: @escaping (Result) -> Void - ) { + func registerTokenListener(appName: String, + completion: @escaping (Result) -> Void) { let name = kFirebaseAppCheckTokenChannelPrefix + appName guard let messenger = binaryMessenger else { @@ -137,7 +134,9 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, code: "no-messenger", message: "Binary messenger not available", details: nil - ))) + ) + ) + ) return } @@ -151,18 +150,18 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, completion(.success(name)) } - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void - ) { + func getLimitedUseAppCheckToken(appName: String, + completion: @escaping (Result) -> Void) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { completion( .failure( FlutterError( code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ))) + ) + ) + ) return } @@ -209,13 +208,13 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, let nsError = error as NSError var code = "unknown" switch nsError.code { - case 0: // FIRAppCheckErrorCodeServerUnreachable + case 0: // FIRAppCheckErrorCodeServerUnreachable code = "server-unreachable" - case 1: // FIRAppCheckErrorCodeInvalidConfiguration + case 1: // FIRAppCheckErrorCodeInvalidConfiguration code = "invalid-configuration" - case 2: // FIRAppCheckErrorCodeKeychain + case 2: // FIRAppCheckErrorCodeKeychain code = "code-keychain" - case 3: // FIRAppCheckErrorCodeUnsupported + case 3: // FIRAppCheckErrorCodeUnsupported code = "code-unsupported" default: code = "unknown" @@ -233,10 +232,8 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, class AppCheckTokenStreamHandler: NSObject, FlutterStreamHandler { private var observer: NSObjectProtocol? - func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { + func onListen(withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink) -> FlutterError? { observer = NotificationCenter.default.addObserver( forName: NSNotification.Name("FIRAppCheckAppCheckTokenDidChangeNotification"), object: nil, @@ -319,7 +316,8 @@ class AppCheckProviderWrapper: NSObject, AppCheckProvider { NSError( domain: "firebase_app_check", code: -1, userInfo: [NSLocalizedDescriptionKey: "Provider not configured"] - )) + ) + ) return } delegateProvider.getToken(completion: handler) diff --git a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift index 0b49a74eb477..50b8ab80ca5d 100644 --- a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_check", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]) + .library(name: "firebase-app-check", targets: ["firebase_app_check"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift index 2d43d4e4781f..4afc2e85660d 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_installations", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) + .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift index 3c3b5e3b6d79..7d5a0c426033 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift @@ -76,10 +76,8 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func getId( - arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock - ) { + private func getId(arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { let instance = getInstallations(appName: arguments["appName"] as! String) instance.installationID { (id: String?, error: Error?) in if let error { @@ -94,10 +92,8 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func deleteId( - arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock - ) { + private func deleteId(arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { let instance = getInstallations(appName: arguments["appName"] as! String) instance.delete { (error: Error?) in if let error { @@ -112,18 +108,14 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func getToken( - arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock - ) { + private func getToken(arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { let instance = getInstallations(appName: arguments["appName"] as! String) let forceRefresh = arguments["forceRefresh"] as? Bool ?? false instance .authTokenForcingRefresh(forceRefresh) { - ( - tokenResult: InstallationsAuthTokenResult?, - error: Error? - ) in + (tokenResult: InstallationsAuthTokenResult?, + error: Error?) in if let error { errorBlock(nil, nil, nil, error) } else { @@ -136,10 +128,8 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func registerIdChangeListener( - arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock - ) { + private func registerIdChangeListener(arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { let instance = getInstallations(appName: arguments["appName"] as! String) let appName = arguments["appName"] as! String let eventChannelName = kFLTFirebaseInstallationsChannelName + "/token/" + appName @@ -158,7 +148,8 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F private func mapInstallationsErrorCodes(code: UInt) -> NSString { let error = InstallationsErrorCode( InstallationsErrorCode - .Code(rawValue: Int(code)) ?? InstallationsErrorCode.unknown) + .Code(rawValue: Int(code)) ?? InstallationsErrorCode.unknown + ) switch error { case InstallationsErrorCode.invalidConfiguration: @@ -181,24 +172,23 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F code: "invalid-arguments", message: "Arguments are not a dictionary", details: nil - )) + ) + ) return } let errorBlock: FLTFirebaseMethodCallErrorBlock = { - ( - code, message, details, - error: Error? - ) in + (code, message, details, + error: Error?) in var errorDetails = [String: Any?]() errorDetails["code"] = code - ?? self - .mapInstallationsErrorCodes(code: UInt((error! as NSError).code)) + ?? self + .mapInstallationsErrorCodes(code: UInt((error! as NSError).code)) errorDetails["message"] = message ?? error? - .localizedDescription ?? "An unknown error has occurred." + .localizedDescription ?? "An unknown error has occurred." errorDetails["additionalData"] = details if code == "unknown" { @@ -215,7 +205,9 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F optionalDetails: errorDetails[ "additionalData" ] as? [AnyHashable: Any], - andOptionalNSError: error)) + andOptionalNSError: error + ) + ) } switch call.method { diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift index 2c40cc50373a..30790c94adf5 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift @@ -38,7 +38,8 @@ class IdChangedStreamHandler: NSObject, FlutterStreamHandler { code: "unknown", message: error.localizedDescription, details: ["code": "unknown", "message": error.localizedDescription] - )) + ) + ) } else if let newId, newId != self.installationsId { self.installationsId = newId self.eventSink?(["token": self.installationsId]) @@ -46,10 +47,8 @@ class IdChangedStreamHandler: NSObject, FlutterStreamHandler { } } - func onListen( - withArguments _: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { + func onListen(withArguments _: Any?, + eventSink events: @escaping FlutterEventSink) -> FlutterError? { eventSink = events installationIDObserver = NotificationCenter.default.addObserver( diff --git a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift index 325e24d74976..053758b7f66e 100644 --- a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_installations", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) + .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift index 21e7c1442de5..94f09adcb347 100644 --- a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_auth", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]) + .library(name: "firebase-auth", targets: ["firebase_auth"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] - ) + ), ] ) diff --git a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift index 8ecc7b9db7ec..d0d3185bf408 100644 --- a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_auth", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]) + .library(name: "firebase-auth", targets: ["firebase_auth"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] - ) + ), ] ) diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index 28085699c8cb..9ba15e12f0ee 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -13,29 +13,29 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_core", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-core", targets: ["firebase_core"]) + .library(name: "firebase-core", targets: ["firebase_core"]), ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion) + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), ], targets: [ .target( name: "firebase_core", dependencies: [ // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(libraryVersionString)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] - ) + ), ] ) diff --git a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift index 74c925e5baa6..a93a5423e8c9 100644 --- a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift @@ -13,29 +13,29 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_core", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-core", targets: ["firebase_core"]) + .library(name: "firebase-core", targets: ["firebase_core"]), ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion) + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), ], targets: [ .target( name: "firebase_core", dependencies: [ // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(libraryVersionString)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] - ) + ), ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift index 08be6e33616b..772c35c796a0 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) + .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] - ) + ), ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift index 21044f98b44f..6e3bec211cb1 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) + .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] - ) + ), ] ) diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift index 14d652359c46..9ea68a1f7b9d 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_database", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-database", targets: ["firebase_database"]) + .library(name: "firebase-database", targets: ["firebase_database"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] - ) + ), ] ) diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift index 86029a6d5d39..4b147e49db5b 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift @@ -22,17 +22,16 @@ import FirebaseDatabase } func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) - -> FlutterError? - { + -> FlutterError? { guard let args = arguments as? [String: Any], - let eventTypeString = args["eventType"] as? String + let eventTypeString = args["eventType"] as? String else { return nil } let observeBlock: (DataSnapshot, String?) -> Void = { [weak self] snapshot, previousChildKey in var eventDictionary: [String: Any] = [ - "eventType": eventTypeString + "eventType": eventTypeString, ] let snapshotDict = FLTFirebaseDatabaseUtils.dictionary( diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift index 491826a7b01a..780f5db50366 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift @@ -24,8 +24,7 @@ let FLTFirebaseDatabaseChannelName = "plugins.flutter.io/firebase_database" @objc(FLTFirebaseDatabasePlugin) public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePluginProtocol, - FirebaseDatabaseHostApi -{ + FirebaseDatabaseHostApi { private var binaryMessenger: FlutterBinaryMessenger private static var cachedDatabaseInstances: [String: Database] = [:] private var streamHandlers: [String: FLTFirebaseDatabaseObserveStreamHandler] = [:] @@ -105,28 +104,22 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Database Management - func goOnline( - app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void - ) { + func goOnline(app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) database.goOnline() completion(.success(())) } - func goOffline( - app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void - ) { + func goOffline(app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) database.goOffline() completion(.success(())) } - func setPersistenceEnabled( - app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void - ) { + func setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) { let instanceKey = app.appName + (app.databaseURL ?? "") if Self.cachedDatabaseInstances[instanceKey] != nil { completion(.success(())) @@ -138,10 +131,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func setPersistenceCacheSizeBytes( - app: DatabasePigeonFirebaseApp, cacheSize: Int64, - completion: @escaping (Result) -> Void - ) { + func setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Int64, + completion: @escaping (Result) -> Void) { let instanceKey = app.appName + (app.databaseURL ?? "") if Self.cachedDatabaseInstances[instanceKey] != nil { completion(.success(())) @@ -157,47 +148,37 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func setLoggingEnabled( - app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void - ) { + func setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) { Database.setLoggingEnabled(enabled) completion(.success(())) } - func useDatabaseEmulator( - app: DatabasePigeonFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void - ) { + func useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) database.useEmulator(withHost: host, port: Int(port)) completion(.success(())) } - func ref( - app: DatabasePigeonFirebaseApp, path: String?, - completion: @escaping (Result) -> Void - ) { + func ref(app: DatabasePigeonFirebaseApp, path: String?, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: path ?? "") let result = DatabaseReferencePlatform(path: reference.url) completion(.success(result)) } - func refFromURL( - app: DatabasePigeonFirebaseApp, url: String, - completion: @escaping (Result) -> Void - ) { + func refFromURL(app: DatabasePigeonFirebaseApp, url: String, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(fromURL: url) let result = DatabaseReferencePlatform(path: reference.url) completion(.success(result)) } - func purgeOutstandingWrites( - app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void - ) { + func purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) database.purgeOutstandingWrites() completion(.success(())) @@ -205,10 +186,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Database Reference Operations - func databaseReferenceSet( - app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void - ) { + func databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -221,11 +200,9 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceSetWithPriority( - app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void - ) { + func databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -238,10 +215,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceUpdate( - app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void - ) { + func databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -256,11 +231,9 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceSetPriority( - app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void - ) { + func databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -273,10 +246,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceRunTransaction( - app: DatabasePigeonFirebaseApp, request: TransactionRequest, - completion: @escaping (Result) -> Void - ) { + func databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -292,12 +263,13 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug snapshotValue: currentData.value ) { result in switch result { - case .success(let handlerResult): + case let .success(handlerResult): transactionResult = handlerResult - case .failure(let error): + case let .failure(error): print("Transaction handler error: \(error)") transactionResult = TransactionHandlerResult( - value: nil, aborted: true, exception: true) + value: nil, aborted: true, exception: true + ) } semaphore.signal() } @@ -336,15 +308,14 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug ] completion(.success(())) - }, withLocalEvents: request.applyLocally) + }, withLocalEvents: request.applyLocally + ) } - func databaseReferenceGetTransactionResult( - app: DatabasePigeonFirebaseApp, transactionKey: Int64, - completion: - @escaping (Result<[String: Any?], Error>) - -> Void - ) { + func databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Int64, + completion: + @escaping (Result<[String: Any?], Error>) + -> Void) { if let result = transactionResults.removeValue(forKey: transactionKey) { completion(.success(result)) } else { @@ -352,16 +323,15 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug .success([ "committed": false, "snapshot": ["value": NSNull()], - ])) + ]) + ) } } // MARK: - OnDisconnect Operations - func onDisconnectSet( - app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void - ) { + func onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -374,11 +344,9 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectSetWithPriority( - app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void - ) { + func onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -391,10 +359,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectUpdate( - app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void - ) { + func onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -409,10 +375,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectCancel( - app: DatabasePigeonFirebaseApp, path: String, - completion: @escaping (Result) -> Void - ) { + func onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: path) @@ -427,10 +391,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Query Operations - func queryObserve( - app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void - ) { + func queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -493,8 +455,7 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber - { + let limit = modifier["limit"] as? NSNumber { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -532,10 +493,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(channelName)) } - func queryKeepSynced( - app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void - ) { + func queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -598,8 +557,7 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber - { + let limit = modifier["limit"] as? NSNumber { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -622,10 +580,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func queryGet( - app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result<[String: Any?], Error>) -> Void - ) { + func queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result<[String: Any?], Error>) -> Void) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -699,8 +655,7 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber - { + let limit = modifier["limit"] as? NSNumber { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -763,8 +718,7 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } if let emulatorHost = app.settings.emulatorHost, - let emulatorPort = app.settings.emulatorPort - { + let emulatorPort = app.settings.emulatorPort { database.useEmulator(withHost: emulatorHost, port: Int(emulatorPort)) } diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift index c51f5ac67a2a..9561af721ff1 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift @@ -55,8 +55,7 @@ import Foundation } if let emulatorHost = arguments["emulatorHost"] as? String, - let emulatorPort = arguments["emulatorPort"] as? Int - { + let emulatorPort = arguments["emulatorPort"] as? Int { database.useEmulator(withHost: emulatorHost, port: emulatorPort) } @@ -70,10 +69,8 @@ import Foundation return database.reference(withPath: path) } - private static func databaseQuery( - _ query: DatabaseQuery, - applyLimitModifier modifier: [String: Any] - ) -> DatabaseQuery { + private static func databaseQuery(_ query: DatabaseQuery, + applyLimitModifier modifier: [String: Any]) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" let limit = modifier["limit"] as? UInt ?? 0 @@ -87,10 +84,8 @@ import Foundation } } - private static func databaseQuery( - _ query: DatabaseQuery, - applyOrderModifier modifier: [String: Any] - ) -> DatabaseQuery { + private static func databaseQuery(_ query: DatabaseQuery, + applyOrderModifier modifier: [String: Any]) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" switch name { @@ -108,10 +103,8 @@ import Foundation } } - private static func databaseQuery( - _ query: DatabaseQuery, - applyCursorModifier modifier: [String: Any] - ) -> DatabaseQuery { + private static func databaseQuery(_ query: DatabaseQuery, + applyCursorModifier modifier: [String: Any]) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" let key = modifier["key"] as? String let value = modifier["value"] @@ -168,10 +161,8 @@ import Foundation return query } - static func dictionary( - from snapshot: DataSnapshot, - withPreviousChildKey previousChildKey: String? - ) -> [String: Any] { + static func dictionary(from snapshot: DataSnapshot, + withPreviousChildKey previousChildKey: String?) -> [String: Any] { [ "snapshot": dictionary(from: snapshot), "previousChildKey": previousChildKey ?? NSNull(), diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift index 4e8d5aa6a273..55ab0772b52f 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift @@ -97,7 +97,7 @@ func deepEqualsFirebaseDatabaseMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: + case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -139,7 +139,7 @@ func deepEqualsFirebaseDatabaseMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case (let lhs as Double, let rhs as Double): + case let (lhs as Double, rhs as Double): return doubleEqualsFirebaseDatabaseMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -304,7 +304,7 @@ struct DatabaseReferencePlatform: Hashable { func toList() -> [Any?] { [ - path + path, ] } @@ -623,74 +623,53 @@ class FirebaseDatabaseMessagesPigeonCodec: FlutterStandardMessageCodec, @uncheck /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebaseDatabaseHostApi { func goOnline(app: DatabasePigeonFirebaseApp, completion: @escaping (Result) -> Void) - func goOffline( - app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) - func setPersistenceEnabled( - app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) - func setPersistenceCacheSizeBytes( - app: DatabasePigeonFirebaseApp, cacheSize: Int64, - completion: @escaping (Result) -> Void) - func setLoggingEnabled( - app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) - func useDatabaseEmulator( - app: DatabasePigeonFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) - func ref( - app: DatabasePigeonFirebaseApp, path: String?, - completion: @escaping (Result) -> Void) - func refFromURL( - app: DatabasePigeonFirebaseApp, url: String, - completion: @escaping (Result) -> Void) - func purgeOutstandingWrites( - app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) - func databaseReferenceSet( - app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceSetWithPriority( - app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceUpdate( - app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceSetPriority( - app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceRunTransaction( - app: DatabasePigeonFirebaseApp, request: TransactionRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceGetTransactionResult( - app: DatabasePigeonFirebaseApp, transactionKey: Int64, - completion: - @escaping (Result<[String: Any?], Error>) - -> Void) - func onDisconnectSet( - app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func onDisconnectSetWithPriority( - app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func onDisconnectUpdate( - app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) - func onDisconnectCancel( - app: DatabasePigeonFirebaseApp, path: String, - completion: @escaping (Result) -> Void) - func queryObserve( - app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) - func queryKeepSynced( - app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) - func queryGet( - app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result<[String: Any?], Error>) -> Void) + func goOffline(app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) + func setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) + func setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Int64, + completion: @escaping (Result) -> Void) + func setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) + func useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) + func ref(app: DatabasePigeonFirebaseApp, path: String?, + completion: @escaping (Result) -> Void) + func refFromURL(app: DatabasePigeonFirebaseApp, url: String, + completion: @escaping (Result) -> Void) + func purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) + func databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Int64, + completion: + @escaping (Result<[String: Any?], Error>) + -> Void) + func onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) + func onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, + completion: @escaping (Result) -> Void) + func queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) + func queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) + func queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result<[String: Any?], Error>) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -701,14 +680,12 @@ class FirebaseDatabaseHostApiSetup { /// Sets up an instance of `FirebaseDatabaseHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseDatabaseHostApi?, - messageChannelSuffix: String = "" - ) { + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseDatabaseHostApi?, + messageChannelSuffix: String = "") { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let goOnlineChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -720,7 +697,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -730,7 +707,7 @@ class FirebaseDatabaseHostApiSetup { } let goOfflineChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -742,7 +719,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -752,7 +729,7 @@ class FirebaseDatabaseHostApiSetup { } let setPersistenceEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -765,7 +742,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -775,7 +752,7 @@ class FirebaseDatabaseHostApiSetup { } let setPersistenceCacheSizeBytesChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -788,7 +765,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -798,7 +775,7 @@ class FirebaseDatabaseHostApiSetup { } let setLoggingEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -811,7 +788,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -821,7 +798,7 @@ class FirebaseDatabaseHostApiSetup { } let useDatabaseEmulatorChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -835,7 +812,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -845,7 +822,7 @@ class FirebaseDatabaseHostApiSetup { } let refChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -856,9 +833,9 @@ class FirebaseDatabaseHostApiSetup { let pathArg: String? = nilOrValue(args[1]) api.ref(app: appArg, path: pathArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -868,7 +845,7 @@ class FirebaseDatabaseHostApiSetup { } let refFromURLChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -879,9 +856,9 @@ class FirebaseDatabaseHostApiSetup { let urlArg = args[1] as! String api.refFromURL(app: appArg, url: urlArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -891,7 +868,7 @@ class FirebaseDatabaseHostApiSetup { } let purgeOutstandingWritesChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -903,7 +880,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -913,7 +890,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceSetChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -926,7 +903,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -936,7 +913,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceSetWithPriorityChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -949,7 +926,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -959,7 +936,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceUpdateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -972,7 +949,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -982,7 +959,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceSetPriorityChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -995,7 +972,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1005,7 +982,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceRunTransactionChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1018,7 +995,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1028,7 +1005,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceGetTransactionResultChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1043,9 +1020,9 @@ class FirebaseDatabaseHostApiSetup { transactionKey: transactionKeyArg ) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1055,7 +1032,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectSetChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1068,7 +1045,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1078,7 +1055,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectSetWithPriorityChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1091,7 +1068,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1101,7 +1078,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectUpdateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1114,7 +1091,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1124,7 +1101,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectCancelChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1137,7 +1114,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1147,7 +1124,7 @@ class FirebaseDatabaseHostApiSetup { } let queryObserveChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1158,9 +1135,9 @@ class FirebaseDatabaseHostApiSetup { let requestArg = args[1] as! QueryRequest api.queryObserve(app: appArg, request: requestArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1170,7 +1147,7 @@ class FirebaseDatabaseHostApiSetup { } let queryKeepSyncedChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1183,7 +1160,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1193,7 +1170,7 @@ class FirebaseDatabaseHostApiSetup { } let queryGetChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1204,9 +1181,9 @@ class FirebaseDatabaseHostApiSetup { let requestArg = args[1] as! QueryRequest api.queryGet(app: appArg, request: requestArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1219,12 +1196,11 @@ class FirebaseDatabaseHostApiSetup { /// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. protocol FirebaseDatabaseFlutterApiProtocol { - func callTransactionHandler( - transactionKey transactionKeyArg: Int64, - snapshotValue snapshotValueArg: Any?, - completion: - @escaping (Result) - -> Void) + func callTransactionHandler(transactionKey transactionKeyArg: Int64, + snapshotValue snapshotValueArg: Any?, + completion: + @escaping (Result) + -> Void) } class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { @@ -1239,13 +1215,11 @@ class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { FirebaseDatabaseMessagesPigeonCodec.shared } - func callTransactionHandler( - transactionKey transactionKeyArg: Int64, - snapshotValue snapshotValueArg: Any?, - completion: - @escaping (Result) - -> Void - ) { + func callTransactionHandler(transactionKey transactionKeyArg: Int64, + snapshotValue snapshotValueArg: Any?, + completion: + @escaping (Result) + -> Void) { let channelName = "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseFlutterApi.callTransactionHandler\(messageChannelSuffix)" let channel = FlutterBasicMessageChannel( @@ -1270,7 +1244,9 @@ class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { code: "null-error", message: "Flutter api returned null value for non-null return value.", details: "" - ))) + ) + ) + ) } else { let result = listResponse[0] as! TransactionHandlerResult completion(.success(result)) diff --git a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift index f11a445f0fd5..cf4ff9c961b8 100644 --- a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_database", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-database", targets: ["firebase_database"]) + .library(name: "firebase-database", targets: ["firebase_database"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] - ) + ), ] ) diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift index cf4892d53507..d8e872b15378 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_in_app_messaging", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]) + .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fiam\""), ] - ) + ), ] ) diff --git a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift index edc0ddaa543b..29991d4e2136 100644 --- a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_messaging", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-messaging", targets: ["firebase_messaging"]) + .library(name: "firebase-messaging", targets: ["firebase_messaging"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] - ) + ), ] ) diff --git a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift index fb9488cec058..7458a424a915 100644 --- a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_messaging", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-messaging", targets: ["firebase_messaging"]) + .library(name: "firebase-messaging", targets: ["firebase_messaging"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] - ) + ), ] ) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift index 65138b30f9ec..806c78b8a527 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) + .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift index 12c3aecaefec..ee07864144e9 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift @@ -87,7 +87,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, errorDetails["code"] = code ?? self.mapErrorCodes(error: error! as NSError) errorDetails["message"] = message ?? error? - .localizedDescription ?? "An unknown error has occurred." + .localizedDescription ?? "An unknown error has occurred." errorDetails["additionalData"] = details ?? ["code": errorDetails["code"], "message": errorDetails["message"]] @@ -102,7 +102,9 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, optionalDetails: errorDetails[ "additionalData" ] as? [AnyHashable: Any], - andOptionalNSError: nil)) + andOptionalNSError: nil + ) + ) } let result = FLTFirebaseMethodCallResult.create(success: result, andErrorBlock: errorBlock) @@ -117,15 +119,13 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, } } - func listDownloadedModels( - arguments: [String: Any], - result: FLTFirebaseMethodCallResult - ) { + func listDownloadedModels(arguments: [String: Any], + result: FLTFirebaseMethodCallResult) { let modelDownloader = modelDownloaderFromArguments(arguments: arguments) modelDownloader?.listDownloadedModels { response in switch response { - case .success(let customModel): + case let .success(customModel): let responseList: [[String: Any]] = customModel.map { [ "filePath": $0.path, @@ -135,7 +135,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, ] } result.success(responseList) - case .failure(let error): + case let .failure(error): result.error(nil, nil, nil, error) } } @@ -165,23 +165,21 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, conditions: modelDownloadConditions ) { response in switch response { - case .success(let customModel): + case let .success(customModel): result.success([ "filePath": customModel.path, "size": customModel.size, "hash": customModel.hash, "name": customModel.name, ]) - case .failure(let error): + case let .failure(error): result.error(nil, nil, nil, error) } } } - func deleteDownloadedModel( - arguments: [String: Any], - result: FLTFirebaseMethodCallResult - ) { + func deleteDownloadedModel(arguments: [String: Any], + result: FLTFirebaseMethodCallResult) { let modelDownloader = modelDownloaderFromArguments(arguments: arguments) let modelName = arguments["modelName"] @@ -189,7 +187,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, switch response { case .success(): result.success(nil) - case .failure(let error): + case let .failure(error): result.error(nil, nil, nil, error) } } diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift index d59fe67468f2..42976cc49195 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) + .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift index 3fcf255d9868..77299ac498ed 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_performance", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-performance", targets: ["firebase_performance"]) + .library(name: "firebase-performance", targets: ["firebase_performance"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-perf\""), ] - ) + ), ] ) diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift index d0bf9252d08f..a78020ab4de1 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebasePerformanceMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: + case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebasePerformanceMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case (let lhs as Double, let rhs as Double): + case let (lhs as Double, rhs as Double): return doubleEqualsFirebasePerformanceMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -393,20 +393,16 @@ class FirebasePerformanceMessagesPigeonCodec: FlutterStandardMessageCodec, @unch /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebasePerformanceHostApi { - func setPerformanceCollectionEnabled( - enabled: Bool, - completion: @escaping (Result) -> Void) + func setPerformanceCollectionEnabled(enabled: Bool, + completion: @escaping (Result) -> Void) func isPerformanceCollectionEnabled(completion: @escaping (Result) -> Void) func startTrace(name: String, completion: @escaping (Result) -> Void) - func stopTrace( - handle: Int64, attributes: TraceAttributes, - completion: @escaping (Result) -> Void) - func startHttpMetric( - options: HttpMetricOptions, - completion: @escaping (Result) -> Void) - func stopHttpMetric( - handle: Int64, attributes: HttpMetricAttributes, - completion: @escaping (Result) -> Void) + func stopTrace(handle: Int64, attributes: TraceAttributes, + completion: @escaping (Result) -> Void) + func startHttpMetric(options: HttpMetricOptions, + completion: @escaping (Result) -> Void) + func stopHttpMetric(handle: Int64, attributes: HttpMetricAttributes, + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -417,14 +413,12 @@ class FirebasePerformanceHostApiSetup { /// Sets up an instance of `FirebasePerformanceHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebasePerformanceHostApi?, - messageChannelSuffix: String = "" - ) { + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebasePerformanceHostApi?, + messageChannelSuffix: String = "") { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let setPerformanceCollectionEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -436,7 +430,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -446,7 +440,7 @@ class FirebasePerformanceHostApiSetup { } let isPerformanceCollectionEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -454,9 +448,9 @@ class FirebasePerformanceHostApiSetup { isPerformanceCollectionEnabledChannel.setMessageHandler { _, reply in api.isPerformanceCollectionEnabled { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -466,7 +460,7 @@ class FirebasePerformanceHostApiSetup { } let startTraceChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -476,9 +470,9 @@ class FirebasePerformanceHostApiSetup { let nameArg = args[0] as! String api.startTrace(name: nameArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -488,7 +482,7 @@ class FirebasePerformanceHostApiSetup { } let stopTraceChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -501,7 +495,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -511,7 +505,7 @@ class FirebasePerformanceHostApiSetup { } let startHttpMetricChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -521,9 +515,9 @@ class FirebasePerformanceHostApiSetup { let optionsArg = args[0] as! HttpMetricOptions api.startHttpMetric(options: optionsArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -533,7 +527,7 @@ class FirebasePerformanceHostApiSetup { } let stopHttpMetricChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -546,7 +540,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift index 6cf9d789483f..5ece6be74977 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift @@ -22,8 +22,7 @@ let FirebasePerformanceChannelName = "plugins.flutter.io/firebase_performance" extension FlutterError: Error {} public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePluginProtocol, - FirebasePerformanceHostApi -{ + FirebasePerformanceHostApi { public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { completion() } @@ -61,10 +60,8 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug FirebasePerformanceHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) } - public func setPerformanceCollectionEnabled( - enabled: Bool, - completion: @escaping (Result) -> Void - ) { + public func setPerformanceCollectionEnabled(enabled: Bool, + completion: @escaping (Result) -> Void) { Performance.sharedInstance().isDataCollectionEnabled = enabled completion(.success(())) } @@ -82,10 +79,8 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(Int64(traceHandle))) } - func stopTrace( - handle: Int64, attributes: TraceAttributes, - completion: @escaping (Result) -> Void - ) { + func stopTrace(handle: Int64, attributes: TraceAttributes, + completion: @escaping (Result) -> Void) { guard let trace = traces[Int(handle)] else { completion(.success(())) return @@ -108,10 +103,8 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func startHttpMetric( - options: HttpMetricOptions, - completion: @escaping (Result) -> Void - ) { + func startHttpMetric(options: HttpMetricOptions, + completion: @escaping (Result) -> Void) { guard let url = URL(string: options.url) else { completion(.failure(FlutterError(code: "invalid-url", message: "Invalid url", details: nil))) return @@ -124,7 +117,9 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug code: "invalid-argument", message: "Invalid httpMethod", details: nil - ))) + ) + ) + ) return } @@ -135,10 +130,8 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(Int64(httpMetricHandle))) } - func stopHttpMetric( - handle: Int64, attributes: HttpMetricAttributes, - completion: @escaping (Result) -> Void - ) { + func stopHttpMetric(handle: Int64, attributes: HttpMetricAttributes, + completion: @escaping (Result) -> Void) { guard let httpMetric = httpMetrics[Int(handle)] else { completion(.success(())) return diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift index 787668e656ef..5fa617c1a8e0 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_remote_config", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) + .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift index f7b031c0c6e3..887333e53fce 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseRemoteConfigMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: + case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseRemoteConfigMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case (let lhs as Double, let rhs as Double): + case let (lhs as Double, rhs as Double): return doubleEqualsFirebaseRemoteConfigMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -263,16 +263,13 @@ protocol FirebaseRemoteConfigHostApi { func fetch(appName: String, completion: @escaping (Result) -> Void) func fetchAndActivate(appName: String, completion: @escaping (Result) -> Void) func activate(appName: String, completion: @escaping (Result) -> Void) - func setConfigSettings( - appName: String, settings: RemoteConfigPigeonSettings, - completion: @escaping (Result) -> Void) - func setDefaults( - appName: String, defaultParameters: [String: Any?], - completion: @escaping (Result) -> Void) + func setConfigSettings(appName: String, settings: RemoteConfigPigeonSettings, + completion: @escaping (Result) -> Void) + func setDefaults(appName: String, defaultParameters: [String: Any?], + completion: @escaping (Result) -> Void) func ensureInitialized(appName: String, completion: @escaping (Result) -> Void) - func setCustomSignals( - appName: String, customSignals: [String: Any?], - completion: @escaping (Result) -> Void) + func setCustomSignals(appName: String, customSignals: [String: Any?], + completion: @escaping (Result) -> Void) func getAll(appName: String, completion: @escaping (Result<[String: Any?], Error>) -> Void) func getProperties(appName: String, completion: @escaping (Result<[String: Any], Error>) -> Void) } @@ -285,14 +282,12 @@ class FirebaseRemoteConfigHostApiSetup { /// Sets up an instance of `FirebaseRemoteConfigHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseRemoteConfigHostApi?, - messageChannelSuffix: String = "" - ) { + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseRemoteConfigHostApi?, + messageChannelSuffix: String = "") { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let fetchChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -304,7 +299,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -314,7 +309,7 @@ class FirebaseRemoteConfigHostApiSetup { } let fetchAndActivateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -324,9 +319,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.fetchAndActivate(appName: appNameArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -336,7 +331,7 @@ class FirebaseRemoteConfigHostApiSetup { } let activateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -346,9 +341,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.activate(appName: appNameArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -358,7 +353,7 @@ class FirebaseRemoteConfigHostApiSetup { } let setConfigSettingsChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -371,7 +366,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -381,7 +376,7 @@ class FirebaseRemoteConfigHostApiSetup { } let setDefaultsChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -394,7 +389,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -404,7 +399,7 @@ class FirebaseRemoteConfigHostApiSetup { } let ensureInitializedChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -416,7 +411,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -426,7 +421,7 @@ class FirebaseRemoteConfigHostApiSetup { } let setCustomSignalsChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -439,7 +434,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -449,7 +444,7 @@ class FirebaseRemoteConfigHostApiSetup { } let getAllChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -459,9 +454,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.getAll(appName: appNameArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -471,7 +466,7 @@ class FirebaseRemoteConfigHostApiSetup { } let getPropertiesChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -481,9 +476,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.getProperties(appName: appNameArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift index aa923738980a..301e35d5ab19 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift @@ -22,8 +22,7 @@ let kFirebaseRemoteConfigUpdatedChannelName = "plugins.flutter.io/firebase_remot extension FlutterError: Error {} public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamHandler, - FLTFirebasePluginProtocol, FirebaseRemoteConfigHostApi -{ + FLTFirebasePluginProtocol, FirebaseRemoteConfigHostApi { private var listenersMap: [String: ConfigUpdateListenerRegistration] = [:] private var fetchAndActivateRetry = false @@ -108,10 +107,8 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } } - func setConfigSettings( - appName: String, settings: RemoteConfigPigeonSettings, - completion: @escaping (Result) -> Void - ) { + func setConfigSettings(appName: String, settings: RemoteConfigPigeonSettings, + completion: @escaping (Result) -> Void) { let fetchTimeout = settings.fetchTimeoutSeconds let minFetchInterval = settings.minimumFetchIntervalSeconds let configSettings = RemoteConfigSettings() @@ -121,10 +118,8 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH completion(.success(())) } - func setDefaults( - appName: String, defaultParameters: [String: Any?], - completion: @escaping (Result) -> Void - ) { + func setDefaults(appName: String, defaultParameters: [String: Any?], + completion: @escaping (Result) -> Void) { var filtered: [String: NSObject] = [:] for (key, value) in defaultParameters { @@ -147,10 +142,8 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } } - func setCustomSignals( - appName: String, customSignals: [String: Any?], - completion: @escaping (Result) -> Void - ) { + func setCustomSignals(appName: String, customSignals: [String: Any?], + completion: @escaping (Result) -> Void) { let signalValues = convertToCustomSignalValues(customSignals) Task { do { @@ -179,10 +172,8 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH completion(.success(parameters)) } - func getProperties( - appName: String, - completion: @escaping (Result<[String: Any], any Error>) -> Void - ) { + func getProperties(appName: String, + completion: @escaping (Result<[String: Any], any Error>) -> Void) { let config = getRemoteConfig(from: appName) completion(.success(configProperties(for: config))) } @@ -199,10 +190,8 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH kFirebaseRemoteConfigChannelName } - public func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { + public func onListen(withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink) -> FlutterError? { guard let args = arguments as? [String: Any], let appName = args["appName"] as? String else { return nil } @@ -248,8 +237,7 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } private func createRemoteConfigValueDict(_ remoteConfigValue: RemoteConfigValue) - -> [String: Any] - { + -> [String: Any] { [ "value": FlutterStandardTypedData(bytes: remoteConfigValue.dataValue), "source": mapSource(remoteConfigValue.source), diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift index 45065769736b..1e35341b36aa 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift @@ -11,8 +11,7 @@ class FLTFirebaseRemoteConfigUtils { switch error.code { case RemoteConfigError.internalError.rawValue: if let description = error.userInfo[NSLocalizedDescriptionKey] as? String, - description.contains("403") - { + description.contains("403") { // See PR for details: https://github.com/firebase/flutterfire/pull/9629 codeAndMessage["code"] = "forbidden" let updateMessage = @@ -22,7 +21,7 @@ class FLTFirebaseRemoteConfigUtils { codeAndMessage["code"] = "internal" codeAndMessage["message"] = error - .userInfo[NSLocalizedDescriptionKey] as? String ?? "Internal error" + .userInfo[NSLocalizedDescriptionKey] as? String ?? "Internal error" } case RemoteConfigError.throttled.rawValue: diff --git a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift index 525d98ef693a..70abdd968bc3 100644 --- a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_remote_config", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) + .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ] - ) + ), ] ) diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift index 3bb7839d5742..a1fe1e8b7a6f 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_storage", platforms: [ - .iOS("15.0") + .iOS("15.0"), ], products: [ - .library(name: "firebase-storage", targets: ["firebase_storage"]) + .library(name: "firebase-storage", targets: ["firebase_storage"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] - ) + ), ] ) diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift index 8b96a90cb42f..c49aed7f7312 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift @@ -63,10 +63,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt return Storage.storage(app: firApp, url: base) } - private func ref( - app: InternalStorageFirebaseApp, - reference: InternalStorageReference - ) -> StorageReference { + private func ref(app: InternalStorageFirebaseApp, + reference: InternalStorageReference) -> StorageReference { storage(app: app).reference(withPath: reference.fullPath) } @@ -74,10 +72,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt InternalStorageReference(bucket: ref.bucket, fullPath: ref.fullPath, name: ref.name) } - func getReferencebyPath( - app: InternalStorageFirebaseApp, path: String, bucket: String?, - completion: @escaping (Result) -> Void - ) { + func getReferencebyPath(app: InternalStorageFirebaseApp, path: String, bucket: String?, + completion: @escaping (Result) -> Void) { let r = storage(app: app).reference(withPath: path) completion( .success( @@ -85,37 +81,31 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt bucket: r.bucket, fullPath: r.fullPath, name: r.name - ))) + ) + ) + ) } - func setMaxOperationRetryTime( - app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void - ) { + func setMaxOperationRetryTime(app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) { storage(app: app).maxOperationRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func setMaxUploadRetryTime( - app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void - ) { + func setMaxUploadRetryTime(app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) { storage(app: app).maxUploadRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func setMaxDownloadRetryTime( - app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void - ) { + func setMaxDownloadRetryTime(app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) { storage(app: app).maxDownloadRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func useStorageEmulator( - app: InternalStorageFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void - ) { + func useStorageEmulator(app: InternalStorageFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) { guard emulatorBooted[app.bucket] == nil else { completion(.success(())) return @@ -126,10 +116,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt completion(.success(())) } - func referenceDelete( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void - ) { + func referenceDelete(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) { ref(app: app, reference: reference).delete { error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -139,10 +127,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceGetDownloadURL( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void - ) { + func referenceGetDownloadURL(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) { ref(app: app, reference: reference).downloadURL { url, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -152,15 +138,15 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt url!.absoluteString.replacingOccurrences( of: ":443", with: "" - ))) + ) + ) + ) } } } - func referenceGetMetaData( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void - ) { + func referenceGetMetaData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) { ref(app: app, reference: reference).getMetadata { md, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -170,11 +156,9 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceList( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - options: InternalListOptions, - completion: @escaping (Result) -> Void - ) { + func referenceList(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + options: InternalListOptions, + completion: @escaping (Result) -> Void) { let r = ref(app: app, reference: reference) let block: (StorageListResult?, Error?) -> Void = { list, error in if let e = error { @@ -190,10 +174,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceListAll( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void - ) { + func referenceListAll(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) { ref(app: app, reference: reference).listAll { list, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -203,11 +185,9 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceGetData( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - maxSize: Int64, - completion: @escaping (Result) -> Void - ) { + func referenceGetData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + maxSize: Int64, + completion: @escaping (Result) -> Void) { ref(app: app, reference: reference).getData(maxSize: maxSize) { data, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -219,11 +199,9 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referencePutData( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void - ) { + func referencePutData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) { let r = ref(app: app, reference: reference) let task = r.putData(data.data, metadata: toMeta(settableMetaData)) completion( @@ -233,14 +211,14 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt appName: r.storage.app.name, handle: handle, path: r.fullPath - ))) + ) + ) + ) } - func referencePutString( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: String, format: Int64, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void - ) { + func referencePutString(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: String, format: Int64, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) { let r = ref(app: app, reference: reference) let d: Data if format == 1 { @@ -250,7 +228,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt Data( base64Encoded: data.replacingOccurrences(of: "-", with: "+") .replacingOccurrences(of: "_", with: "/") - .padding(toLength: ((data.count + 3) / 4) * 4, withPad: "=", startingAt: 0)) ?? Data() + .padding(toLength: ((data.count + 3) / 4) * 4, withPad: "=", startingAt: 0) + ) ?? Data() } else { d = Data() } @@ -262,15 +241,15 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt appName: r.storage.app.name, handle: handle, path: r.fullPath - ))) + ) + ) + ) } - func referencePutFile( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, settableMetaData: InternalSettableMetadata?, - handle: Int64, - completion: @escaping (Result) -> Void - ) { + func referencePutFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, settableMetaData: InternalSettableMetadata?, + handle: Int64, + completion: @escaping (Result) -> Void) { let r = ref(app: app, reference: reference) let url = URL(fileURLWithPath: filePath) let task: StorageUploadTask @@ -286,14 +265,14 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt appName: r.storage.app.name, handle: handle, path: r.fullPath - ))) + ) + ) + ) } - func referenceDownloadFile( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, handle: Int64, - completion: @escaping (Result) -> Void - ) { + func referenceDownloadFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, handle: Int64, + completion: @escaping (Result) -> Void) { let r = ref(app: app, reference: reference) let url = URL(fileURLWithPath: filePath) let task = r.write(toFile: url) @@ -304,16 +283,16 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt appName: r.storage.app.name, handle: handle, path: r.fullPath - ))) + ) + ) + ) } - func referenceUpdateMetadata( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - metadata: InternalSettableMetadata, - completion: - @escaping (Result) - -> Void - ) { + func referenceUpdateMetadata(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + metadata: InternalSettableMetadata, + completion: + @escaping (Result) + -> Void) { ref(app: app, reference: reference).updateMetadata(toMeta(metadata)) { md, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -323,10 +302,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskPause( - app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void - ) { + func taskPause(app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) { if let task = handleToTask[handle] as? StorageUploadTask { task.pause() completion(.success(["status": true, "snapshot": currentSnapshot(handle: handle)])) @@ -338,10 +315,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskResume( - app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void - ) { + func taskResume(app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) { if let task = handleToTask[handle] as? StorageUploadTask { task.resume() completion(.success(["status": true, "snapshot": currentSnapshot(handle: handle)])) @@ -353,10 +328,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskCancel( - app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void - ) { + func taskCancel(app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) { if let task = handleToTask[handle] as? StorageUploadTask { task.cancel() if let id = handleToIdentifier[handle] { @@ -414,10 +387,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt return InternalListResult(items: itemsOpt, pageToken: list.pageToken, prefixs: prefixesOpt) } - private func registerTask( - task: StorageObservableTask, appName: String, handle: Int64, - path: String - ) -> String { + private func registerTask(task: StorageObservableTask, appName: String, handle: Int64, + path: String) -> String { let uuid = UUID().uuidString let channelName = "plugins.flutter.io/firebase_storage/taskEvent/\(uuid)" let channel = FlutterEventChannel(name: channelName, binaryMessenger: messenger!) @@ -427,7 +398,8 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt task: task, storage: storageInstance, identifier: channelName - )) + ) + ) eventChannels[channelName] = channel handleToTask[handle] = task as AnyObject handleToPath[handle] = path diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift index 8012456b979d..38e19570f010 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseStorageMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: + case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseStorageMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case (let lhs as Double, let rhs as Double): + case let (lhs as Double, rhs as Double): return doubleEqualsFirebaseStorageMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -297,7 +297,7 @@ struct InternalFullMetaData: Hashable { func toList() -> [Any?] { [ - metadata + metadata, ] } @@ -627,70 +627,51 @@ class FirebaseStorageMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecke /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebaseStorageHostApi { - func getReferencebyPath( - app: InternalStorageFirebaseApp, path: String, bucket: String?, - completion: @escaping (Result) -> Void) - func setMaxOperationRetryTime( - app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func setMaxUploadRetryTime( - app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func setMaxDownloadRetryTime( - app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func useStorageEmulator( - app: InternalStorageFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) - func referenceDelete( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetDownloadURL( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetMetaData( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceList( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - options: InternalListOptions, - completion: @escaping (Result) -> Void) - func referenceListAll( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetData( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - maxSize: Int64, - completion: @escaping (Result) -> Void) - func referencePutData( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) - func referencePutString( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: String, format: Int64, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) - func referencePutFile( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, settableMetaData: InternalSettableMetadata?, - handle: Int64, completion: @escaping (Result) -> Void) - func referenceDownloadFile( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, handle: Int64, - completion: @escaping (Result) -> Void) - func referenceUpdateMetadata( - app: InternalStorageFirebaseApp, reference: InternalStorageReference, - metadata: InternalSettableMetadata, - completion: @escaping (Result) -> Void) - func taskPause( - app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) - func taskResume( - app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) - func taskCancel( - app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) + func getReferencebyPath(app: InternalStorageFirebaseApp, path: String, bucket: String?, + completion: @escaping (Result) -> Void) + func setMaxOperationRetryTime(app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func setMaxUploadRetryTime(app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func setMaxDownloadRetryTime(app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func useStorageEmulator(app: InternalStorageFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) + func referenceDelete(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetDownloadURL(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetMetaData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceList(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + options: InternalListOptions, + completion: @escaping (Result) -> Void) + func referenceListAll(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + maxSize: Int64, + completion: @escaping (Result) -> Void) + func referencePutData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) + func referencePutString(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: String, format: Int64, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) + func referencePutFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, settableMetaData: InternalSettableMetadata?, + handle: Int64, completion: @escaping (Result) -> Void) + func referenceDownloadFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, handle: Int64, + completion: @escaping (Result) -> Void) + func referenceUpdateMetadata(app: InternalStorageFirebaseApp, reference: InternalStorageReference, + metadata: InternalSettableMetadata, + completion: @escaping (Result) -> Void) + func taskPause(app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) + func taskResume(app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) + func taskCancel(app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -701,14 +682,12 @@ class FirebaseStorageHostApiSetup { /// Sets up an instance of `FirebaseStorageHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseStorageHostApi?, - messageChannelSuffix: String = "" - ) { + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseStorageHostApi?, + messageChannelSuffix: String = "") { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let getReferencebyPathChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -720,9 +699,9 @@ class FirebaseStorageHostApiSetup { let bucketArg: String? = nilOrValue(args[2]) api.getReferencebyPath(app: appArg, path: pathArg, bucket: bucketArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -732,7 +711,7 @@ class FirebaseStorageHostApiSetup { } let setMaxOperationRetryTimeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -745,7 +724,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -755,7 +734,7 @@ class FirebaseStorageHostApiSetup { } let setMaxUploadRetryTimeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -768,7 +747,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -778,7 +757,7 @@ class FirebaseStorageHostApiSetup { } let setMaxDownloadRetryTimeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -791,7 +770,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -801,7 +780,7 @@ class FirebaseStorageHostApiSetup { } let useStorageEmulatorChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -815,7 +794,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -825,7 +804,7 @@ class FirebaseStorageHostApiSetup { } let referenceDeleteChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -838,7 +817,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -848,7 +827,7 @@ class FirebaseStorageHostApiSetup { } let referenceGetDownloadURLChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -859,9 +838,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceGetDownloadURL(app: appArg, reference: referenceArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -871,7 +850,7 @@ class FirebaseStorageHostApiSetup { } let referenceGetMetaDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -882,9 +861,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceGetMetaData(app: appArg, reference: referenceArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -894,7 +873,7 @@ class FirebaseStorageHostApiSetup { } let referenceListChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -906,9 +885,9 @@ class FirebaseStorageHostApiSetup { let optionsArg = args[2] as! InternalListOptions api.referenceList(app: appArg, reference: referenceArg, options: optionsArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -918,7 +897,7 @@ class FirebaseStorageHostApiSetup { } let referenceListAllChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -929,9 +908,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceListAll(app: appArg, reference: referenceArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -941,7 +920,7 @@ class FirebaseStorageHostApiSetup { } let referenceGetDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -953,9 +932,9 @@ class FirebaseStorageHostApiSetup { let maxSizeArg = args[2] as! Int64 api.referenceGetData(app: appArg, reference: referenceArg, maxSize: maxSizeArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -965,7 +944,7 @@ class FirebaseStorageHostApiSetup { } let referencePutDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -985,9 +964,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -997,7 +976,7 @@ class FirebaseStorageHostApiSetup { } let referencePutStringChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1019,9 +998,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1031,7 +1010,7 @@ class FirebaseStorageHostApiSetup { } let referencePutFileChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1051,9 +1030,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1063,7 +1042,7 @@ class FirebaseStorageHostApiSetup { } let referenceDownloadFileChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1081,9 +1060,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1093,7 +1072,7 @@ class FirebaseStorageHostApiSetup { } let referenceUpdateMetadataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1109,9 +1088,9 @@ class FirebaseStorageHostApiSetup { metadata: metadataArg ) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1121,7 +1100,7 @@ class FirebaseStorageHostApiSetup { } let taskPauseChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1132,9 +1111,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskPause(app: appArg, handle: handleArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1144,7 +1123,7 @@ class FirebaseStorageHostApiSetup { } let taskResumeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1155,9 +1134,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskResume(app: appArg, handle: handleArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } @@ -1167,7 +1146,7 @@ class FirebaseStorageHostApiSetup { } let taskCancelChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1178,9 +1157,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskCancel(app: appArg, handle: handleArg) { result in switch result { - case .success(let res): + case let .success(res): reply(wrapResult(res)) - case .failure(let error): + case let .failure(error): reply(wrapError(error)) } } diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift index 21acfcbe6f32..9cc69b046a25 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift @@ -27,13 +27,11 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { self.identifier = identifier } - func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { + func onListen(withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink) -> FlutterError? { successHandle = task.observe(.success) { snapshot in events([ - "taskState": 2, // success + "taskState": 2, // success "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) @@ -43,7 +41,7 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { let err = snapshot.error as NSError? let errorDict: [String: Any] = self.errorDict(err) events([ - "taskState": 4, // error (including cancellations as errors per platform contract) + "taskState": 4, // error (including cancellations as errors per platform contract) "appName": self.storage.app.name, "error": errorDict, ]) @@ -51,14 +49,14 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { } pausedHandle = task.observe(.pause) { snapshot in events([ - "taskState": 0, // paused + "taskState": 0, // paused "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) } progressHandle = task.observe(.progress) { snapshot in events([ - "taskState": 1, // running + "taskState": 1, // running "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) @@ -107,8 +105,7 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { } let code: String if error.domain == StorageErrorDomain, - let storageCode = StorageErrorCode(rawValue: error.code) - { + let storageCode = StorageErrorCode(rawValue: error.code) { switch storageCode { case .objectNotFound: code = "object-not-found" case .bucketNotFound: code = "bucket-not-found" diff --git a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift index a37ec5f226b2..c15464ac5da8 100644 --- a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_storage", platforms: [ - .macOS("10.15") + .macOS("10.15"), ], products: [ - .library(name: "firebase-storage", targets: ["firebase_storage"]) + .library(name: "firebase-storage", targets: ["firebase_storage"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources") + .process("Resources"), ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] - ) + ), ] ) From fb94182585d0b61b966714ee907545c98366e89d Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 20:39:53 +0000 Subject: [PATCH 09/13] refactor: update pattern matching syntax in Swift files to use `case .success(let value)` and `case .failure(let error)` for consistency; adjust swiftformat configuration to disable additional rules --- .swiftformat | 3 +- .../CloudFunctionsMessages.g.swift | 6 +- .../FunctionsStreamHandler.swift | 4 +- .../FirebaseAnalyticsMessages.g.swift | 32 ++++----- .../FirebaseAnalyticsPlugin.swift | 2 +- .../FirebaseAppCheckMessages.g.swift | 16 ++--- .../FLTFirebaseDatabasePlugin.swift | 4 +- .../FirebaseDatabaseMessages.g.swift | 58 +++++++-------- .../FirebaseModelDownloaderPlugin.swift | 10 +-- .../FirebasePerformanceMessages.g.swift | 22 +++--- .../FirebaseRemoteConfigMessages.g.swift | 30 ++++---- .../FirebaseStorageMessages.g.swift | 70 +++++++++---------- 12 files changed, 129 insertions(+), 128 deletions(-) diff --git a/.swiftformat b/.swiftformat index 7f0db7664edf..d8573cd10895 100644 --- a/.swiftformat +++ b/.swiftformat @@ -1,6 +1,7 @@ --indent 2 --maxwidth 100 --wrapparameters afterfirst ---disable sortedImports,unusedArguments,wrapMultilineStatementBraces +# Apple swift-format from flutter_plugin_tools requires `case .success(let value)` instead of `case let .success(value)`. +--disable sortedImports,unusedArguments,wrapMultilineStatementBraces,hoistPatternLet --exclude Pods,**/MainFlutterWindow.swift,**/AppDelegate.swift,**/.symlinks/** --swiftversion 5.7 diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift index afa02e226b18..19b6fc229d6d 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift @@ -115,9 +115,9 @@ class CloudFunctionsHostApiSetup { let argumentsArg = args[0] as! [String: Any?] api.call(arguments: argumentsArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -139,7 +139,7 @@ class CloudFunctionsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift index 0258b49f8cc2..6b238cbd7c4f 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift @@ -94,9 +94,9 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { for try await response in stream { await MainActor.run { switch response { - case let .message(message): + case .message(let message): events(["message": message.value]) - case let .result(result): + case .result(let result): events(["result": result.value]) events(FlutterEndOfEventStream) } diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift index b8b55e3305fc..783b48483039 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseAnalyticsMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseAnalyticsMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseAnalyticsMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -301,7 +301,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -323,7 +323,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -346,7 +346,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -368,7 +368,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -388,7 +388,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -410,7 +410,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -432,7 +432,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -454,7 +454,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -472,9 +472,9 @@ class FirebaseAnalyticsHostApiSetup { getAppInstanceIdChannel.setMessageHandler { _, reply in api.getAppInstanceId { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -492,9 +492,9 @@ class FirebaseAnalyticsHostApiSetup { getSessionIdChannel.setMessageHandler { _, reply in api.getSessionId { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -516,7 +516,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -538,7 +538,7 @@ class FirebaseAnalyticsHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift index d1a6938ae3fb..9f36574f635b 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift @@ -206,7 +206,7 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt var foundTransaction: Transaction? for await result in Transaction.all { switch result { - case let .verified(transaction): + case .verified(let transaction): if transaction.id == id { foundTransaction = transaction break diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift index a51c12159074..3f4e8be0bf25 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift @@ -133,7 +133,7 @@ class FirebaseAppCheckHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -154,9 +154,9 @@ class FirebaseAppCheckHostApiSetup { let forceRefreshArg = args[1] as! Bool api.getToken(appName: appNameArg, forceRefresh: forceRefreshArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -182,7 +182,7 @@ class FirebaseAppCheckHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -202,9 +202,9 @@ class FirebaseAppCheckHostApiSetup { let appNameArg = args[0] as! String api.registerTokenListener(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -224,9 +224,9 @@ class FirebaseAppCheckHostApiSetup { let appNameArg = args[0] as! String api.getLimitedUseAppCheckToken(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift index 780f5db50366..bd340420004c 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift @@ -263,9 +263,9 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug snapshotValue: currentData.value ) { result in switch result { - case let .success(handlerResult): + case .success(let handlerResult): transactionResult = handlerResult - case let .failure(error): + case .failure(let error): print("Transaction handler error: \(error)") transactionResult = TransactionHandlerResult( value: nil, aborted: true, exception: true diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift index 55ab0772b52f..7e305918fa93 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift @@ -97,7 +97,7 @@ func deepEqualsFirebaseDatabaseMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -139,7 +139,7 @@ func deepEqualsFirebaseDatabaseMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseDatabaseMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -697,7 +697,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -719,7 +719,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -742,7 +742,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -765,7 +765,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -788,7 +788,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -812,7 +812,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -833,9 +833,9 @@ class FirebaseDatabaseHostApiSetup { let pathArg: String? = nilOrValue(args[1]) api.ref(app: appArg, path: pathArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -856,9 +856,9 @@ class FirebaseDatabaseHostApiSetup { let urlArg = args[1] as! String api.refFromURL(app: appArg, url: urlArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -880,7 +880,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -903,7 +903,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -926,7 +926,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -949,7 +949,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -972,7 +972,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -995,7 +995,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1020,9 +1020,9 @@ class FirebaseDatabaseHostApiSetup { transactionKey: transactionKeyArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1045,7 +1045,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1068,7 +1068,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1091,7 +1091,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1114,7 +1114,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1135,9 +1135,9 @@ class FirebaseDatabaseHostApiSetup { let requestArg = args[1] as! QueryRequest api.queryObserve(app: appArg, request: requestArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1160,7 +1160,7 @@ class FirebaseDatabaseHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1181,9 +1181,9 @@ class FirebaseDatabaseHostApiSetup { let requestArg = args[1] as! QueryRequest api.queryGet(app: appArg, request: requestArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift index ee07864144e9..0a9ee2fe93df 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift @@ -125,7 +125,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, modelDownloader?.listDownloadedModels { response in switch response { - case let .success(customModel): + case .success(let customModel): let responseList: [[String: Any]] = customModel.map { [ "filePath": $0.path, @@ -135,7 +135,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, ] } result.success(responseList) - case let .failure(error): + case .failure(let error): result.error(nil, nil, nil, error) } } @@ -165,14 +165,14 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, conditions: modelDownloadConditions ) { response in switch response { - case let .success(customModel): + case .success(let customModel): result.success([ "filePath": customModel.path, "size": customModel.size, "hash": customModel.hash, "name": customModel.name, ]) - case let .failure(error): + case .failure(let error): result.error(nil, nil, nil, error) } } @@ -187,7 +187,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, switch response { case .success(): result.success(nil) - case let .failure(error): + case .failure(let error): result.error(nil, nil, nil, error) } } diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift index a78020ab4de1..010a3ec95732 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebasePerformanceMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebasePerformanceMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebasePerformanceMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -430,7 +430,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -448,9 +448,9 @@ class FirebasePerformanceHostApiSetup { isPerformanceCollectionEnabledChannel.setMessageHandler { _, reply in api.isPerformanceCollectionEnabled { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -470,9 +470,9 @@ class FirebasePerformanceHostApiSetup { let nameArg = args[0] as! String api.startTrace(name: nameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -495,7 +495,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -515,9 +515,9 @@ class FirebasePerformanceHostApiSetup { let optionsArg = args[0] as! HttpMetricOptions api.startHttpMetric(options: optionsArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -540,7 +540,7 @@ class FirebasePerformanceHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift index 887333e53fce..1168f1b807c7 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseRemoteConfigMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseRemoteConfigMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseRemoteConfigMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -299,7 +299,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -319,9 +319,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.fetchAndActivate(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -341,9 +341,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.activate(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -366,7 +366,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -389,7 +389,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -411,7 +411,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -434,7 +434,7 @@ class FirebaseRemoteConfigHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -454,9 +454,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.getAll(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -476,9 +476,9 @@ class FirebaseRemoteConfigHostApiSetup { let appNameArg = args[0] as! String api.getProperties(appName: appNameArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift index 38e19570f010..1dccb935f562 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift @@ -89,7 +89,7 @@ func deepEqualsFirebaseStorageMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { case (nil, _), (_, nil): return false - case let (lhs as AnyObject, rhs as AnyObject) where lhs === rhs: + case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs: return true case is (Void, Void): @@ -131,7 +131,7 @@ func deepEqualsFirebaseStorageMessages(_ lhs: Any?, _ rhs: Any?) -> Bool { } return true - case let (lhs as Double, rhs as Double): + case (let lhs as Double, let rhs as Double): return doubleEqualsFirebaseStorageMessages(lhs, rhs) case let (lhsHashable, rhsHashable) as (AnyHashable, AnyHashable): @@ -699,9 +699,9 @@ class FirebaseStorageHostApiSetup { let bucketArg: String? = nilOrValue(args[2]) api.getReferencebyPath(app: appArg, path: pathArg, bucket: bucketArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -724,7 +724,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -747,7 +747,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -770,7 +770,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -794,7 +794,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -817,7 +817,7 @@ class FirebaseStorageHostApiSetup { switch result { case .success: reply(wrapResult(nil)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -838,9 +838,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceGetDownloadURL(app: appArg, reference: referenceArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -861,9 +861,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceGetMetaData(app: appArg, reference: referenceArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -885,9 +885,9 @@ class FirebaseStorageHostApiSetup { let optionsArg = args[2] as! InternalListOptions api.referenceList(app: appArg, reference: referenceArg, options: optionsArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -908,9 +908,9 @@ class FirebaseStorageHostApiSetup { let referenceArg = args[1] as! InternalStorageReference api.referenceListAll(app: appArg, reference: referenceArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -932,9 +932,9 @@ class FirebaseStorageHostApiSetup { let maxSizeArg = args[2] as! Int64 api.referenceGetData(app: appArg, reference: referenceArg, maxSize: maxSizeArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -964,9 +964,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -998,9 +998,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1030,9 +1030,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1060,9 +1060,9 @@ class FirebaseStorageHostApiSetup { handle: handleArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1088,9 +1088,9 @@ class FirebaseStorageHostApiSetup { metadata: metadataArg ) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1111,9 +1111,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskPause(app: appArg, handle: handleArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1134,9 +1134,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskResume(app: appArg, handle: handleArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } @@ -1157,9 +1157,9 @@ class FirebaseStorageHostApiSetup { let handleArg = args[1] as! Int64 api.taskCancel(app: appArg, handle: handleArg) { result in switch result { - case let .success(res): + case .success(let res): reply(wrapResult(res)) - case let .failure(error): + case .failure(let error): reply(wrapError(error)) } } From 0dc117edfff6fc978bfd72b553ef5b53393d6b80 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 28 May 2026 23:37:06 +0000 Subject: [PATCH 10/13] refactor: standardize formatting in Swift files and update CI workflow to include Swift in formatting checks --- .github/workflows/all_plugins.yaml | 12 +- .../ios/cloud_firestore/Package.swift | 8 +- .../macos/cloud_firestore/Package.swift | 8 +- .../ios/cloud_functions/Package.swift | 8 +- .../CloudFunctionsMessages.g.swift | 15 +- .../FirebaseFunctionsPlugin.swift | 25 ++- .../FunctionsStreamHandler.swift | 13 +- .../macos/cloud_functions/Package.swift | 8 +- .../firebase_ai/ios/firebase_ai/Package.swift | 8 +- .../macos/firebase_ai/Package.swift | 8 +- .../ios/firebase_analytics/Package.swift | 8 +- .../FirebaseAnalyticsMessages.g.swift | 55 ++--- .../FirebaseAnalyticsPlugin.swift | 68 ++++--- .../macos/firebase_analytics/Package.swift | 8 +- .../ios/firebase_app_check/Package.swift | 8 +- .../FirebaseAppCheckMessages.g.swift | 36 ++-- .../FirebaseAppCheckPlugin.swift | 55 +++-- .../macos/firebase_app_check/Package.swift | 8 +- .../firebase_app_installations/Package.swift | 8 +- .../FirebaseInstallationsPlugin.swift | 42 ++-- .../IdChangedStreamHandler.swift | 6 +- .../firebase_app_installations/Package.swift | 8 +- .../ios/firebase_auth/Package.swift | 8 +- .../macos/firebase_auth/Package.swift | 8 +- .../ios/firebase_core/Package.swift | 12 +- .../macos/firebase_core/Package.swift | 12 +- .../ios/firebase_crashlytics/Package.swift | 8 +- .../macos/firebase_crashlytics/Package.swift | 8 +- .../ios/firebase_database/Package.swift | 8 +- ...FirebaseDatabaseObserveStreamHandler.swift | 7 +- .../FLTFirebaseDatabasePlugin.swift | 157 ++++++++++----- .../FLTFirebaseDatabaseUtils.swift | 27 ++- .../FirebaseDatabaseMessages.g.swift | 190 ++++++++++-------- .../macos/firebase_database/Package.swift | 8 +- .../firebase_in_app_messaging/Package.swift | 8 +- .../ios/firebase_messaging/Package.swift | 8 +- .../macos/firebase_messaging/Package.swift | 8 +- .../Package.swift | 8 +- .../FirebaseModelDownloaderPlugin.swift | 14 +- .../Package.swift | 8 +- .../ios/firebase_performance/Package.swift | 8 +- .../FirebasePerformanceMessages.g.swift | 38 ++-- .../FirebasePerformancePlugin.swift | 27 ++- .../ios/firebase_remote_config/Package.swift | 8 +- .../FirebaseRemoteConfigMessages.g.swift | 39 ++-- .../FirebaseRemoteConfigPlugin.swift | 36 ++-- .../FirebaseRemoteConfigUtils.swift | 5 +- .../firebase_remote_config/Package.swift | 8 +- .../ios/firebase_storage/Package.swift | 8 +- .../FLTFirebaseStoragePlugin.swift | 146 +++++++++----- .../FirebaseStorageMessages.g.swift | 155 ++++++++------ .../TaskStateChannelStreamHandler.swift | 17 +- .../macos/firebase_storage/Package.swift | 8 +- 53 files changed, 847 insertions(+), 586 deletions(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 41a8041ae7a0..684199474753 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -109,15 +109,15 @@ jobs: run: | clang-format --version swiftformat --version - - name: 'Dart, Java and Objective-C ' + - name: 'Dart, Java, Objective-C and Swift' run: | flutter pub global run flutter_plugin_tools format --base-branch=origin/main ./.github/workflows/scripts/validate-formatting.sh - - name: 'Swift' - if: ${{ success() || failure() }} - run: | - swiftformat . --exclude Pods,**/Pods/**,**/build/**,**/SourcePackages/**,**/.symlinks/**,**/Flutter/ephemeral/** - ./.github/workflows/scripts/validate-formatting.sh + # - name: 'Swift' + # if: ${{ success() || failure() }} + # run: | + # swiftformat . --exclude Pods,**/Pods/**,**/build/**,**/SourcePackages/**,**/.symlinks/**,**/Flutter/ephemeral/** + # ./.github/workflows/scripts/validate-formatting.sh build_examples_dart: timeout-minutes: 30 diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index 38ce44044ae7..a2bc598d3be6 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_firestore", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "cloud-firestore", targets: ["cloud_firestore"]), + .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] - ), + ) ] ) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift index 789670b102c1..2438d85b6a6a 100644 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_firestore", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "cloud-firestore", targets: ["cloud_firestore"]), + .library(name: "cloud-firestore", targets: ["cloud_firestore"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/cloud_firestore/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), ] - ), + ) ] ) diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift index ed210a2a3805..63d9adeac566 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_functions", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "cloud-functions", targets: ["cloud_functions"]), + .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift index 19b6fc229d6d..86ba0c92f137 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/CloudFunctionsMessages.g.swift @@ -88,8 +88,9 @@ class CloudFunctionsMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol CloudFunctionsHostApi { func call(arguments: [String: Any?], completion: @escaping (Result) -> Void) - func registerEventChannel(arguments: [String: Any], - completion: @escaping (Result) -> Void) + func registerEventChannel( + arguments: [String: Any], + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -100,12 +101,14 @@ class CloudFunctionsHostApiSetup { /// Sets up an instance of `CloudFunctionsHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: CloudFunctionsHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: CloudFunctionsHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let callChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call\(channelSuffix)", + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.call\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -127,7 +130,7 @@ class CloudFunctionsHostApiSetup { } let registerEventChannelChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel\(channelSuffix)", + "dev.flutter.pigeon.cloud_functions_platform_interface.CloudFunctionsHostApi.registerEventChannel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift index 18941ed8c2b5..c5026ca8578b 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FirebaseFunctionsPlugin.swift @@ -21,7 +21,8 @@ extension FlutterError: Error {} let kFLTFirebaseFunctionsChannelName = "plugins.flutter.io/firebase_functions" public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, FlutterPlugin, - CloudFunctionsHostApi { + CloudFunctionsHostApi +{ func call(arguments: [String: Any?], completion: @escaping (Result) -> Void) { httpsFunctionCall(arguments: arguments) { result, error in if let error { @@ -32,8 +33,10 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt } } - func registerEventChannel(arguments: [String: Any], - completion: @escaping (Result) -> Void) { + func registerEventChannel( + arguments: [String: Any], + completion: @escaping (Result) -> Void + ) { let eventChannelId = arguments["eventChannelId"]! let eventChannelName = "\(kFLTFirebaseFunctionsChannelName)/\(eventChannelId)" let eventChannel = FlutterEventChannel(name: eventChannelName, binaryMessenger: binaryMessenger) @@ -81,8 +84,10 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt CloudFunctionsHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) } - private func httpsFunctionCall(arguments: [String: Any], - completion: @escaping (Any?, FlutterError?) -> Void) { + private func httpsFunctionCall( + arguments: [String: Any], + completion: @escaping (Any?, FlutterError?) -> Void + ) { let appName = arguments["appName"] as? String ?? "" let functionName = arguments["functionName"] as? String let functionUri = arguments["functionUri"] as? String @@ -97,9 +102,10 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt let functions = Functions.functions(app: app, region: region ?? "") if let origin, !origin.isEmpty, - let url = URL(string: origin), - let host = url.host, - let port = url.port { + let url = URL(string: origin), + let host = url.host, + let port = url.port + { functions.useEmulator(withHost: host, port: port) } @@ -110,7 +116,8 @@ public class FirebaseFunctionsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt if let functionName, !functionName.isEmpty { function = functions.httpsCallable(functionName, options: options) } else if let functionUri, !functionUri.isEmpty, - let url = URL(string: functionUri) { + let url = URL(string: functionUri) + { function = functions.httpsCallable(url, options: options) } else { completion( diff --git a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift index 6b238cbd7c4f..7d2ce08e76cc 100644 --- a/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift +++ b/packages/cloud_functions/cloud_functions/ios/cloud_functions/Sources/cloud_functions/FunctionsStreamHandler.swift @@ -19,8 +19,10 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { super.init() } - func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { streamTask = Task { await httpsStreamCall(arguments: arguments, events: events) } @@ -53,9 +55,10 @@ class FunctionsStreamHandler: NSObject, FlutterStreamHandler { let limitedUseAppCheckToken = arguments["limitedUseAppCheckToken"] as? Bool ?? false if let origin, - let url = URL(string: origin), - let host = url.host, - let port = url.port { + let url = URL(string: origin), + let host = url.host, + let port = url.port + { functions.useEmulator(withHost: host, port: port) } diff --git a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift index a0639442b9ce..8be5bb283b31 100644 --- a/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift +++ b/packages/cloud_functions/cloud_functions/macos/cloud_functions/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "cloud_functions", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "cloud-functions", targets: ["cloud_functions"]), + .library(name: "cloud-functions", targets: ["cloud_functions"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift index 087f2530b1c1..a9bd49d4e4d1 100644 --- a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift @@ -10,10 +10,10 @@ import PackageDescription let package = Package( name: "firebase_ai", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-ai", targets: ["firebase_ai"]), + .library(name: "firebase-ai", targets: ["firebase_ai"]) ], dependencies: [], targets: [ @@ -21,8 +21,8 @@ let package = Package( name: "firebase_ai", dependencies: [], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift index 5440873b51b2..c551b27e41a6 100644 --- a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift @@ -10,10 +10,10 @@ import PackageDescription let package = Package( name: "firebase_ai", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-ai", targets: ["firebase_ai"]), + .library(name: "firebase-ai", targets: ["firebase_ai"]) ], dependencies: [], targets: [ @@ -21,8 +21,8 @@ let package = Package( name: "firebase_ai", dependencies: [], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift index ee2f72be8bbe..16f26c8d379b 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Package.swift @@ -18,10 +18,10 @@ let analyticsProduct = useWithoutAdId ? "FirebaseAnalyticsWithoutAdIdSupport" : let package = Package( name: "firebase_analytics", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-analytics", targets: ["firebase_analytics"]), + .library(name: "firebase-analytics", targets: ["firebase_analytics"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -35,8 +35,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift index 783b48483039..c3a557049cc0 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsMessages.g.swift @@ -259,20 +259,25 @@ class FirebaseAnalyticsMessagesPigeonCodec: FlutterStandardMessageCodec, @unchec protocol FirebaseAnalyticsHostApi { func logEvent(event: [String: Any?], completion: @escaping (Result) -> Void) func setUserId(userId: String?, completion: @escaping (Result) -> Void) - func setUserProperty(name: String, value: String?, - completion: @escaping (Result) -> Void) - func setAnalyticsCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) + func setUserProperty( + name: String, value: String?, + completion: @escaping (Result) -> Void) + func setAnalyticsCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void) func resetAnalyticsData(completion: @escaping (Result) -> Void) - func setSessionTimeoutDuration(timeout: Int64, - completion: @escaping (Result) -> Void) + func setSessionTimeoutDuration( + timeout: Int64, + completion: @escaping (Result) -> Void) func setConsent(consent: [String: Bool?], completion: @escaping (Result) -> Void) - func setDefaultEventParameters(parameters: [String: Any?]?, - completion: @escaping (Result) -> Void) + func setDefaultEventParameters( + parameters: [String: Any?]?, + completion: @escaping (Result) -> Void) func getAppInstanceId(completion: @escaping (Result) -> Void) func getSessionId(completion: @escaping (Result) -> Void) - func initiateOnDeviceConversionMeasurement(arguments: [String: String?], - completion: @escaping (Result) -> Void) + func initiateOnDeviceConversionMeasurement( + arguments: [String: String?], + completion: @escaping (Result) -> Void) func logTransaction(transactionId: String, completion: @escaping (Result) -> Void) } @@ -284,12 +289,14 @@ class FirebaseAnalyticsHostApiSetup { /// Sets up an instance of `FirebaseAnalyticsHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseAnalyticsHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseAnalyticsHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let logEventChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logEvent\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -311,7 +318,7 @@ class FirebaseAnalyticsHostApiSetup { } let setUserIdChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -333,7 +340,7 @@ class FirebaseAnalyticsHostApiSetup { } let setUserPropertyChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setUserProperty\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -356,7 +363,7 @@ class FirebaseAnalyticsHostApiSetup { } let setAnalyticsCollectionEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setAnalyticsCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -378,7 +385,7 @@ class FirebaseAnalyticsHostApiSetup { } let resetAnalyticsDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.resetAnalyticsData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -398,7 +405,7 @@ class FirebaseAnalyticsHostApiSetup { } let setSessionTimeoutDurationChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setSessionTimeoutDuration\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -420,7 +427,7 @@ class FirebaseAnalyticsHostApiSetup { } let setConsentChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setConsent\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -442,7 +449,7 @@ class FirebaseAnalyticsHostApiSetup { } let setDefaultEventParametersChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.setDefaultEventParameters\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -464,7 +471,7 @@ class FirebaseAnalyticsHostApiSetup { } let getAppInstanceIdChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getAppInstanceId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -484,7 +491,7 @@ class FirebaseAnalyticsHostApiSetup { } let getSessionIdChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.getSessionId\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -504,7 +511,7 @@ class FirebaseAnalyticsHostApiSetup { } let initiateOnDeviceConversionMeasurementChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.initiateOnDeviceConversionMeasurement\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -526,7 +533,7 @@ class FirebaseAnalyticsHostApiSetup { } let logTransactionChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction\(channelSuffix)", + "dev.flutter.pigeon.firebase_analytics_platform_interface.FirebaseAnalyticsHostApi.logTransaction\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) diff --git a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift index 9f36574f635b..96b5921f88b0 100644 --- a/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift +++ b/packages/firebase_analytics/firebase_analytics/ios/firebase_analytics/Sources/firebase_analytics/FirebaseAnalyticsPlugin.swift @@ -34,7 +34,8 @@ let FLTFirebaseAnalyticsChannelName = "plugins.flutter.io/firebase_analytics" extension FlutterError: Error {} public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, FlutterPlugin, - FirebaseAnalyticsHostApi { + FirebaseAnalyticsHostApi +{ public static func register(with registrar: any FlutterPluginRegistrar) { let binaryMessenger: FlutterBinaryMessenger @@ -63,14 +64,18 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setUserProperty(name: String, value: String?, - completion: @escaping (Result) -> Void) { + func setUserProperty( + name: String, value: String?, + completion: @escaping (Result) -> Void + ) { Analytics.setUserProperty(value, forName: name) completion(.success(())) } - func setAnalyticsCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) { + func setAnalyticsCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void + ) { Analytics.setAnalyticsCollectionEnabled(enabled) completion(.success(())) } @@ -80,14 +85,18 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setSessionTimeoutDuration(timeout: Int64, - completion: @escaping (Result) -> Void) { + func setSessionTimeoutDuration( + timeout: Int64, + completion: @escaping (Result) -> Void + ) { Analytics.setSessionTimeoutInterval(TimeInterval(timeout)) completion(.success(())) } - func setConsent(consent: [String: Bool?], - completion: @escaping (Result) -> Void) { + func setConsent( + consent: [String: Bool?], + completion: @escaping (Result) -> Void + ) { var parameters: [ConsentType: ConsentStatus] = [:] if let adStorage = consent[kFLTFirebaseAnalyticsAdStorageConsentGranted] as? Bool { parameters[.adStorage] = adStorage ? .granted : .denied @@ -96,7 +105,8 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt parameters[.analyticsStorage] = analyticsStorage ? .granted : .denied } if let adPersonalization = - consent[kFLTFirebaseAdPersonalizationSignalsConsentGranted] as? Bool { + consent[kFLTFirebaseAdPersonalizationSignalsConsentGranted] as? Bool + { parameters[.adPersonalization] = adPersonalization ? .granted : .denied } if let adUserData = consent[kFLTFirebaseAdUserDataConsentGranted] as? Bool { @@ -106,8 +116,10 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt completion(.success(())) } - func setDefaultEventParameters(parameters: [String: Any?]?, - completion: @escaping (Result) -> Void) { + func setDefaultEventParameters( + parameters: [String: Any?]?, + completion: @escaping (Result) -> Void + ) { Analytics.setDefaultEventParameters(parameters) completion(.success(())) } @@ -127,10 +139,12 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt } } - func initiateOnDeviceConversionMeasurement(arguments: [String: String?], - completion: - @escaping (Result) - -> Void) { + func initiateOnDeviceConversionMeasurement( + arguments: [String: String?], + completion: + @escaping (Result) + -> Void + ) { if let emailAddress = arguments["emailAddress"] as? String { Analytics.initiateOnDeviceConversionMeasurement(emailAddress: emailAddress) } @@ -138,18 +152,22 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: phoneNumber) } if let hashedEmailAddress = arguments["hashedEmailAddress"] as? String, - let data = hexStringToData(hashedEmailAddress) { + let data = hexStringToData(hashedEmailAddress) + { Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: data) } if let hashedPhoneNumber = arguments["hashedPhoneNumber"] as? String, - let data = hexStringToData(hashedPhoneNumber) { + let data = hexStringToData(hashedPhoneNumber) + { Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: data) } completion(.success(())) } - func logTransaction(transactionId: String, - completion: @escaping (Result) -> Void) { + func logTransaction( + transactionId: String, + completion: @escaping (Result) -> Void + ) { #if os(macOS) if #available(macOS 12.0, *) { logTransactionWithStoreKit(transactionId: transactionId, completion: completion) @@ -186,8 +204,10 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt #else @available(iOS 15.0, *) #endif - private func logTransactionWithStoreKit(transactionId: String, - completion: @escaping (Result) -> Void) { + private func logTransactionWithStoreKit( + transactionId: String, + completion: @escaping (Result) -> Void + ) { Task { do { guard let id = UInt64(transactionId) else { @@ -244,9 +264,9 @@ public class FirebaseAnalyticsPlugin: NSObject, FLTFirebasePluginProtocol, Flutt var data = Data(capacity: length / 2) var index = hexString.startIndex - for _ in 0 ..< (length / 2) { + for _ in 0..<(length / 2) { let nextIndex = hexString.index(index, offsetBy: 2) - guard let byte = UInt8(hexString[index ..< nextIndex], radix: 16) else { + guard let byte = UInt8(hexString[index..) -> Void) - func getToken(appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) - func setTokenAutoRefreshEnabled(appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) + func activate( + appName: String, androidProvider: String?, appleProvider: String?, + debugToken: String?, completion: @escaping (Result) -> Void) + func getToken( + appName: String, forceRefresh: Bool, + completion: @escaping (Result) -> Void) + func setTokenAutoRefreshEnabled( + appName: String, isTokenAutoRefreshEnabled: Bool, + completion: @escaping (Result) -> Void) func registerTokenListener(appName: String, completion: @escaping (Result) -> Void) - func getLimitedUseAppCheckToken(appName: String, - completion: @escaping (Result) -> Void) + func getLimitedUseAppCheckToken( + appName: String, + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -108,12 +112,14 @@ class FirebaseAppCheckHostApiSetup { /// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let activateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -143,7 +149,7 @@ class FirebaseAppCheckHostApiSetup { } let getTokenChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -166,7 +172,7 @@ class FirebaseAppCheckHostApiSetup { } let setTokenAutoRefreshEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -192,7 +198,7 @@ class FirebaseAppCheckHostApiSetup { } let registerTokenListenerChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -214,7 +220,7 @@ class FirebaseAppCheckHostApiSetup { } let getLimitedUseAppCheckTokenChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", + "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) diff --git a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift index bd42b3a7f2fe..c737dcd75a22 100644 --- a/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ b/packages/firebase_app_check/firebase_app_check/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift @@ -24,7 +24,8 @@ let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check extension FlutterError: @retroactive Error {} public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, - FLTFirebasePluginProtocol, FirebaseAppCheckHostApi { + FLTFirebasePluginProtocol, FirebaseAppCheckHostApi +{ private var eventChannels: [String: FlutterEventChannel] = [:] private var streamHandlers: [String: AppCheckTokenStreamHandler] = [:] private var providerFactory: FlutterAppCheckProviderFactory? @@ -61,9 +62,11 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, private var binaryMessenger: FlutterBinaryMessenger? - func activate(appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void) { + func activate( + appName: String, androidProvider: String?, appleProvider: String?, + debugToken: String?, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName) else { completion( .failure( @@ -81,10 +84,12 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, completion(.success(())) } - func getToken(appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) { + func getToken( + appName: String, forceRefresh: Bool, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { completion( .failure( @@ -105,10 +110,12 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, } } - func setTokenAutoRefreshEnabled(appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) { + func setTokenAutoRefreshEnabled( + appName: String, isTokenAutoRefreshEnabled: Bool, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { completion( .failure( @@ -123,8 +130,10 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, completion(.success(())) } - func registerTokenListener(appName: String, - completion: @escaping (Result) -> Void) { + func registerTokenListener( + appName: String, + completion: @escaping (Result) -> Void + ) { let name = kFirebaseAppCheckTokenChannelPrefix + appName guard let messenger = binaryMessenger else { @@ -150,10 +159,12 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, completion(.success(name)) } - func getLimitedUseAppCheckToken(appName: String, - completion: @escaping (Result) -> Void) { + func getLimitedUseAppCheckToken( + appName: String, + completion: @escaping (Result) -> Void + ) { guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) + let appCheck = AppCheck.appCheck(app: app) else { completion( .failure( @@ -208,13 +219,13 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, let nsError = error as NSError var code = "unknown" switch nsError.code { - case 0: // FIRAppCheckErrorCodeServerUnreachable + case 0: // FIRAppCheckErrorCodeServerUnreachable code = "server-unreachable" - case 1: // FIRAppCheckErrorCodeInvalidConfiguration + case 1: // FIRAppCheckErrorCodeInvalidConfiguration code = "invalid-configuration" - case 2: // FIRAppCheckErrorCodeKeychain + case 2: // FIRAppCheckErrorCodeKeychain code = "code-keychain" - case 3: // FIRAppCheckErrorCodeUnsupported + case 3: // FIRAppCheckErrorCodeUnsupported code = "code-unsupported" default: code = "unknown" @@ -232,8 +243,10 @@ public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, class AppCheckTokenStreamHandler: NSObject, FlutterStreamHandler { private var observer: NSObjectProtocol? - func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { observer = NotificationCenter.default.addObserver( forName: NSNotification.Name("FIRAppCheckAppCheckTokenDidChangeNotification"), object: nil, diff --git a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift index 50b8ab80ca5d..0b49a74eb477 100644 --- a/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift +++ b/packages/firebase_app_check/firebase_app_check/macos/firebase_app_check/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_check", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]), + .library(name: "firebase-app-check", targets: ["firebase_app_check"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift index 4afc2e85660d..2d43d4e4781f 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_installations", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]), + .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift index 7d5a0c426033..eb1d365a1f7e 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/FirebaseInstallationsPlugin.swift @@ -76,8 +76,10 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func getId(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func getId( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) instance.installationID { (id: String?, error: Error?) in if let error { @@ -92,8 +94,10 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func deleteId(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func deleteId( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) instance.delete { (error: Error?) in if let error { @@ -108,14 +112,18 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func getToken(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func getToken( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) let forceRefresh = arguments["forceRefresh"] as? Bool ?? false instance .authTokenForcingRefresh(forceRefresh) { - (tokenResult: InstallationsAuthTokenResult?, - error: Error?) in + ( + tokenResult: InstallationsAuthTokenResult?, + error: Error? + ) in if let error { errorBlock(nil, nil, nil, error) } else { @@ -128,8 +136,10 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F /// - Parameter arguments: the arguments passed by the Dart calling method /// - Parameter result: the result instance used to send the result to Dart. /// - Parameter errorBlock: the error block used to send the error to Dart. - private func registerIdChangeListener(arguments: NSDictionary, result: @escaping FlutterResult, - errorBlock: @escaping FLTFirebaseMethodCallErrorBlock) { + private func registerIdChangeListener( + arguments: NSDictionary, result: @escaping FlutterResult, + errorBlock: @escaping FLTFirebaseMethodCallErrorBlock + ) { let instance = getInstallations(appName: arguments["appName"] as! String) let appName = arguments["appName"] as! String let eventChannelName = kFLTFirebaseInstallationsChannelName + "/token/" + appName @@ -178,17 +188,19 @@ public class FirebaseInstallationsPlugin: NSObject, FLTFirebasePluginProtocol, F } let errorBlock: FLTFirebaseMethodCallErrorBlock = { - (code, message, details, - error: Error?) in + ( + code, message, details, + error: Error? + ) in var errorDetails = [String: Any?]() errorDetails["code"] = code - ?? self - .mapInstallationsErrorCodes(code: UInt((error! as NSError).code)) + ?? self + .mapInstallationsErrorCodes(code: UInt((error! as NSError).code)) errorDetails["message"] = message ?? error? - .localizedDescription ?? "An unknown error has occurred." + .localizedDescription ?? "An unknown error has occurred." errorDetails["additionalData"] = details if code == "unknown" { diff --git a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift index 30790c94adf5..89f9cbc2e4e9 100644 --- a/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift +++ b/packages/firebase_app_installations/firebase_app_installations/ios/firebase_app_installations/Sources/firebase_app_installations/IdChangedStreamHandler.swift @@ -47,8 +47,10 @@ class IdChangedStreamHandler: NSObject, FlutterStreamHandler { } } - func onListen(withArguments _: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments _: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { eventSink = events installationIDObserver = NotificationCenter.default.addObserver( diff --git a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift index 053758b7f66e..325e24d74976 100644 --- a/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift +++ b/packages/firebase_app_installations/firebase_app_installations/macos/firebase_app_installations/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_app_installations", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]), + .library(name: "firebase-app-installations", targets: ["firebase_app_installations"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift index 94f09adcb347..21e7c1442de5 100644 --- a/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/ios/firebase_auth/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_auth", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]), + .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] - ), + ) ] ) diff --git a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift index d0d3185bf408..8ecc7b9db7ec 100644 --- a/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift +++ b/packages/firebase_auth/firebase_auth/macos/firebase_auth/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_auth", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]), + .library(name: "firebase-auth", targets: ["firebase_auth"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,7 +30,7 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/Private"), @@ -38,6 +38,6 @@ let package = Package( .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), ] - ), + ) ] ) diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index 9ba15e12f0ee..28085699c8cb 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -13,29 +13,29 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_core", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-core", targets: ["firebase_core"]), + .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion) ], targets: [ .target( name: "firebase_core", dependencies: [ // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(libraryVersionString)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] - ), + ) ] ) diff --git a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift index a93a5423e8c9..74c925e5baa6 100644 --- a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift @@ -13,29 +13,29 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_core", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-core", targets: ["firebase_core"]), + .library(name: "firebase-core", targets: ["firebase_core"]) ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), + .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion) ], targets: [ .target( name: "firebase_core", dependencies: [ // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(libraryVersionString)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] - ), + ) ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift index 772c35c796a0..08be6e33616b 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]), + .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] - ), + ) ] ) diff --git a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift index 6e3bec211cb1..21044f98b44f 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift +++ b/packages/firebase_crashlytics/firebase_crashlytics/macos/firebase_crashlytics/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_crashlytics", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]), + .library(name: "firebase-crashlytics", targets: ["firebase_crashlytics"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-cls\""), ] - ), + ) ] ) diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift index 9ea68a1f7b9d..14d652359c46 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_database", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-database", targets: ["firebase_database"]), + .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] - ), + ) ] ) diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift index 4b147e49db5b..86029a6d5d39 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseObserveStreamHandler.swift @@ -22,16 +22,17 @@ import FirebaseDatabase } func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) - -> FlutterError? { + -> FlutterError? + { guard let args = arguments as? [String: Any], - let eventTypeString = args["eventType"] as? String + let eventTypeString = args["eventType"] as? String else { return nil } let observeBlock: (DataSnapshot, String?) -> Void = { [weak self] snapshot, previousChildKey in var eventDictionary: [String: Any] = [ - "eventType": eventTypeString, + "eventType": eventTypeString ] let snapshotDict = FLTFirebaseDatabaseUtils.dictionary( diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift index bd340420004c..d94bc937593f 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabasePlugin.swift @@ -24,7 +24,8 @@ let FLTFirebaseDatabaseChannelName = "plugins.flutter.io/firebase_database" @objc(FLTFirebaseDatabasePlugin) public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePluginProtocol, - FirebaseDatabaseHostApi { + FirebaseDatabaseHostApi +{ private var binaryMessenger: FlutterBinaryMessenger private static var cachedDatabaseInstances: [String: Database] = [:] private var streamHandlers: [String: FLTFirebaseDatabaseObserveStreamHandler] = [:] @@ -104,22 +105,28 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Database Management - func goOnline(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) { + func goOnline( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.goOnline() completion(.success(())) } - func goOffline(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) { + func goOffline( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.goOffline() completion(.success(())) } - func setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) { + func setPersistenceEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void + ) { let instanceKey = app.appName + (app.databaseURL ?? "") if Self.cachedDatabaseInstances[instanceKey] != nil { completion(.success(())) @@ -131,8 +138,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Int64, - completion: @escaping (Result) -> Void) { + func setPersistenceCacheSizeBytes( + app: DatabasePigeonFirebaseApp, cacheSize: Int64, + completion: @escaping (Result) -> Void + ) { let instanceKey = app.appName + (app.databaseURL ?? "") if Self.cachedDatabaseInstances[instanceKey] != nil { completion(.success(())) @@ -148,37 +157,47 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) { + func setLoggingEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void + ) { Database.setLoggingEnabled(enabled) completion(.success(())) } - func useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) { + func useDatabaseEmulator( + app: DatabasePigeonFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.useEmulator(withHost: host, port: Int(port)) completion(.success(())) } - func ref(app: DatabasePigeonFirebaseApp, path: String?, - completion: @escaping (Result) -> Void) { + func ref( + app: DatabasePigeonFirebaseApp, path: String?, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: path ?? "") let result = DatabaseReferencePlatform(path: reference.url) completion(.success(result)) } - func refFromURL(app: DatabasePigeonFirebaseApp, url: String, - completion: @escaping (Result) -> Void) { + func refFromURL( + app: DatabasePigeonFirebaseApp, url: String, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(fromURL: url) let result = DatabaseReferencePlatform(path: reference.url) completion(.success(result)) } - func purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) { + func purgeOutstandingWrites( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) database.purgeOutstandingWrites() completion(.success(())) @@ -186,8 +205,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Database Reference Operations - func databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -200,9 +221,11 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -215,8 +238,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -231,9 +256,11 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceSetPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -246,8 +273,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, - completion: @escaping (Result) -> Void) { + func databaseReferenceRunTransaction( + app: DatabasePigeonFirebaseApp, request: TransactionRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -312,10 +341,12 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug ) } - func databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Int64, - completion: - @escaping (Result<[String: Any?], Error>) - -> Void) { + func databaseReferenceGetTransactionResult( + app: DatabasePigeonFirebaseApp, transactionKey: Int64, + completion: + @escaping (Result<[String: Any?], Error>) + -> Void + ) { if let result = transactionResults.removeValue(forKey: transactionKey) { completion(.success(result)) } else { @@ -330,8 +361,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - OnDisconnect Operations - func onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func onDisconnectSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -344,9 +377,11 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) { + func onDisconnectSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -359,8 +394,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) { + func onDisconnectUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -375,8 +412,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } } - func onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, - completion: @escaping (Result) -> Void) { + func onDisconnectCancel( + app: DatabasePigeonFirebaseApp, path: String, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: path) @@ -391,8 +430,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug // MARK: - Query Operations - func queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) { + func queryObserve( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -455,7 +496,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber { + let limit = modifier["limit"] as? NSNumber + { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -493,8 +535,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(channelName)) } - func queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) { + func queryKeepSynced( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -557,7 +601,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber { + let limit = modifier["limit"] as? NSNumber + { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -580,8 +625,10 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result<[String: Any?], Error>) -> Void) { + func queryGet( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result<[String: Any?], Error>) -> Void + ) { let database = getDatabaseFromPigeonApp(app) let reference = database.reference(withPath: request.path) @@ -655,7 +702,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug case "limit": if let name = modifier["name"] as? String, - let limit = modifier["limit"] as? NSNumber { + let limit = modifier["limit"] as? NSNumber + { switch name { case "limitToFirst": query = query.queryLimited(toFirst: limit.uintValue) @@ -718,7 +766,8 @@ public class FLTFirebaseDatabasePlugin: NSObject, FlutterPlugin, FLTFirebasePlug } if let emulatorHost = app.settings.emulatorHost, - let emulatorPort = app.settings.emulatorPort { + let emulatorPort = app.settings.emulatorPort + { database.useEmulator(withHost: emulatorHost, port: Int(emulatorPort)) } diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift index 9561af721ff1..c51f5ac67a2a 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FLTFirebaseDatabaseUtils.swift @@ -55,7 +55,8 @@ import Foundation } if let emulatorHost = arguments["emulatorHost"] as? String, - let emulatorPort = arguments["emulatorPort"] as? Int { + let emulatorPort = arguments["emulatorPort"] as? Int + { database.useEmulator(withHost: emulatorHost, port: emulatorPort) } @@ -69,8 +70,10 @@ import Foundation return database.reference(withPath: path) } - private static func databaseQuery(_ query: DatabaseQuery, - applyLimitModifier modifier: [String: Any]) -> DatabaseQuery { + private static func databaseQuery( + _ query: DatabaseQuery, + applyLimitModifier modifier: [String: Any] + ) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" let limit = modifier["limit"] as? UInt ?? 0 @@ -84,8 +87,10 @@ import Foundation } } - private static func databaseQuery(_ query: DatabaseQuery, - applyOrderModifier modifier: [String: Any]) -> DatabaseQuery { + private static func databaseQuery( + _ query: DatabaseQuery, + applyOrderModifier modifier: [String: Any] + ) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" switch name { @@ -103,8 +108,10 @@ import Foundation } } - private static func databaseQuery(_ query: DatabaseQuery, - applyCursorModifier modifier: [String: Any]) -> DatabaseQuery { + private static func databaseQuery( + _ query: DatabaseQuery, + applyCursorModifier modifier: [String: Any] + ) -> DatabaseQuery { let name = modifier["name"] as? String ?? "" let key = modifier["key"] as? String let value = modifier["value"] @@ -161,8 +168,10 @@ import Foundation return query } - static func dictionary(from snapshot: DataSnapshot, - withPreviousChildKey previousChildKey: String?) -> [String: Any] { + static func dictionary( + from snapshot: DataSnapshot, + withPreviousChildKey previousChildKey: String? + ) -> [String: Any] { [ "snapshot": dictionary(from: snapshot), "previousChildKey": previousChildKey ?? NSNull(), diff --git a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift index 7e305918fa93..6a0fb0d765f5 100644 --- a/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift +++ b/packages/firebase_database/firebase_database/ios/firebase_database/Sources/firebase_database/FirebaseDatabaseMessages.g.swift @@ -304,7 +304,7 @@ struct DatabaseReferencePlatform: Hashable { func toList() -> [Any?] { [ - path, + path ] } @@ -623,53 +623,74 @@ class FirebaseDatabaseMessagesPigeonCodec: FlutterStandardMessageCodec, @uncheck /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebaseDatabaseHostApi { func goOnline(app: DatabasePigeonFirebaseApp, completion: @escaping (Result) -> Void) - func goOffline(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) - func setPersistenceEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) - func setPersistenceCacheSizeBytes(app: DatabasePigeonFirebaseApp, cacheSize: Int64, - completion: @escaping (Result) -> Void) - func setLoggingEnabled(app: DatabasePigeonFirebaseApp, enabled: Bool, - completion: @escaping (Result) -> Void) - func useDatabaseEmulator(app: DatabasePigeonFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) - func ref(app: DatabasePigeonFirebaseApp, path: String?, - completion: @escaping (Result) -> Void) - func refFromURL(app: DatabasePigeonFirebaseApp, url: String, - completion: @escaping (Result) -> Void) - func purgeOutstandingWrites(app: DatabasePigeonFirebaseApp, - completion: @escaping (Result) -> Void) - func databaseReferenceSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceSetPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceRunTransaction(app: DatabasePigeonFirebaseApp, request: TransactionRequest, - completion: @escaping (Result) -> Void) - func databaseReferenceGetTransactionResult(app: DatabasePigeonFirebaseApp, transactionKey: Int64, - completion: - @escaping (Result<[String: Any?], Error>) - -> Void) - func onDisconnectSet(app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func onDisconnectSetWithPriority(app: DatabasePigeonFirebaseApp, - request: DatabaseReferenceRequest, - completion: @escaping (Result) -> Void) - func onDisconnectUpdate(app: DatabasePigeonFirebaseApp, request: UpdateRequest, - completion: @escaping (Result) -> Void) - func onDisconnectCancel(app: DatabasePigeonFirebaseApp, path: String, - completion: @escaping (Result) -> Void) - func queryObserve(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) - func queryKeepSynced(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result) -> Void) - func queryGet(app: DatabasePigeonFirebaseApp, request: QueryRequest, - completion: @escaping (Result<[String: Any?], Error>) -> Void) + func goOffline( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) + func setPersistenceEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) + func setPersistenceCacheSizeBytes( + app: DatabasePigeonFirebaseApp, cacheSize: Int64, + completion: @escaping (Result) -> Void) + func setLoggingEnabled( + app: DatabasePigeonFirebaseApp, enabled: Bool, + completion: @escaping (Result) -> Void) + func useDatabaseEmulator( + app: DatabasePigeonFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) + func ref( + app: DatabasePigeonFirebaseApp, path: String?, + completion: @escaping (Result) -> Void) + func refFromURL( + app: DatabasePigeonFirebaseApp, url: String, + completion: @escaping (Result) -> Void) + func purgeOutstandingWrites( + app: DatabasePigeonFirebaseApp, + completion: @escaping (Result) -> Void) + func databaseReferenceSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceSetPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceRunTransaction( + app: DatabasePigeonFirebaseApp, request: TransactionRequest, + completion: @escaping (Result) -> Void) + func databaseReferenceGetTransactionResult( + app: DatabasePigeonFirebaseApp, transactionKey: Int64, + completion: + @escaping (Result<[String: Any?], Error>) + -> Void) + func onDisconnectSet( + app: DatabasePigeonFirebaseApp, request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func onDisconnectSetWithPriority( + app: DatabasePigeonFirebaseApp, + request: DatabaseReferenceRequest, + completion: @escaping (Result) -> Void) + func onDisconnectUpdate( + app: DatabasePigeonFirebaseApp, request: UpdateRequest, + completion: @escaping (Result) -> Void) + func onDisconnectCancel( + app: DatabasePigeonFirebaseApp, path: String, + completion: @escaping (Result) -> Void) + func queryObserve( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) + func queryKeepSynced( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result) -> Void) + func queryGet( + app: DatabasePigeonFirebaseApp, request: QueryRequest, + completion: @escaping (Result<[String: Any?], Error>) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -680,12 +701,14 @@ class FirebaseDatabaseHostApiSetup { /// Sets up an instance of `FirebaseDatabaseHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseDatabaseHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseDatabaseHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let goOnlineChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOnline\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -707,7 +730,7 @@ class FirebaseDatabaseHostApiSetup { } let goOfflineChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.goOffline\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -729,7 +752,7 @@ class FirebaseDatabaseHostApiSetup { } let setPersistenceEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -752,7 +775,7 @@ class FirebaseDatabaseHostApiSetup { } let setPersistenceCacheSizeBytesChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setPersistenceCacheSizeBytes\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -775,7 +798,7 @@ class FirebaseDatabaseHostApiSetup { } let setLoggingEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.setLoggingEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -798,7 +821,7 @@ class FirebaseDatabaseHostApiSetup { } let useDatabaseEmulatorChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.useDatabaseEmulator\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -822,7 +845,7 @@ class FirebaseDatabaseHostApiSetup { } let refChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.ref\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -845,7 +868,7 @@ class FirebaseDatabaseHostApiSetup { } let refFromURLChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.refFromURL\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -868,7 +891,7 @@ class FirebaseDatabaseHostApiSetup { } let purgeOutstandingWritesChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.purgeOutstandingWrites\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -890,7 +913,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceSetChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -913,7 +936,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceSetWithPriorityChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetWithPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -936,7 +959,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceUpdateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceUpdate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -959,7 +982,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceSetPriorityChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceSetPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -982,7 +1005,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceRunTransactionChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceRunTransaction\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1005,7 +1028,7 @@ class FirebaseDatabaseHostApiSetup { } let databaseReferenceGetTransactionResultChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.databaseReferenceGetTransactionResult\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1032,7 +1055,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectSetChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1055,7 +1078,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectSetWithPriorityChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectSetWithPriority\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1078,7 +1101,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectUpdateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectUpdate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1101,7 +1124,7 @@ class FirebaseDatabaseHostApiSetup { } let onDisconnectCancelChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.onDisconnectCancel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1124,7 +1147,7 @@ class FirebaseDatabaseHostApiSetup { } let queryObserveChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryObserve\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1147,7 +1170,7 @@ class FirebaseDatabaseHostApiSetup { } let queryKeepSyncedChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryKeepSynced\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1170,7 +1193,7 @@ class FirebaseDatabaseHostApiSetup { } let queryGetChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet\(channelSuffix)", + "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseHostApi.queryGet\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1196,11 +1219,12 @@ class FirebaseDatabaseHostApiSetup { /// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. protocol FirebaseDatabaseFlutterApiProtocol { - func callTransactionHandler(transactionKey transactionKeyArg: Int64, - snapshotValue snapshotValueArg: Any?, - completion: - @escaping (Result) - -> Void) + func callTransactionHandler( + transactionKey transactionKeyArg: Int64, + snapshotValue snapshotValueArg: Any?, + completion: + @escaping (Result) + -> Void) } class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { @@ -1215,11 +1239,13 @@ class FirebaseDatabaseFlutterApi: FirebaseDatabaseFlutterApiProtocol { FirebaseDatabaseMessagesPigeonCodec.shared } - func callTransactionHandler(transactionKey transactionKeyArg: Int64, - snapshotValue snapshotValueArg: Any?, - completion: - @escaping (Result) - -> Void) { + func callTransactionHandler( + transactionKey transactionKeyArg: Int64, + snapshotValue snapshotValueArg: Any?, + completion: + @escaping (Result) + -> Void + ) { let channelName = "dev.flutter.pigeon.firebase_database_platform_interface.FirebaseDatabaseFlutterApi.callTransactionHandler\(messageChannelSuffix)" let channel = FlutterBasicMessageChannel( diff --git a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift index cf4ff9c961b8..f11a445f0fd5 100644 --- a/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift +++ b/packages/firebase_database/firebase_database/macos/firebase_database/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_database", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-database", targets: ["firebase_database"]), + .library(name: "firebase-database", targets: ["firebase_database"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-rtdb\""), ] - ), + ) ] ) diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift index d8e872b15378..cf4892d53507 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/ios/firebase_in_app_messaging/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_in_app_messaging", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]), + .library(name: "firebase-in-app-messaging", targets: ["firebase_in_app_messaging"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fiam\""), ] - ), + ) ] ) diff --git a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift index 29991d4e2136..edc0ddaa543b 100644 --- a/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/ios/firebase_messaging/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_messaging", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-messaging", targets: ["firebase_messaging"]), + .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] - ), + ) ] ) diff --git a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift index 7458a424a915..fb9488cec058 100644 --- a/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift +++ b/packages/firebase_messaging/firebase_messaging/macos/firebase_messaging/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_messaging", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-messaging", targets: ["firebase_messaging"]), + .library(name: "firebase-messaging", targets: ["firebase_messaging"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-fcm\""), ] - ), + ) ] ) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift index 806c78b8a527..65138b30f9ec 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]), + .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift index 0a9ee2fe93df..94cc55407399 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift @@ -87,7 +87,7 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, errorDetails["code"] = code ?? self.mapErrorCodes(error: error! as NSError) errorDetails["message"] = message ?? error? - .localizedDescription ?? "An unknown error has occurred." + .localizedDescription ?? "An unknown error has occurred." errorDetails["additionalData"] = details ?? ["code": errorDetails["code"], "message": errorDetails["message"]] @@ -119,8 +119,10 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, } } - func listDownloadedModels(arguments: [String: Any], - result: FLTFirebaseMethodCallResult) { + func listDownloadedModels( + arguments: [String: Any], + result: FLTFirebaseMethodCallResult + ) { let modelDownloader = modelDownloaderFromArguments(arguments: arguments) modelDownloader?.listDownloadedModels { response in @@ -178,8 +180,10 @@ public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, } } - func deleteDownloadedModel(arguments: [String: Any], - result: FLTFirebaseMethodCallResult) { + func deleteDownloadedModel( + arguments: [String: Any], + result: FLTFirebaseMethodCallResult + ) { let modelDownloader = modelDownloaderFromArguments(arguments: arguments) let modelName = arguments["modelName"] diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift index 42976cc49195..d59fe67468f2 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_ml_model_downloader", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]), + .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift index 77299ac498ed..3fcf255d9868 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_performance", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-performance", targets: ["firebase_performance"]), + .library(name: "firebase-performance", targets: ["firebase_performance"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-perf\""), ] - ), + ) ] ) diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift index 010a3ec95732..d0bf9252d08f 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformanceMessages.g.swift @@ -393,16 +393,20 @@ class FirebasePerformanceMessagesPigeonCodec: FlutterStandardMessageCodec, @unch /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebasePerformanceHostApi { - func setPerformanceCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) + func setPerformanceCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void) func isPerformanceCollectionEnabled(completion: @escaping (Result) -> Void) func startTrace(name: String, completion: @escaping (Result) -> Void) - func stopTrace(handle: Int64, attributes: TraceAttributes, - completion: @escaping (Result) -> Void) - func startHttpMetric(options: HttpMetricOptions, - completion: @escaping (Result) -> Void) - func stopHttpMetric(handle: Int64, attributes: HttpMetricAttributes, - completion: @escaping (Result) -> Void) + func stopTrace( + handle: Int64, attributes: TraceAttributes, + completion: @escaping (Result) -> Void) + func startHttpMetric( + options: HttpMetricOptions, + completion: @escaping (Result) -> Void) + func stopHttpMetric( + handle: Int64, attributes: HttpMetricAttributes, + completion: @escaping (Result) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -413,12 +417,14 @@ class FirebasePerformanceHostApiSetup { /// Sets up an instance of `FirebasePerformanceHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebasePerformanceHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebasePerformanceHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let setPerformanceCollectionEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.setPerformanceCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -440,7 +446,7 @@ class FirebasePerformanceHostApiSetup { } let isPerformanceCollectionEnabledChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.isPerformanceCollectionEnabled\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -460,7 +466,7 @@ class FirebasePerformanceHostApiSetup { } let startTraceChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startTrace\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -482,7 +488,7 @@ class FirebasePerformanceHostApiSetup { } let stopTraceChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopTrace\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -505,7 +511,7 @@ class FirebasePerformanceHostApiSetup { } let startHttpMetricChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.startHttpMetric\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -527,7 +533,7 @@ class FirebasePerformanceHostApiSetup { } let stopHttpMetricChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric\(channelSuffix)", + "dev.flutter.pigeon.firebase_performance_platform_interface.FirebasePerformanceHostApi.stopHttpMetric\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) diff --git a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift index 5ece6be74977..3c7d8f50b620 100644 --- a/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift +++ b/packages/firebase_performance/firebase_performance/ios/firebase_performance/Sources/firebase_performance/FirebasePerformancePlugin.swift @@ -22,7 +22,8 @@ let FirebasePerformanceChannelName = "plugins.flutter.io/firebase_performance" extension FlutterError: Error {} public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePluginProtocol, - FirebasePerformanceHostApi { + FirebasePerformanceHostApi +{ public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { completion() } @@ -60,8 +61,10 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug FirebasePerformanceHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) } - public func setPerformanceCollectionEnabled(enabled: Bool, - completion: @escaping (Result) -> Void) { + public func setPerformanceCollectionEnabled( + enabled: Bool, + completion: @escaping (Result) -> Void + ) { Performance.sharedInstance().isDataCollectionEnabled = enabled completion(.success(())) } @@ -79,8 +82,10 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(Int64(traceHandle))) } - func stopTrace(handle: Int64, attributes: TraceAttributes, - completion: @escaping (Result) -> Void) { + func stopTrace( + handle: Int64, attributes: TraceAttributes, + completion: @escaping (Result) -> Void + ) { guard let trace = traces[Int(handle)] else { completion(.success(())) return @@ -103,8 +108,10 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(())) } - func startHttpMetric(options: HttpMetricOptions, - completion: @escaping (Result) -> Void) { + func startHttpMetric( + options: HttpMetricOptions, + completion: @escaping (Result) -> Void + ) { guard let url = URL(string: options.url) else { completion(.failure(FlutterError(code: "invalid-url", message: "Invalid url", details: nil))) return @@ -130,8 +137,10 @@ public class FirebasePerformancePlugin: NSObject, FlutterPlugin, FLTFirebasePlug completion(.success(Int64(httpMetricHandle))) } - func stopHttpMetric(handle: Int64, attributes: HttpMetricAttributes, - completion: @escaping (Result) -> Void) { + func stopHttpMetric( + handle: Int64, attributes: HttpMetricAttributes, + completion: @escaping (Result) -> Void + ) { guard let httpMetric = httpMetrics[Int(handle)] else { completion(.success(())) return diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift index 5fa617c1a8e0..787668e656ef 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_remote_config", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]), + .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift index 1168f1b807c7..f7b031c0c6e3 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigMessages.g.swift @@ -263,13 +263,16 @@ protocol FirebaseRemoteConfigHostApi { func fetch(appName: String, completion: @escaping (Result) -> Void) func fetchAndActivate(appName: String, completion: @escaping (Result) -> Void) func activate(appName: String, completion: @escaping (Result) -> Void) - func setConfigSettings(appName: String, settings: RemoteConfigPigeonSettings, - completion: @escaping (Result) -> Void) - func setDefaults(appName: String, defaultParameters: [String: Any?], - completion: @escaping (Result) -> Void) + func setConfigSettings( + appName: String, settings: RemoteConfigPigeonSettings, + completion: @escaping (Result) -> Void) + func setDefaults( + appName: String, defaultParameters: [String: Any?], + completion: @escaping (Result) -> Void) func ensureInitialized(appName: String, completion: @escaping (Result) -> Void) - func setCustomSignals(appName: String, customSignals: [String: Any?], - completion: @escaping (Result) -> Void) + func setCustomSignals( + appName: String, customSignals: [String: Any?], + completion: @escaping (Result) -> Void) func getAll(appName: String, completion: @escaping (Result<[String: Any?], Error>) -> Void) func getProperties(appName: String, completion: @escaping (Result<[String: Any], Error>) -> Void) } @@ -282,12 +285,14 @@ class FirebaseRemoteConfigHostApiSetup { /// Sets up an instance of `FirebaseRemoteConfigHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseRemoteConfigHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseRemoteConfigHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let fetchChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetch\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -309,7 +314,7 @@ class FirebaseRemoteConfigHostApiSetup { } let fetchAndActivateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.fetchAndActivate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -331,7 +336,7 @@ class FirebaseRemoteConfigHostApiSetup { } let activateChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.activate\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -353,7 +358,7 @@ class FirebaseRemoteConfigHostApiSetup { } let setConfigSettingsChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setConfigSettings\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -376,7 +381,7 @@ class FirebaseRemoteConfigHostApiSetup { } let setDefaultsChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setDefaults\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -399,7 +404,7 @@ class FirebaseRemoteConfigHostApiSetup { } let ensureInitializedChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.ensureInitialized\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -421,7 +426,7 @@ class FirebaseRemoteConfigHostApiSetup { } let setCustomSignalsChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.setCustomSignals\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -444,7 +449,7 @@ class FirebaseRemoteConfigHostApiSetup { } let getAllChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getAll\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -466,7 +471,7 @@ class FirebaseRemoteConfigHostApiSetup { } let getPropertiesChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties\(channelSuffix)", + "dev.flutter.pigeon.firebase_remote_config_platform_interface.FirebaseRemoteConfigHostApi.getProperties\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift index 301e35d5ab19..aa923738980a 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigPlugin.swift @@ -22,7 +22,8 @@ let kFirebaseRemoteConfigUpdatedChannelName = "plugins.flutter.io/firebase_remot extension FlutterError: Error {} public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamHandler, - FLTFirebasePluginProtocol, FirebaseRemoteConfigHostApi { + FLTFirebasePluginProtocol, FirebaseRemoteConfigHostApi +{ private var listenersMap: [String: ConfigUpdateListenerRegistration] = [:] private var fetchAndActivateRetry = false @@ -107,8 +108,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } } - func setConfigSettings(appName: String, settings: RemoteConfigPigeonSettings, - completion: @escaping (Result) -> Void) { + func setConfigSettings( + appName: String, settings: RemoteConfigPigeonSettings, + completion: @escaping (Result) -> Void + ) { let fetchTimeout = settings.fetchTimeoutSeconds let minFetchInterval = settings.minimumFetchIntervalSeconds let configSettings = RemoteConfigSettings() @@ -118,8 +121,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH completion(.success(())) } - func setDefaults(appName: String, defaultParameters: [String: Any?], - completion: @escaping (Result) -> Void) { + func setDefaults( + appName: String, defaultParameters: [String: Any?], + completion: @escaping (Result) -> Void + ) { var filtered: [String: NSObject] = [:] for (key, value) in defaultParameters { @@ -142,8 +147,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } } - func setCustomSignals(appName: String, customSignals: [String: Any?], - completion: @escaping (Result) -> Void) { + func setCustomSignals( + appName: String, customSignals: [String: Any?], + completion: @escaping (Result) -> Void + ) { let signalValues = convertToCustomSignalValues(customSignals) Task { do { @@ -172,8 +179,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH completion(.success(parameters)) } - func getProperties(appName: String, - completion: @escaping (Result<[String: Any], any Error>) -> Void) { + func getProperties( + appName: String, + completion: @escaping (Result<[String: Any], any Error>) -> Void + ) { let config = getRemoteConfig(from: appName) completion(.success(configProperties(for: config))) } @@ -190,8 +199,10 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH kFirebaseRemoteConfigChannelName } - public func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + public func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { guard let args = arguments as? [String: Any], let appName = args["appName"] as? String else { return nil } @@ -237,7 +248,8 @@ public class FirebaseRemoteConfigPlugin: NSObject, FlutterPlugin, FlutterStreamH } private func createRemoteConfigValueDict(_ remoteConfigValue: RemoteConfigValue) - -> [String: Any] { + -> [String: Any] + { [ "value": FlutterStandardTypedData(bytes: remoteConfigValue.dataValue), "source": mapSource(remoteConfigValue.source), diff --git a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift index 1e35341b36aa..45065769736b 100644 --- a/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift +++ b/packages/firebase_remote_config/firebase_remote_config/ios/firebase_remote_config/Sources/firebase_remote_config/FirebaseRemoteConfigUtils.swift @@ -11,7 +11,8 @@ class FLTFirebaseRemoteConfigUtils { switch error.code { case RemoteConfigError.internalError.rawValue: if let description = error.userInfo[NSLocalizedDescriptionKey] as? String, - description.contains("403") { + description.contains("403") + { // See PR for details: https://github.com/firebase/flutterfire/pull/9629 codeAndMessage["code"] = "forbidden" let updateMessage = @@ -21,7 +22,7 @@ class FLTFirebaseRemoteConfigUtils { codeAndMessage["code"] = "internal" codeAndMessage["message"] = error - .userInfo[NSLocalizedDescriptionKey] as? String ?? "Internal error" + .userInfo[NSLocalizedDescriptionKey] as? String ?? "Internal error" } case RemoteConfigError.throttled.rawValue: diff --git a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift index 70abdd968bc3..525d98ef693a 100644 --- a/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift +++ b/packages/firebase_remote_config/firebase_remote_config/macos/firebase_remote_config/Package.swift @@ -12,10 +12,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_remote_config", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]), + .library(name: "firebase-remote-config", targets: ["firebase_remote_config"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -29,8 +29,8 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ] - ), + ) ] ) diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift index a1fe1e8b7a6f..3bb7839d5742 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_storage", platforms: [ - .iOS("15.0"), + .iOS("15.0") ], products: [ - .library(name: "firebase-storage", targets: ["firebase_storage"]), + .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] - ), + ) ] ) diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift index c49aed7f7312..ef81f56e31da 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FLTFirebaseStoragePlugin.swift @@ -63,8 +63,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt return Storage.storage(app: firApp, url: base) } - private func ref(app: InternalStorageFirebaseApp, - reference: InternalStorageReference) -> StorageReference { + private func ref( + app: InternalStorageFirebaseApp, + reference: InternalStorageReference + ) -> StorageReference { storage(app: app).reference(withPath: reference.fullPath) } @@ -72,8 +74,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt InternalStorageReference(bucket: ref.bucket, fullPath: ref.fullPath, name: ref.name) } - func getReferencebyPath(app: InternalStorageFirebaseApp, path: String, bucket: String?, - completion: @escaping (Result) -> Void) { + func getReferencebyPath( + app: InternalStorageFirebaseApp, path: String, bucket: String?, + completion: @escaping (Result) -> Void + ) { let r = storage(app: app).reference(withPath: path) completion( .success( @@ -86,26 +90,34 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt ) } - func setMaxOperationRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) { + func setMaxOperationRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void + ) { storage(app: app).maxOperationRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func setMaxUploadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) { + func setMaxUploadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void + ) { storage(app: app).maxUploadRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func setMaxDownloadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) { + func setMaxDownloadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void + ) { storage(app: app).maxDownloadRetryTime = TimeInterval(Double(time) / 1000.0) completion(.success(())) } - func useStorageEmulator(app: InternalStorageFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) { + func useStorageEmulator( + app: InternalStorageFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void + ) { guard emulatorBooted[app.bucket] == nil else { completion(.success(())) return @@ -116,8 +128,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt completion(.success(())) } - func referenceDelete(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceDelete( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).delete { error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -127,8 +141,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceGetDownloadURL(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceGetDownloadURL( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).downloadURL { url, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -145,8 +161,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceGetMetaData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceGetMetaData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).getMetadata { md, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -156,9 +174,11 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceList(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - options: InternalListOptions, - completion: @escaping (Result) -> Void) { + func referenceList( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + options: InternalListOptions, + completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let block: (StorageListResult?, Error?) -> Void = { list, error in if let e = error { @@ -174,8 +194,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceListAll(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) { + func referenceListAll( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).listAll { list, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -185,9 +207,11 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referenceGetData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - maxSize: Int64, - completion: @escaping (Result) -> Void) { + func referenceGetData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + maxSize: Int64, + completion: @escaping (Result) -> Void + ) { ref(app: app, reference: reference).getData(maxSize: maxSize) { data, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -199,9 +223,11 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func referencePutData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) { + func referencePutData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let task = r.putData(data.data, metadata: toMeta(settableMetaData)) completion( @@ -216,9 +242,11 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt ) } - func referencePutString(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: String, format: Int64, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) { + func referencePutString( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: String, format: Int64, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let d: Data if format == 1 { @@ -246,10 +274,12 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt ) } - func referencePutFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, settableMetaData: InternalSettableMetadata?, - handle: Int64, - completion: @escaping (Result) -> Void) { + func referencePutFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, settableMetaData: InternalSettableMetadata?, + handle: Int64, + completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let url = URL(fileURLWithPath: filePath) let task: StorageUploadTask @@ -270,9 +300,11 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt ) } - func referenceDownloadFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, handle: Int64, - completion: @escaping (Result) -> Void) { + func referenceDownloadFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, handle: Int64, + completion: @escaping (Result) -> Void + ) { let r = ref(app: app, reference: reference) let url = URL(fileURLWithPath: filePath) let task = r.write(toFile: url) @@ -288,11 +320,13 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt ) } - func referenceUpdateMetadata(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - metadata: InternalSettableMetadata, - completion: - @escaping (Result) - -> Void) { + func referenceUpdateMetadata( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + metadata: InternalSettableMetadata, + completion: + @escaping (Result) + -> Void + ) { ref(app: app, reference: reference).updateMetadata(toMeta(metadata)) { md, error in if let e = error { completion(.failure(self.toFlutterError(e))) @@ -302,8 +336,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskPause(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) { + func taskPause( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void + ) { if let task = handleToTask[handle] as? StorageUploadTask { task.pause() completion(.success(["status": true, "snapshot": currentSnapshot(handle: handle)])) @@ -315,8 +351,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskResume(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) { + func taskResume( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void + ) { if let task = handleToTask[handle] as? StorageUploadTask { task.resume() completion(.success(["status": true, "snapshot": currentSnapshot(handle: handle)])) @@ -328,8 +366,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt } } - func taskCancel(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) { + func taskCancel( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void + ) { if let task = handleToTask[handle] as? StorageUploadTask { task.cancel() if let id = handleToIdentifier[handle] { @@ -387,8 +427,10 @@ public final class FLTFirebaseStoragePlugin: NSObject, FlutterPlugin, FirebaseSt return InternalListResult(items: itemsOpt, pageToken: list.pageToken, prefixs: prefixesOpt) } - private func registerTask(task: StorageObservableTask, appName: String, handle: Int64, - path: String) -> String { + private func registerTask( + task: StorageObservableTask, appName: String, handle: Int64, + path: String + ) -> String { let uuid = UUID().uuidString let channelName = "plugins.flutter.io/firebase_storage/taskEvent/\(uuid)" let channel = FlutterEventChannel(name: channelName, binaryMessenger: messenger!) diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift index 1dccb935f562..8012456b979d 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/FirebaseStorageMessages.g.swift @@ -297,7 +297,7 @@ struct InternalFullMetaData: Hashable { func toList() -> [Any?] { [ - metadata, + metadata ] } @@ -627,51 +627,70 @@ class FirebaseStorageMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecke /// Generated protocol from Pigeon that represents a handler of messages from Flutter. protocol FirebaseStorageHostApi { - func getReferencebyPath(app: InternalStorageFirebaseApp, path: String, bucket: String?, - completion: @escaping (Result) -> Void) - func setMaxOperationRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func setMaxUploadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func setMaxDownloadRetryTime(app: InternalStorageFirebaseApp, time: Int64, - completion: @escaping (Result) -> Void) - func useStorageEmulator(app: InternalStorageFirebaseApp, host: String, port: Int64, - completion: @escaping (Result) -> Void) - func referenceDelete(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetDownloadURL(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetMetaData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceList(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - options: InternalListOptions, - completion: @escaping (Result) -> Void) - func referenceListAll(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - completion: @escaping (Result) -> Void) - func referenceGetData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - maxSize: Int64, - completion: @escaping (Result) -> Void) - func referencePutData(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) - func referencePutString(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - data: String, format: Int64, settableMetaData: InternalSettableMetadata, - handle: Int64, completion: @escaping (Result) -> Void) - func referencePutFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, settableMetaData: InternalSettableMetadata?, - handle: Int64, completion: @escaping (Result) -> Void) - func referenceDownloadFile(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - filePath: String, handle: Int64, - completion: @escaping (Result) -> Void) - func referenceUpdateMetadata(app: InternalStorageFirebaseApp, reference: InternalStorageReference, - metadata: InternalSettableMetadata, - completion: @escaping (Result) -> Void) - func taskPause(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) - func taskResume(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) - func taskCancel(app: InternalStorageFirebaseApp, handle: Int64, - completion: @escaping (Result<[String: Any], Error>) -> Void) + func getReferencebyPath( + app: InternalStorageFirebaseApp, path: String, bucket: String?, + completion: @escaping (Result) -> Void) + func setMaxOperationRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func setMaxUploadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func setMaxDownloadRetryTime( + app: InternalStorageFirebaseApp, time: Int64, + completion: @escaping (Result) -> Void) + func useStorageEmulator( + app: InternalStorageFirebaseApp, host: String, port: Int64, + completion: @escaping (Result) -> Void) + func referenceDelete( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetDownloadURL( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetMetaData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceList( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + options: InternalListOptions, + completion: @escaping (Result) -> Void) + func referenceListAll( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + completion: @escaping (Result) -> Void) + func referenceGetData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + maxSize: Int64, + completion: @escaping (Result) -> Void) + func referencePutData( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: FlutterStandardTypedData, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) + func referencePutString( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + data: String, format: Int64, settableMetaData: InternalSettableMetadata, + handle: Int64, completion: @escaping (Result) -> Void) + func referencePutFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, settableMetaData: InternalSettableMetadata?, + handle: Int64, completion: @escaping (Result) -> Void) + func referenceDownloadFile( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + filePath: String, handle: Int64, + completion: @escaping (Result) -> Void) + func referenceUpdateMetadata( + app: InternalStorageFirebaseApp, reference: InternalStorageReference, + metadata: InternalSettableMetadata, + completion: @escaping (Result) -> Void) + func taskPause( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) + func taskResume( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) + func taskCancel( + app: InternalStorageFirebaseApp, handle: Int64, + completion: @escaping (Result<[String: Any], Error>) -> Void) } /// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. @@ -682,12 +701,14 @@ class FirebaseStorageHostApiSetup { /// Sets up an instance of `FirebaseStorageHostApi` to handle messages through the /// `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: FirebaseStorageHostApi?, - messageChannelSuffix: String = "") { + static func setUp( + binaryMessenger: FlutterBinaryMessenger, api: FirebaseStorageHostApi?, + messageChannelSuffix: String = "" + ) { let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" let getReferencebyPathChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.getReferencebyPath\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -711,7 +732,7 @@ class FirebaseStorageHostApiSetup { } let setMaxOperationRetryTimeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxOperationRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -734,7 +755,7 @@ class FirebaseStorageHostApiSetup { } let setMaxUploadRetryTimeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxUploadRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -757,7 +778,7 @@ class FirebaseStorageHostApiSetup { } let setMaxDownloadRetryTimeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.setMaxDownloadRetryTime\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -780,7 +801,7 @@ class FirebaseStorageHostApiSetup { } let useStorageEmulatorChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.useStorageEmulator\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -804,7 +825,7 @@ class FirebaseStorageHostApiSetup { } let referenceDeleteChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDelete\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -827,7 +848,7 @@ class FirebaseStorageHostApiSetup { } let referenceGetDownloadURLChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetDownloadURL\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -850,7 +871,7 @@ class FirebaseStorageHostApiSetup { } let referenceGetMetaDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetMetaData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -873,7 +894,7 @@ class FirebaseStorageHostApiSetup { } let referenceListChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceList\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -897,7 +918,7 @@ class FirebaseStorageHostApiSetup { } let referenceListAllChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceListAll\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -920,7 +941,7 @@ class FirebaseStorageHostApiSetup { } let referenceGetDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceGetData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -944,7 +965,7 @@ class FirebaseStorageHostApiSetup { } let referencePutDataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutData\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -976,7 +997,7 @@ class FirebaseStorageHostApiSetup { } let referencePutStringChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutString\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1010,7 +1031,7 @@ class FirebaseStorageHostApiSetup { } let referencePutFileChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referencePutFile\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1042,7 +1063,7 @@ class FirebaseStorageHostApiSetup { } let referenceDownloadFileChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceDownloadFile\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1072,7 +1093,7 @@ class FirebaseStorageHostApiSetup { } let referenceUpdateMetadataChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.referenceUpdateMetadata\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1100,7 +1121,7 @@ class FirebaseStorageHostApiSetup { } let taskPauseChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskPause\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1123,7 +1144,7 @@ class FirebaseStorageHostApiSetup { } let taskResumeChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskResume\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) @@ -1146,7 +1167,7 @@ class FirebaseStorageHostApiSetup { } let taskCancelChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel\(channelSuffix)", + "dev.flutter.pigeon.firebase_storage_platform_interface.FirebaseStorageHostApi.taskCancel\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec ) diff --git a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift index 9cc69b046a25..21acfcbe6f32 100644 --- a/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift +++ b/packages/firebase_storage/firebase_storage/ios/firebase_storage/Sources/firebase_storage/TaskStateChannelStreamHandler.swift @@ -27,11 +27,13 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { self.identifier = identifier } - func onListen(withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink) -> FlutterError? { + func onListen( + withArguments arguments: Any?, + eventSink events: @escaping FlutterEventSink + ) -> FlutterError? { successHandle = task.observe(.success) { snapshot in events([ - "taskState": 2, // success + "taskState": 2, // success "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) @@ -41,7 +43,7 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { let err = snapshot.error as NSError? let errorDict: [String: Any] = self.errorDict(err) events([ - "taskState": 4, // error (including cancellations as errors per platform contract) + "taskState": 4, // error (including cancellations as errors per platform contract) "appName": self.storage.app.name, "error": errorDict, ]) @@ -49,14 +51,14 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { } pausedHandle = task.observe(.pause) { snapshot in events([ - "taskState": 0, // paused + "taskState": 0, // paused "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) } progressHandle = task.observe(.progress) { snapshot in events([ - "taskState": 1, // running + "taskState": 1, // running "appName": self.storage.app.name, "snapshot": self.parseTaskSnapshot(snapshot), ]) @@ -105,7 +107,8 @@ final class TaskStateChannelStreamHandler: NSObject, FlutterStreamHandler { } let code: String if error.domain == StorageErrorDomain, - let storageCode = StorageErrorCode(rawValue: error.code) { + let storageCode = StorageErrorCode(rawValue: error.code) + { switch storageCode { case .objectNotFound: code = "object-not-found" case .bucketNotFound: code = "bucket-not-found" diff --git a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift index c15464ac5da8..a37ec5f226b2 100644 --- a/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift +++ b/packages/firebase_storage/firebase_storage/macos/firebase_storage/Package.swift @@ -13,10 +13,10 @@ let firebaseSdkVersion: Version = "12.13.0" let package = Package( name: "firebase_storage", platforms: [ - .macOS("10.15"), + .macOS("10.15") ], products: [ - .library(name: "firebase-storage", targets: ["firebase_storage"]), + .library(name: "firebase-storage", targets: ["firebase_storage"]) ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), @@ -30,13 +30,13 @@ let package = Package( .product(name: "firebase-core", package: "firebase_core"), ], resources: [ - .process("Resources"), + .process("Resources") ], cSettings: [ .headerSearchPath("include"), .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-gcs\""), ] - ), + ) ] ) From 150c9b6bf6e36fb1d4a192a8830a0fcd8245e9ea Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Fri, 29 May 2026 08:15:00 +0000 Subject: [PATCH 11/13] chore: add step to clean generated build artifacts in CI workflow --- .github/workflows/all_plugins.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 684199474753..138bcc15f9da 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -113,6 +113,12 @@ jobs: run: | flutter pub global run flutter_plugin_tools format --base-branch=origin/main ./.github/workflows/scripts/validate-formatting.sh + + - name: Clean generated build artifacts + if: ${{ always() }} + run: | + rm -rf build + find packages -type d -name build -prune -exec rm -rf {} + # - name: 'Swift' # if: ${{ success() || failure() }} # run: | From 5ba0d9f8a7a0eebe68c1bcc22ce856493324d3a4 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Fri, 29 May 2026 09:05:48 +0000 Subject: [PATCH 12/13] chore: reduce timeout for analyze job in CI workflow from 50 to 40 minutes --- .github/workflows/all_plugins.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 138bcc15f9da..92ed6c947af5 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -20,7 +20,7 @@ on: jobs: analyze: - timeout-minutes: 50 + timeout-minutes: 40 runs-on: ubuntu-latest steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 @@ -114,16 +114,12 @@ jobs: flutter pub global run flutter_plugin_tools format --base-branch=origin/main ./.github/workflows/scripts/validate-formatting.sh + # Clean generated build artificats(from format step) to prevent post run jobs from timing out - name: Clean generated build artifacts if: ${{ always() }} run: | rm -rf build find packages -type d -name build -prune -exec rm -rf {} + - # - name: 'Swift' - # if: ${{ success() || failure() }} - # run: | - # swiftformat . --exclude Pods,**/Pods/**,**/build/**,**/SourcePackages/**,**/.symlinks/**,**/Flutter/ephemeral/** - # ./.github/workflows/scripts/validate-formatting.sh build_examples_dart: timeout-minutes: 30 From 386fce75ff148eee9a175fd6e0ab1cec4e601029 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Fri, 29 May 2026 10:38:13 +0000 Subject: [PATCH 13/13] chore: increase timeout for analyze job in CI workflow from 40 to 50 minutes --- .github/workflows/all_plugins.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 92ed6c947af5..383c4e180bcb 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -20,7 +20,7 @@ on: jobs: analyze: - timeout-minutes: 40 + timeout-minutes: 50 runs-on: ubuntu-latest steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938