From 272fa8be7d066ac9fb7e030be52f281e3c08bec1 Mon Sep 17 00:00:00 2001 From: dkimitsa Date: Sat, 16 Sep 2023 23:32:54 +0300 Subject: [PATCH] * Firebase updated to v10.15.0 --- README.md | 2 +- firebase/README.md | 28 ++++----- firebase/ios-analytics/pom.xml | 2 +- firebase/ios-appcheck/pom.xml | 2 +- .../Headers/FIRAppCheckAvailability.h | 33 +--------- firebase/ios-auth/pom.xml | 2 +- .../FirebaseAuth.framework/Headers/FIRAuth.h | 12 ++++ .../Headers/FIRAuthErrors.h | 40 +++++++++++- .../src/main/bro-gen/firebaseauth.yaml | 2 + .../robovm/pods/firebase/auth/FIRAuth.java | 2 + .../pods/firebase/auth/FIRAuthErrorCode.java | 11 +++- firebase/ios-core/pom.xml | 2 +- firebase/ios-crashlytics/pom.xml | 2 +- firebase/ios-database/pom.xml | 2 +- firebase/ios-dylinks/pom.xml | 2 +- firebase/ios-firestore/pom.xml | 2 +- .../Headers/FIRFirestore.h | 26 ++++++-- .../Headers/FIRPersistentCacheIndexManager.h | 55 ++++++++++++++++ .../Headers/FirebaseFirestore-umbrella.h | 1 + .../src/main/bro-gen/firebasefirestore.yaml | 8 ++- .../pods/firebase/firestore/FIRFirestore.java | 15 +++++ .../FIRPersistentCacheIndexManager.java | 62 +++++++++++++++++++ firebase/ios-google-mobile-ads/pom.xml | 2 +- .../Headers/GADQueryInfo.h | 8 +++ .../src/main/bro-gen/gad.yaml | 2 + .../pods/google/mobileads/GADQueryInfo.java | 2 + firebase/ios-installations/pom.xml | 2 +- firebase/ios-messaging/pom.xml | 2 +- firebase/ios-remoteconfig/pom.xml | 2 +- firebase/ios-storage/pom.xml | 2 +- .../Headers/FirebaseStorage-Swift.h | 7 +-- 31 files changed, 269 insertions(+), 73 deletions(-) create mode 100644 firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRPersistentCacheIndexManager.h create mode 100644 firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRPersistentCacheIndexManager.java diff --git a/README.md b/README.md index 37af87346..b91dc2192 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ v1.33.0 - in development | [Charts](charts/) | 5.0.0 | | [ClearAds](clearads/) | 3.2.4 | | [Facebook](facebook/) | 16.1.3 | -| [Firebase](firebase/) | 10.13.0 | +| [Firebase](firebase/) | 10.15.0 | | [Fyber](fyber/) | 8.2.2 | | [HelpShiftX](helpshift/) | 10.2.2 | | [InMobi](inmobi/) | 10.1.4 | diff --git a/firebase/README.md b/firebase/README.md index 6f55d4161..30e9c1c26 100644 --- a/firebase/README.md +++ b/firebase/README.md @@ -6,29 +6,29 @@ Firebase gives you functionality like analytics, databases, messaging and crash | RoboPod | Description | Version | |----------------------------------------------------------------------------------|------------------------------------------------|---------| -| [ios-analytics](ios-analytics/) | Firebase iOS Analytics | 10.13.0 | -| [ios-auth](ios-auth/) | Firebase iOS Authentication | 10.13.0 | -| [ios-core](ios-core/) | Firebase iOS Core | 10.13.0 | -| [ios-crashlytics](ios-crashlytics/) | Firebase iOS Crashlytics | 10.13.0 | -| [ios-database](ios-database/) | Firebase iOS DataBase | 10.13.0 | -| [ios-dylinks](ios-dylinks/) | Firebase iOS Dynamic Links | 10.13.0 | -| [ios-firestore](ios-firestore/) | Firebase iOS Firestore | 10.13.0 | -| [ios-mobile ads](ios-google-mobile-ads/) | Firebase iOS Google Mobile Ads | 10.8.0 | +| [ios-analytics](ios-analytics/) | Firebase iOS Analytics | 10.15.0 | +| [ios-auth](ios-auth/) | Firebase iOS Authentication | 10.15.0 | +| [ios-core](ios-core/) | Firebase iOS Core | 10.15.0 | +| [ios-crashlytics](ios-crashlytics/) | Firebase iOS Crashlytics | 10.15.0 | +| [ios-database](ios-database/) | Firebase iOS DataBase | 10.15.0 | +| [ios-dylinks](ios-dylinks/) | Firebase iOS Dynamic Links | 10.15.0 | +| [ios-firestore](ios-firestore/) | Firebase iOS Firestore | 10.15.0 | +| [ios-mobile ads](ios-google-mobile-ads/) | Firebase iOS Google Mobile Ads | 10.10.0 | | [ios-mobile ads-adapters](ios-google-mobile-ads-adapters/) | Firebase iOS AdMob Adapters | | | [ios-mobile ads-mediation-testsuite](ios-google-mobile-ads-mediation-testsuite/) | Firebase iOS Google AdMob Mediation Test Suite | 2.0.0 | | [ios-google-sign-in](ios-google-sign-in/) | Firebase iOS Google Sign In | 7.0.0 | | [ios-google-ump](ios-google-ump/) | Firebase iOS Google UMP | 2.1.0 | -| [ios-messaging](ios-messaging/) | Firebase iOS Messaging | 10.13.0 | -| [ios-installations](ios-installations/) | Firebase iOS Installations | 10.13.0 | -| [ios-remoteconfig](ios-remoteconfig/) | Firebase iOS Remote Config | 10.13.0 | -| [ios-storage](ios-storage/) | Firebase iOS Storage | 10.13.0 | -| [ios-appcheck](ios-appcheck/) | Firebase iOS App Check | 10.13.0 | +| [ios-messaging](ios-messaging/) | Firebase iOS Messaging | 10.15.0 | +| [ios-installations](ios-installations/) | Firebase iOS Installations | 10.15.0 | +| [ios-remoteconfig](ios-remoteconfig/) | Firebase iOS Remote Config | 10.15.0 | +| [ios-storage](ios-storage/) | Firebase iOS Storage | 10.15.0 | +| [ios-appcheck](ios-appcheck/) | Firebase iOS App Check | 10.15.0 | ## Versions | RoboPods Version | Firebase Version | |------------------|------------------| -| 1.33.0 | 10.13.0 | +| 1.33.0 | 10.15.0 | | 1.32.0 | 10.11.0 | | 1.31.0 | 10.9.0 | | 1.30.0 | 10.7.0 | diff --git a/firebase/ios-analytics/pom.xml b/firebase/ios-analytics/pom.xml index f3152a7f2..e028b4315 100644 --- a/firebase/ios-analytics/pom.xml +++ b/firebase/ios-analytics/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-analytics-ios - RoboPods FireBase Analytics iOS v10.13.0 + RoboPods FireBase Analytics iOS v10.15.0 jar diff --git a/firebase/ios-appcheck/pom.xml b/firebase/ios-appcheck/pom.xml index 58ca38a57..812eeab67 100644 --- a/firebase/ios-appcheck/pom.xml +++ b/firebase/ios-appcheck/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-app-check-ios - RoboPods FireBase App Check iOS v10.13.0 + RoboPods FireBase App Check iOS v10.15.0 jar diff --git a/firebase/ios-appcheck/src/main/bro-gen/FirebaseAppCheck.framework/Headers/FIRAppCheckAvailability.h b/firebase/ios-appcheck/src/main/bro-gen/FirebaseAppCheck.framework/Headers/FIRAppCheckAvailability.h index 9e5d31c36..44cdeaf6c 100644 --- a/firebase/ios-appcheck/src/main/bro-gen/FirebaseAppCheck.framework/Headers/FIRAppCheckAvailability.h +++ b/firebase/ios-appcheck/src/main/bro-gen/FirebaseAppCheck.framework/Headers/FIRAppCheckAvailability.h @@ -21,49 +21,20 @@ #pragma mark - DeviceCheck -// DeviceCheck availability was extended to watchOS in Xcode 14. -#if defined(__WATCHOS_9_0) && __WATCH_OS_VERSION_MAX_ALLOWED >= __WATCHOS_9_0 - // Targets where DeviceCheck framework is available to be used in preprocessor conditions. #define FIR_DEVICE_CHECK_SUPPORTED_TARGETS \ TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_TV || TARGET_OS_WATCH // `DeviceCheckProvider` availability. #define FIR_DEVICE_CHECK_PROVIDER_AVAILABILITY \ - API_AVAILABLE(ios(11.0), macos(10.15), tvos(11.0), watchos(9.0)) - -// TODO(ncooke3): Remove `#else` clause when Xcode 14 is the minimum supported Xcode. -#else // defined(__WATCHOS_9_0) && __WATCH_OS_VERSION_MAX_ALLOWED >= __WATCHOS_9_0 - -// Targets where DeviceCheck framework is available to be used in preprocessor conditions. -#define FIR_DEVICE_CHECK_SUPPORTED_TARGETS TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_TV - -// `DeviceCheckProvider` availability. -#define FIR_DEVICE_CHECK_PROVIDER_AVAILABILITY \ - API_AVAILABLE(ios(11.0), macos(10.15), tvos(11.0)) API_UNAVAILABLE(watchos) - -#endif // defined(__WATCHOS_9_0) && __WATCH_OS_VERSION_MAX_ALLOWED >= __WATCHOS_9_0 + API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0)) #pragma mark - App Attest -#if defined(__WATCHOS_9_0) && __WATCH_OS_VERSION_MAX_ALLOWED >= __WATCHOS_9_0 - // Targets where `DCAppAttestService` is available to be used in preprocessor conditions. #define FIR_APP_ATTEST_SUPPORTED_TARGETS \ TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_TV || TARGET_OS_WATCH // `AppAttestProvider` availability annotations #define FIR_APP_ATTEST_PROVIDER_AVAILABILITY \ - API_AVAILABLE(macos(11.0), ios(14.0), tvos(15.0), watchos(9.0)) - -// TODO(ncooke3): Remove `#else` clause when Xcode 14 is the minimum supported Xcode. -#else // defined(__WATCHOS_9_0) && __WATCH_OS_VERSION_MAX_ALLOWED >= __WATCHOS_9_0 - -// Targets where `DCAppAttestService` is available to be used in preprocessor conditions. -#define FIR_APP_ATTEST_SUPPORTED_TARGETS TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_TV - -// `AppAttestProvider` availability annotations -#define FIR_APP_ATTEST_PROVIDER_AVAILABILITY \ - API_AVAILABLE(macos(11.0), ios(14.0), tvos(15.0)) API_UNAVAILABLE(watchos) - -#endif // defined(__WATCHOS_9_0) && __WATCH_OS_VERSION_MAX_ALLOWED >= __WATCHOS_9_0 + API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0)) diff --git a/firebase/ios-auth/pom.xml b/firebase/ios-auth/pom.xml index 9e394c821..64e3372b9 100644 --- a/firebase/ios-auth/pom.xml +++ b/firebase/ios-auth/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-auth-ios - RoboPods FireBase Auth iOS v10.13.0 + RoboPods FireBase Auth iOS v10.15.0 jar diff --git a/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuth.h b/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuth.h index 9c3927d91..c847cadef 100644 --- a/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuth.h +++ b/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuth.h @@ -858,6 +858,18 @@ NS_SWIFT_NAME(Auth) - (void)revokeTokenWithAuthorizationCode:(NSString *)authorizationCode completion:(nullable void (^)(NSError *_Nullable error))completion; +#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST && (!defined(TARGET_OS_VISION) || !TARGET_OS_VISION) +/** @fn initializeRecaptchaConfigWithCompletion:completion: + @brief Initializes reCAPTCHA using the settings configured for the project or + tenant. + + If you change the tenant ID of the `Auth` instance, the configuration will be + reloaded. + */ +- (void)initializeRecaptchaConfigWithCompletion: + (nullable void (^)(NSError *_Nullable error))completion; +#endif + #pragma mark - User sharing /** @fn useUserAccessGroup:error: diff --git a/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuthErrors.h b/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuthErrors.h index 05b037658..d6bfa4497 100644 --- a/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuthErrors.h +++ b/firebase/ios-auth/src/main/bro-gen/FirebaseAuth.framework/Headers/FIRAuthErrors.h @@ -409,6 +409,10 @@ typedef NS_ERROR_ENUM(FIRAuthErrorDomain, FIRAuthErrorCode){ */ FIRAuthErrorCodeEmailChangeNeedsVerification = 17090, + /** Indicates that the request does not contain a client identifier. + */ + FIRAuthErrorCodeMissingClientIdentifier = 17093, + /** Indicates that the nonce is missing or invalid. */ FIRAuthErrorCodeMissingOrInvalidNonce = 17094, @@ -418,9 +422,41 @@ typedef NS_ERROR_ENUM(FIRAuthErrorDomain, FIRAuthErrorCode){ */ FIRAuthErrorCodeBlockingCloudFunctionError = 17105, - /** Indicates an error for when the client identifier is missing. + /** Indicates that reCAPTCHA Enterprise integration is not enabled for this project. + */ + FIRAuthErrorCodeRecaptchaNotEnabled = 17200, + + /** Indicates that the reCAPTCHA token is missing from the backend request. + */ + FIRAuthErrorCodeMissingRecaptchaToken = 17201, + + /** Indicates that the reCAPTCHA token sent with the backend request is invalid. + */ + FIRAuthErrorCodeInvalidRecaptchaToken = 17202, + + /** Indicates that the requested reCAPTCHA action is invalid. + */ + FIRAuthErrorCodeInvalidRecaptchaAction = 17203, + + /** Indicates that the client type is missing from the request. + */ + FIRAuthErrorCodeMissingClientType = 17204, + + /** Indicates that the reCAPTCHA version is missing from the request. + */ + FIRAuthErrorCodeMissingRecaptchaVersion = 17205, + + /** Indicates that the reCAPTCHA version sent to the backend is invalid. + */ + FIRAuthErrorCodeInvalidRecaptchaVersion = 17206, + + /** Indicates that the request type sent to the backend is invalid. + */ + FIRAuthErrorCodeInvalidReqType = 17207, + + /** Indicates that the reCAPTCHA SDK is not linked to the app. */ - FIRAuthErrorCodeMissingClientIdentifier = 17993, + FIRAuthErrorCodeRecaptchaSDKNotLinked = 17208, /** Indicates an error occurred while attempting to access the keychain. */ diff --git a/firebase/ios-auth/src/main/bro-gen/firebaseauth.yaml b/firebase/ios-auth/src/main/bro-gen/firebaseauth.yaml index 88ed6c553..92e743f31 100644 --- a/firebase/ios-auth/src/main/bro-gen/firebaseauth.yaml +++ b/firebase/ios-auth/src/main/bro-gen/firebaseauth.yaml @@ -83,6 +83,8 @@ classes: name: useEmulator '-revokeTokenWithAuthorizationCode:completion:': name: revokeToken + '-initializeRecaptchaConfigWithCompletion:': + name: initializeRecaptchaConfig FIRAuthCredential: {} FIRAuthDataResult: {} FIRAuthErrors: {exclude: true} # empty used only for aggregation diff --git a/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuth.java b/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuth.java index f5473c698..3ef7e0675 100644 --- a/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuth.java +++ b/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuth.java @@ -141,6 +141,8 @@ public static class Notifications { public native boolean canHandleNotification(NSDictionary userInfo); @Method(selector = "revokeTokenWithAuthorizationCode:completion:") public native void revokeToken(String authorizationCode, @Block VoidBlock1 completion); + @Method(selector = "initializeRecaptchaConfigWithCompletion:") + public native void initializeRecaptchaConfig(@Block VoidBlock1 completion); @Method(selector = "useUserAccessGroup:error:") public native boolean useUserAccessGroup(String accessGroup, NSError.NSErrorPtr outError); @Method(selector = "getStoredUserForAccessGroup:error:") diff --git a/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuthErrorCode.java b/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuthErrorCode.java index 8248285b8..7f3e3aadf 100644 --- a/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuthErrorCode.java +++ b/firebase/ios-auth/src/main/java/org/robovm/pods/firebase/auth/FIRAuthErrorCode.java @@ -111,9 +111,18 @@ public enum /**/FIRAuthErrorCode/**/ implements NSErrorCode { MaximumSecondFactorCountExceeded(17088L), UnsupportedFirstFactor(17089L), EmailChangeNeedsVerification(17090L), + MissingClientIdentifier(17093L), MissingOrInvalidNonce(17094L), BlockingCloudFunctionError(17105L), - MissingClientIdentifier(17993L), + RecaptchaNotEnabled(17200L), + MissingRecaptchaToken(17201L), + InvalidRecaptchaToken(17202L), + InvalidRecaptchaAction(17203L), + MissingClientType(17204L), + MissingRecaptchaVersion(17205L), + InvalidRecaptchaVersion(17206L), + InvalidReqType(17207L), + RecaptchaSDKNotLinked(17208L), KeychainError(17995L), InternalError(17999L), MalformedJWT(18000L); diff --git a/firebase/ios-core/pom.xml b/firebase/ios-core/pom.xml index ffb542e0d..f2493d03d 100644 --- a/firebase/ios-core/pom.xml +++ b/firebase/ios-core/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-core-ios - RoboPods FireBase Core iOS v10.13.0 + RoboPods FireBase Core iOS v10.15.0 jar diff --git a/firebase/ios-crashlytics/pom.xml b/firebase/ios-crashlytics/pom.xml index daaca74da..0760498e3 100644 --- a/firebase/ios-crashlytics/pom.xml +++ b/firebase/ios-crashlytics/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-crashlytics-ios - RoboPods FireBase Crashlytics iOS v10.13.0 + RoboPods FireBase Crashlytics iOS v10.15.0 jar diff --git a/firebase/ios-database/pom.xml b/firebase/ios-database/pom.xml index 1d371381d..ba9ed2b7c 100644 --- a/firebase/ios-database/pom.xml +++ b/firebase/ios-database/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-database-ios - RoboPods FireBase Realtime Database iOS v10.13.0 + RoboPods FireBase Realtime Database iOS v10.15.0 jar diff --git a/firebase/ios-dylinks/pom.xml b/firebase/ios-dylinks/pom.xml index 5a875e087..b68df77e5 100644 --- a/firebase/ios-dylinks/pom.xml +++ b/firebase/ios-dylinks/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-dynamic-links-ios - RoboPods FireBase Dynamic Links iOS v10.13.0 + RoboPods FireBase Dynamic Links iOS v10.15.0 jar diff --git a/firebase/ios-firestore/pom.xml b/firebase/ios-firestore/pom.xml index f8bf82d06..eecfb4343 100644 --- a/firebase/ios-firestore/pom.xml +++ b/firebase/ios-firestore/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-firestore-ios - RoboPods Cloud Firestore flexible, scalable NoSQL cloud database iOS v10.13.0 + RoboPods Cloud Firestore flexible, scalable NoSQL cloud database iOS v10.15.0 jar diff --git a/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRFirestore.h b/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRFirestore.h index 697ead2e0..8882c91ef 100644 --- a/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRFirestore.h +++ b/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRFirestore.h @@ -28,6 +28,7 @@ @class FIRTransaction; @class FIRTransactionOptions; @class FIRWriteBatch; +@class FIRPersistentCacheIndexManager; NS_ASSUME_NONNULL_BEGIN @@ -103,7 +104,16 @@ NS_SWIFT_NAME(Firestore) #pragma mark - Configure FieldIndexes /** - * This method is in preview. API signature and functionality are subject to change. + * A PersistentCacheIndexManager which you can config persistent cache indexes used for + * local query execution. + */ +@property(nonatomic, readonly, nullable) + FIRPersistentCacheIndexManager *persistentCacheIndexManager; + +/** + * NOTE: This preview method will be deprecated in a future major release. Consider using + * `PersistentCacheIndexManager.enableIndexAutoCreation()` to let the SDK decide whether to create + * cache indexes for queries running locally. * * Configures indexing for local query execution. Any previous index configuration is overridden. * @@ -121,10 +131,15 @@ NS_SWIFT_NAME(Firestore) */ - (void)setIndexConfigurationFromJSON:(NSString *)json completion:(nullable void (^)(NSError *_Nullable error))completion - NS_SWIFT_NAME(setIndexConfiguration(_:completion:)); + NS_SWIFT_NAME(setIndexConfiguration(_:completion:)) DEPRECATED_MSG_ATTRIBUTE( + "Instead of creating cache indexes manually, consider using " + "`PersistentCacheIndexManager.enableIndexAutoCreation()` to let the SDK decide whether to " + "create cache indexes for queries running locally."); /** - * This method is in preview. API signature and functionality are subject to change. + * NOTE: This preview method will be deprecated in a future major release. Consider using + * `PersistentCacheIndexManager.enableIndexAutoCreation()` to let the SDK decide whether to create + * cache indexes for queries running locally. * * Configures indexing for local query execution. Any previous index configuration is overridden. * @@ -145,7 +160,10 @@ NS_SWIFT_NAME(Firestore) */ - (void)setIndexConfigurationFromStream:(NSInputStream *)stream completion:(nullable void (^)(NSError *_Nullable error))completion - NS_SWIFT_NAME(setIndexConfiguration(_:completion:)); + NS_SWIFT_NAME(setIndexConfiguration(_:completion:)) DEPRECATED_MSG_ATTRIBUTE( + "Instead of creating cache indexes manually, consider using " + "`PersistentCacheIndexManager.enableIndexAutoCreation()` to let the SDK decide whether to " + "create cache indexes for queries running locally."); #pragma mark - Collections and Documents diff --git a/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRPersistentCacheIndexManager.h b/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRPersistentCacheIndexManager.h new file mode 100644 index 000000000..216db79e7 --- /dev/null +++ b/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FIRPersistentCacheIndexManager.h @@ -0,0 +1,55 @@ +/* + * Copyright 2023 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * A PersistentCacheIndexManager, for configuring persistent cache indexes used for local query + * execution. + */ +NS_SWIFT_NAME(PersistentCacheIndexManager) +@interface FIRPersistentCacheIndexManager : NSObject + +/** :nodoc: */ +- (instancetype)init + __attribute__((unavailable("FIRPersistentCacheIndexManager cannot be created directly."))); + +/** + * Enables the SDK to create persistent cache indexes automatically for local query execution when + * the SDK believes cache indexes can improve performance. + * + * This feature is disabled by default. + */ +- (void)enableIndexAutoCreation NS_SWIFT_NAME(enableIndexAutoCreation()); + +/** + * Stops creating persistent cache indexes automatically for local query execution. The indexes + * which have been created by calling `enableIndexAutoCreation` still take effect. + */ +- (void)disableIndexAutoCreation NS_SWIFT_NAME(disableIndexAutoCreation()); + +/** + * Removes all persistent cache indexes. Please note this function also deletes indexes generated by + * [[FIRFirestore firestore] setIndexConfigurationFromJSON] and [[FIRFirestore firestore] + * setIndexConfigurationFromStream], which are deprecated. + */ +- (void)deleteAllIndexes NS_SWIFT_NAME(deleteAllIndexes()); + +@end + +NS_ASSUME_NONNULL_END diff --git a/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FirebaseFirestore-umbrella.h b/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FirebaseFirestore-umbrella.h index 00093a6bf..ff33279c7 100644 --- a/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FirebaseFirestore-umbrella.h +++ b/firebase/ios-firestore/src/main/bro-gen/FirebaseFirestore.framework/Headers/FirebaseFirestore-umbrella.h @@ -29,6 +29,7 @@ #import "FIRListenerRegistration.h" #import "FIRLoadBundleTask.h" #import "FIRLocalCacheSettings.h" +#import "FIRPersistentCacheIndexManager.h" #import "FIRQuery.h" #import "FIRQuerySnapshot.h" #import "FIRSnapshotMetadata.h" diff --git a/firebase/ios-firestore/src/main/bro-gen/firebasefirestore.yaml b/firebase/ios-firestore/src/main/bro-gen/firebasefirestore.yaml index ba4f20542..938e3ec5d 100644 --- a/firebase/ios-firestore/src/main/bro-gen/firebasefirestore.yaml +++ b/firebase/ios-firestore/src/main/bro-gen/firebasefirestore.yaml @@ -3,8 +3,7 @@ include: [foundation, dispatch] framework: FirebaseFirestore clang_args: ['-x', 'objective-c'] headers: - - FirebaseFirestore.h - - FIRLoadBundleTask.h + - FirebaseFirestore-umbrella.h private_typedefs: "FIRApp *": org.robovm.pods.firebase.core.FIRApp @@ -276,6 +275,7 @@ classes: methods: '-initWithSizeBytes:': name: init + FIRPersistentCacheIndexManager: {} protocols: FIRListenerRegistration: { } FIRLocalCacheSettings: { } @@ -294,6 +294,10 @@ values: kFIRFirestoreCacheSizeUnlimited: class: FIRFirestoreSettings name: FirestoreCacheSizeUnlimited + FirebaseFirestoreVersion(.*): + class: FIRFirestore + readonly: true + name: 'getVersion#{g[0]}' # Make sure we don't miss any values if new ones are introduced in a later version (.*): diff --git a/firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRFirestore.java b/firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRFirestore.java index 080d63942..5fe22b93b 100644 --- a/firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRFirestore.java +++ b/firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRFirestore.java @@ -54,11 +54,26 @@ protected FIRFirestore() {} public native void setSettings(FIRFirestoreSettings v); @Property(selector = "app") public native org.robovm.pods.firebase.core.FIRApp getApp(); + @Property(selector = "persistentCacheIndexManager") + public native FIRPersistentCacheIndexManager getPersistentCacheIndexManager(); /**/ /**//**/ /**/ + @GlobalValue(symbol="FirebaseFirestoreVersionNumber", optional=true) + public static native double getVersionNumber(); + @GlobalValue(symbol="FirebaseFirestoreVersionString", optional=true) + public static native BytePtr getVersionString(); + + /** + * @deprecated Instead of creating cache indexes manually, consider using `PersistentCacheIndexManager.enableIndexAutoCreation()` to let the SDK decide whether to create cache indexes for queries running locally. + */ + @Deprecated @Method(selector = "setIndexConfigurationFromJSON:completion:") public native void setIndexConfigurationFromJSON(String json, @Block VoidBlock1 completion); + /** + * @deprecated Instead of creating cache indexes manually, consider using `PersistentCacheIndexManager.enableIndexAutoCreation()` to let the SDK decide whether to create cache indexes for queries running locally. + */ + @Deprecated @Method(selector = "setIndexConfigurationFromStream:completion:") public native void setIndexConfigurationFromStream(NSInputStream stream, @Block VoidBlock1 completion); @Method(selector = "collectionWithPath:") diff --git a/firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRPersistentCacheIndexManager.java b/firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRPersistentCacheIndexManager.java new file mode 100644 index 000000000..ba4d7621f --- /dev/null +++ b/firebase/ios-firestore/src/main/java/org/robovm/pods/firebase/firestore/FIRPersistentCacheIndexManager.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2013-2015 RoboVM AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.robovm.pods.firebase.firestore; + +/**/ +import java.io.*; +import java.nio.*; +import java.util.*; +import org.robovm.objc.*; +import org.robovm.objc.annotation.*; +import org.robovm.objc.block.*; +import org.robovm.rt.*; +import org.robovm.rt.annotation.*; +import org.robovm.rt.bro.*; +import org.robovm.rt.bro.annotation.*; +import org.robovm.rt.bro.ptr.*; +import org.robovm.apple.foundation.*; +import org.robovm.apple.dispatch.*; +/**/ + +/**/ + +/**/ +/**/@Library(Library.INTERNAL) @NativeClass/**/ +/**/public/**/ class /**/FIRPersistentCacheIndexManager/**/ + extends /**/NSObject/**/ + /**//**/ { + + /**/public static class FIRPersistentCacheIndexManagerPtr extends Ptr {}/**/ + /**/static { ObjCRuntime.bind(FIRPersistentCacheIndexManager.class); }/**/ + /**//**/ + /**/ + protected FIRPersistentCacheIndexManager() {} + protected FIRPersistentCacheIndexManager(Handle h, long handle) { super(h, handle); } + protected FIRPersistentCacheIndexManager(SkipInit skipInit) { super(skipInit); } + /**/ + /**/ + + /**/ + /**//**/ + /**/ + @Method(selector = "enableIndexAutoCreation") + public native void enableIndexAutoCreation(); + @Method(selector = "disableIndexAutoCreation") + public native void disableIndexAutoCreation(); + @Method(selector = "deleteAllIndexes") + public native void deleteAllIndexes(); + /**/ +} diff --git a/firebase/ios-google-mobile-ads/pom.xml b/firebase/ios-google-mobile-ads/pom.xml index 9a4084077..37c011a0c 100644 --- a/firebase/ios-google-mobile-ads/pom.xml +++ b/firebase/ios-google-mobile-ads/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-google-mobile-ads-ios - RoboPods Google Mobile Ads iOS v10.8.0 + RoboPods Google Mobile Ads iOS v10.10.0 jar diff --git a/firebase/ios-google-mobile-ads/src/main/bro-gen/GoogleMobileAds.framework/Headers/GADQueryInfo.h b/firebase/ios-google-mobile-ads/src/main/bro-gen/GoogleMobileAds.framework/Headers/GADQueryInfo.h index 91940d385..951978264 100644 --- a/firebase/ios-google-mobile-ads/src/main/bro-gen/GoogleMobileAds.framework/Headers/GADQueryInfo.h +++ b/firebase/ios-google-mobile-ads/src/main/bro-gen/GoogleMobileAds.framework/Headers/GADQueryInfo.h @@ -26,4 +26,12 @@ typedef void (^GADQueryInfoCreationCompletionHandler)(GADQueryInfo *_Nullable qu adFormat:(GADAdFormat)adFormat completionHandler:(nonnull GADQueryInfoCreationCompletionHandler)completionHandler; +/// Creates query info for adUnitID that can be used as input in a Google request. Calls +/// completionHandler asynchronously on the main thread once query info has been created or when an +/// error occurs. ++ (void)createQueryInfoWithRequest:(nullable GADRequest *)request + adFormat:(GADAdFormat)adFormat + adUnitID:(nonnull NSString *)adUnitID + completionHandler:(nonnull GADQueryInfoCreationCompletionHandler)completionHandler; + @end diff --git a/firebase/ios-google-mobile-ads/src/main/bro-gen/gad.yaml b/firebase/ios-google-mobile-ads/src/main/bro-gen/gad.yaml index 736ced2af..928b7f626 100644 --- a/firebase/ios-google-mobile-ads/src/main/bro-gen/gad.yaml +++ b/firebase/ios-google-mobile-ads/src/main/bro-gen/gad.yaml @@ -200,6 +200,8 @@ classes: methods: '+createQueryInfoWithRequest:adFormat:completionHandler:': name: createQueryInfo + '+createQueryInfoWithRequest:adFormat:adUnitID:completionHandler:': + name: createQueryInfo GADMediationAppOpenAdConfiguration: { } protocols: GADAdLoaderDelegate: diff --git a/firebase/ios-google-mobile-ads/src/main/java/org/robovm/pods/google/mobileads/GADQueryInfo.java b/firebase/ios-google-mobile-ads/src/main/java/org/robovm/pods/google/mobileads/GADQueryInfo.java index bf48cead9..76a0285cc 100644 --- a/firebase/ios-google-mobile-ads/src/main/java/org/robovm/pods/google/mobileads/GADQueryInfo.java +++ b/firebase/ios-google-mobile-ads/src/main/java/org/robovm/pods/google/mobileads/GADQueryInfo.java @@ -59,5 +59,7 @@ public GADQueryInfo() {} /**/ @Method(selector = "createQueryInfoWithRequest:adFormat:completionHandler:") public static native void createQueryInfo(GADRequest request, GADAdFormat adFormat, @Block VoidBlock2 completionHandler); + @Method(selector = "createQueryInfoWithRequest:adFormat:adUnitID:completionHandler:") + public static native void createQueryInfo(GADRequest request, GADAdFormat adFormat, String adUnitID, @Block VoidBlock2 completionHandler); /**/ } diff --git a/firebase/ios-installations/pom.xml b/firebase/ios-installations/pom.xml index 59a833849..19ea265b1 100644 --- a/firebase/ios-installations/pom.xml +++ b/firebase/ios-installations/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-installations - RoboPods FireBase Installations iOS v10.13.0 + RoboPods FireBase Installations iOS v10.15.0 jar diff --git a/firebase/ios-messaging/pom.xml b/firebase/ios-messaging/pom.xml index aa2b09e83..421b061a4 100644 --- a/firebase/ios-messaging/pom.xml +++ b/firebase/ios-messaging/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-messaging-ios - RoboPods FireBase Messaging iOS v10.13.0 + RoboPods FireBase Messaging iOS v10.15.0 jar diff --git a/firebase/ios-remoteconfig/pom.xml b/firebase/ios-remoteconfig/pom.xml index 3a7cd0b4a..c31c2b08d 100644 --- a/firebase/ios-remoteconfig/pom.xml +++ b/firebase/ios-remoteconfig/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-remote-config-ios - RoboPods FireBase RemoteConfig iOS v10.13.0 + RoboPods FireBase RemoteConfig iOS v10.15.0 jar diff --git a/firebase/ios-storage/pom.xml b/firebase/ios-storage/pom.xml index 348d116bd..a7e8f1e24 100644 --- a/firebase/ios-storage/pom.xml +++ b/firebase/ios-storage/pom.xml @@ -7,7 +7,7 @@ robopods-firebase-storage-ios - RoboPods Cloud Storage iOS v10.13.0 + RoboPods Cloud Storage iOS v10.15.0 jar diff --git a/firebase/ios-storage/src/main/bro-gen/FirebaseStorage.framework/Headers/FirebaseStorage-Swift.h b/firebase/ios-storage/src/main/bro-gen/FirebaseStorage.framework/Headers/FirebaseStorage-Swift.h index 5f0e8e5a1..7e424f5f2 100644 --- a/firebase/ios-storage/src/main/bro-gen/FirebaseStorage.framework/Headers/FirebaseStorage-Swift.h +++ b/firebase/ios-storage/src/main/bro-gen/FirebaseStorage.framework/Headers/FirebaseStorage-Swift.h @@ -259,7 +259,7 @@ using UInt = size_t; /// Firebase Storage is a service that supports uploading and downloading binary objects, /// such as images, videos, and other files to Google Cloud Storage. Instances of Storage -/// are not thread-safe. +/// are not thread-safe, but can be accessed from any thread. /// If you call Storage.storage(), the instance will initialize with the default FirebaseApp, /// FirebaseApp.app(), and the storage location will come from the provided /// GoogleService-Info.plist. @@ -378,7 +378,7 @@ SWIFT_PROTOCOL_NAMED("StorageTaskManagement") /// for metadata and errors. /// Callbacks are always fired on the developer-specified callback queue. /// If no queue is specified, it defaults to the main queue. -/// This class is not thread safe, so only call methods on the main thread. +/// This class is thread-safe. SWIFT_CLASS_NAMED("StorageTask") @interface FIRStorageTask : NSObject /// An immutable view of the task and associated metadata, progress, error, etc. @@ -393,7 +393,6 @@ enum FIRStorageTaskStatus : NSInteger; /// in task state. /// Observers produce a StorageHandle, which is used to keep track of and remove specific /// observers at a later date. -/// This class is not thread safe and can only be called on the main thread. SWIFT_CLASS_NAMED("StorageObservableTask") @interface FIRStorageObservableTask : FIRStorageTask /// Observes changes in the upload status: Resume, Pause, Progress, Success, and Failure. @@ -426,7 +425,6 @@ SWIFT_CLASS_NAMED("StorageObservableTask") /// Downloads can currently be returned as Data in memory, or as a URL to a file on disk. /// Downloads are performed on a background queue, and callbacks are raised on the developer /// specified callbackQueue in Storage, or the main queue if left unspecified. -/// Currently all downloads must be initiated and managed on the main queue. SWIFT_CLASS_NAMED("StorageDownloadTask") @interface FIRStorageDownloadTask : FIRStorageObservableTask /// Prepares a task and begins execution. @@ -805,7 +803,6 @@ typedef SWIFT_ENUM_NAMED(NSInteger, FIRStorageTaskStatus, "StorageTaskStatus", o /// Uploads can be initialized from Data in memory, or a URL to a file on disk. /// Uploads are performed on a background queue, and callbacks are raised on the developer /// specified callbackQueue in Storage, or the main queue if unspecified. -/// Currently all uploads must be initiated and managed on the main queue. SWIFT_CLASS_NAMED("StorageUploadTask") @interface FIRStorageUploadTask : FIRStorageObservableTask /// Prepares a task and begins execution.