diff --git a/android/app/build.gradle b/android/app/build.gradle index 139c006cfdb3..0f9639531036 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -314,10 +314,6 @@ dependencies { implementation project(':react-native-status') implementation project(':react-native-webview-bridge') implementation project(':react-native-status-keycard') - implementation "com.google.android.gms:play-services-base:${rootProject.ext.googlePlayServicesVersion}" - implementation 'com.google.firebase:firebase-core:16.0.9' //this decides your firebase SDK version - implementation 'com.google.firebase:firebase-messaging:18.0.0' - implementation 'com.github.status-im:function:0.0.1' implementation 'com.facebook.fresco:animated-gif:1.10.0' } @@ -342,8 +338,4 @@ task hemroidBuild(type: Exec) { preBuild.dependsOn hemroidBuild -// Must be at bottom to avoid dependency collision -apply plugin: 'com.google.gms.google-services' -com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true - apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/android/app/google-services.json b/android/app/google-services.json deleted file mode 100644 index ebe2374d0e43..000000000000 --- a/android/app/google-services.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "project_info": { - "project_number": "854811651919", - "firebase_url": "https://status-react-app.firebaseio.com", - "project_id": "status-react-app", - "storage_bucket": "status-react-app.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:854811651919:android:11ee7444ded8a00a", - "android_client_info": { - "package_name": "im.status.ethereum" - } - }, - "oauth_client": [ - { - "client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 1, - "other_platform_oauth_client": [] - }, - "ads_service": { - "status": 2 - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro index 272076fbd015..19a307421d22 100644 --- a/android/app/proguard-rules.pro +++ b/android/app/proguard-rules.pro @@ -61,7 +61,3 @@ -dontwarn java.nio.file.* -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -dontwarn okio.** - -# Firebase --keep class io.invertase.firebase.** { *; } --dontwarn io.invertase.firebase.** diff --git a/android/app/src/debug/google-services.json b/android/app/src/debug/google-services.json deleted file mode 100644 index f05deec353f2..000000000000 --- a/android/app/src/debug/google-services.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "project_info": { - "project_number": "854811651919", - "firebase_url": "https://status-react-app.firebaseio.com", - "project_id": "status-react-app", - "storage_bucket": "status-react-app.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:854811651919:android:11ee7444ded8a00a", - "android_client_info": { - "package_name": "im.status.ethereum.debug" - } - }, - "oauth_client": [ - { - "client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 1, - "other_platform_oauth_client": [] - }, - "ads_service": { - "status": 2 - } - } - } - ], - "configuration_version": "1" -} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index cc53ca1660ce..cc5fc3c93240 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -33,16 +33,6 @@ android:name=".MainApplication" android:largeHeap="true" android:usesCleartextTraffic="true"> - - - - - - - - - - - - getPackages() { StatusPackage statusPackage = new StatusPackage(RootUtil.isDeviceRooted()); List packages = new PackageList(this).getPackages(); packages.add(statusPackage); - packages.add(new RNFirebaseMessagingPackage()); - packages.add(new RNFirebaseNotificationsPackage()); packages.add(new ReactNativeDialogsPackage()); packages.add(new RNStatusKeycardPackage()); packages.add(new WebViewBridgePackage(BuildConfig.DEBUG_WEBVIEW == "1")); diff --git a/android/app/src/pr/google-services.json b/android/app/src/pr/google-services.json deleted file mode 100644 index df831f53567e..000000000000 --- a/android/app/src/pr/google-services.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "project_info": { - "project_number": "854811651919", - "firebase_url": "https://status-react-app.firebaseio.com", - "project_id": "status-react-app", - "storage_bucket": "status-react-app.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:854811651919:android:11ee7444ded8a00a", - "android_client_info": { - "package_name": "im.status.ethereum.pr" - } - }, - "oauth_client": [ - { - "client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 1, - "other_platform_oauth_client": [] - }, - "ads_service": { - "status": 2 - } - } - } - ], - "configuration_version": "1" -} diff --git a/android/app/src/release/google-services.json b/android/app/src/release/google-services.json deleted file mode 100644 index decba163d86f..000000000000 --- a/android/app/src/release/google-services.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "project_info": { - "project_number": "854811651919", - "firebase_url": "https://status-react-app.firebaseio.com", - "project_id": "status-react-app", - "storage_bucket": "status-react-app.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:854811651919:android:11ee7444ded8a00a", - "android_client_info": { - "package_name": "im.status.ethereum" - } - }, - "oauth_client": [ - { - "client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 1, - "other_platform_oauth_client": [] - }, - "ads_service": { - "status": 2 - } - } - } - ], - "configuration_version": "1" -} diff --git a/android/build.gradle b/android/build.gradle index 210b2c772d50..a98acf021ea2 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -10,8 +10,6 @@ ext { targetSdkVersion = Integer.valueOf(project.targetSdkVersion) supportLibVersion = project.supportLibVersion gradlePluginVersion = project.gradlePluginVersion - googlePlayServicesVersion = project.googlePlayServicesVersion - googlePlayServicesVisionVersion = project.googlePlayServicesVisionVersion } buildscript { @@ -22,7 +20,6 @@ buildscript { } dependencies { classpath "com.android.tools.build:gradle:${project.ext.gradlePluginVersion}" - classpath 'com.google.gms:google-services:4.2.0' classpath 'de.undercouch:gradle-download-task:3.1.2' // NOTE: Do not place your application dependencies here; they belong diff --git a/android/gradle.properties b/android/gradle.properties index 1f21a2484501..c07dbc5c4e4b 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -27,8 +27,6 @@ targetSdkVersion=28 buildToolsVersion=28.0.3 supportLibVersion=28.0.0 gradlePluginVersion=3.4.1 -googlePlayServicesVersion=16.0.1 -googlePlayServicesVisionVersion=17.0.2 android.useAndroidX=true android.enableJetifier=true diff --git a/clj-rn.conf.edn b/clj-rn.conf.edn index 362d5236e503..b36f7d6e06dd 100644 --- a/clj-rn.conf.edn +++ b/clj-rn.conf.edn @@ -20,7 +20,6 @@ "react-native-image-crop-picker" "react-native-svg" "react-native-webview-bridge" - "react-native-firebase" "react-native-touch-id" "web3-utils" "chance" diff --git a/externs.js b/externs.js index de91fe9ed56a..e109f43eb9ed 100644 --- a/externs.js +++ b/externs.js @@ -141,7 +141,6 @@ var TopLevel = { "generateAlias": function() {}, "fallbacks" : function () {}, "fetch" : function () {}, - "firebase" : function () {}, "floor" : function () {}, "focus" : function () {}, "format" : function () {}, diff --git a/fiddle/src/status_im/react_native/js_dependencies.cljs b/fiddle/src/status_im/react_native/js_dependencies.cljs index 6d6b70cdd32f..4e50ee99decb 100644 --- a/fiddle/src/status_im/react_native/js_dependencies.cljs +++ b/fiddle/src/status_im/react_native/js_dependencies.cljs @@ -26,9 +26,6 @@ (def svg (fn [] #js {:default #js {}})) (def status-keycard (fn [] #js {:default #js {}})) -(defrecord Notification []) -(def react-native-firebase (fn [] #js {:default #js {:notifications #js {:Notification Notification}}})) - (def desktop-linking #js {:addEventListener (fn [])}) (def desktop-shortcuts #js {:addEventListener (fn [])}) diff --git a/ios/FirebaseCore.framework/FirebaseCore b/ios/FirebaseCore.framework/FirebaseCore deleted file mode 100755 index a11fcb343f4a..000000000000 Binary files a/ios/FirebaseCore.framework/FirebaseCore and /dev/null differ diff --git a/ios/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h b/ios/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h deleted file mode 100755 index f42eaf54777f..000000000000 --- a/ios/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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 - -#import "FIRCoreSwiftNameSupport.h" - -NS_ASSUME_NONNULL_BEGIN - -/** - * This class provides configuration fields for Firebase Analytics. - */ -FIR_SWIFT_NAME(AnalyticsConfiguration) -@interface FIRAnalyticsConfiguration : NSObject - -/** - * Returns the shared instance of FIRAnalyticsConfiguration. - */ -+ (FIRAnalyticsConfiguration *)sharedInstance FIR_SWIFT_NAME(shared()); - -/** - * Sets the minimum engagement time in seconds required to start a new session. The default value - * is 10 seconds. - */ -- (void)setMinimumSessionInterval:(NSTimeInterval)minimumSessionInterval; - -/** - * Sets the interval of inactivity in seconds that terminates the current session. The default - * value is 1800 seconds (30 minutes). - */ -- (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval; - -/** - * Sets whether analytics collection is enabled for this app on this device. This setting is - * persisted across app sessions. By default it is enabled. - */ -- (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ios/FirebaseCore.framework/Headers/FIRApp.h b/ios/FirebaseCore.framework/Headers/FIRApp.h deleted file mode 100755 index dbec0ac30df7..000000000000 --- a/ios/FirebaseCore.framework/Headers/FIRApp.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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 - -#if TARGET_OS_IOS -// TODO: Remove UIKit import on next breaking change release -#import -#endif - -#import "FIRCoreSwiftNameSupport.h" - -@class FIROptions; - -NS_ASSUME_NONNULL_BEGIN - -/** A block that takes a BOOL and has no return value. */ -typedef void (^FIRAppVoidBoolCallback)(BOOL success) FIR_SWIFT_NAME(FirebaseAppVoidBoolCallback); - -/** - * The entry point of Firebase SDKs. - * - * Initialize and configure FIRApp using +[FIRApp configure] - * or other customized ways as shown below. - * - * The logging system has two modes: default mode and debug mode. In default mode, only logs with - * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent - * to device. The log levels that Firebase uses are consistent with the ASL log levels. - * - * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this - * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled, - * further executions of the application will also be in debug mode. In order to return to default - * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled. - * - * It is also possible to change the default logging level in code by calling setLoggerLevel: on - * the FIRConfiguration interface. - */ -FIR_SWIFT_NAME(FirebaseApp) -@interface FIRApp : NSObject - -/** - * Configures a default Firebase app. Raises an exception if any configuration step fails. The - * default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched - * and before using Firebase services. This method is thread safe. - */ -+ (void)configure; - -/** - * Configures the default Firebase app with the provided options. The default app is named - * "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method is thread - * safe. - * - * @param options The Firebase application options used to configure the service. - */ -+ (void)configureWithOptions:(FIROptions *)options FIR_SWIFT_NAME(configure(options:)); - -/** - * Configures a Firebase app with the given name and options. Raises an exception if any - * configuration step fails. This method is thread safe. - * - * @param name The application's name given by the developer. The name should should only contain - Letters, Numbers and Underscore. - * @param options The Firebase application options used to configure the services. - */ -// clang-format off -+ (void)configureWithName:(NSString *)name - options:(FIROptions *)options FIR_SWIFT_NAME(configure(name:options:)); -// clang-format on - -/** - * Returns the default app, or nil if the default app does not exist. - */ -+ (nullable FIRApp *)defaultApp FIR_SWIFT_NAME(app()); - -/** - * Returns a previously created FIRApp instance with the given name, or nil if no such app exists. - * This method is thread safe. - */ -+ (nullable FIRApp *)appNamed:(NSString *)name FIR_SWIFT_NAME(app(name:)); - -#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 -/** - * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This - * method is thread safe. - */ -@property(class, readonly, nullable) NSDictionary *allApps; -#else -/** - * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This - * method is thread safe. - */ -+ (nullable NSDictionary *)allApps FIR_SWIFT_NAME(allApps()); -#endif // defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 - -/** - * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for - * future use. This method is thread safe. - */ -- (void)deleteApp:(FIRAppVoidBoolCallback)completion; - -/** - * FIRApp instances should not be initialized directly. Call +[FIRApp configure], - * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly. - */ -- (instancetype)init NS_UNAVAILABLE; - -/** - * Gets the name of this app. - */ -@property(nonatomic, copy, readonly) NSString *name; - -/** - * Gets a copy of the options for this app. These are non-modifiable. - */ -@property(nonatomic, copy, readonly) FIROptions *options; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ios/FirebaseCore.framework/Headers/FIRConfiguration.h b/ios/FirebaseCore.framework/Headers/FIRConfiguration.h deleted file mode 100755 index e2c85e5a1de9..000000000000 --- a/ios/FirebaseCore.framework/Headers/FIRConfiguration.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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 - -#import "FIRAnalyticsConfiguration.h" -#import "FIRCoreSwiftNameSupport.h" -#import "FIRLoggerLevel.h" - -/** - * The log levels used by FIRConfiguration. - */ -typedef NS_ENUM(NSInteger, FIRLogLevel) { - /** Error */ - kFIRLogLevelError __deprecated = 0, - /** Warning */ - kFIRLogLevelWarning __deprecated, - /** Info */ - kFIRLogLevelInfo __deprecated, - /** Debug */ - kFIRLogLevelDebug __deprecated, - /** Assert */ - kFIRLogLevelAssert __deprecated, - /** Max */ - kFIRLogLevelMax __deprecated = kFIRLogLevelAssert -} DEPRECATED_MSG_ATTRIBUTE( - "Use -FIRDebugEnabled and -FIRDebugDisabled or setLoggerLevel. See FIRApp.h for more details."); - -NS_ASSUME_NONNULL_BEGIN - -/** - * This interface provides global level properties that the developer can tweak, and the singleton - * of the Firebase Analytics configuration class. - */ -FIR_SWIFT_NAME(FirebaseConfiguration) -@interface FIRConfiguration : NSObject - -#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 -/** Returns the shared configuration object. */ -@property(class, nonatomic, readonly) FIRConfiguration *sharedInstance FIR_SWIFT_NAME(shared); -#else -/** Returns the shared configuration object. */ -+ (FIRConfiguration *)sharedInstance FIR_SWIFT_NAME(shared()); -#endif // defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 - -/** The configuration class for Firebase Analytics. */ -@property(nonatomic, readwrite) FIRAnalyticsConfiguration *analyticsConfiguration; - -/** Global log level. Defaults to kFIRLogLevelError. */ -@property(nonatomic, readwrite, assign) FIRLogLevel logLevel DEPRECATED_MSG_ATTRIBUTE( - "Use -FIRDebugEnabled and -FIRDebugDisabled or setLoggerLevel. See FIRApp.h for more details."); - -/** - * Sets the logging level for internal Firebase logging. Firebase will only log messages - * that are logged at or below loggerLevel. The messages are logged both to the Xcode - * console and to the device's log. Note that if an app is running from AppStore, it will - * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose) - * setting. - * - * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice. - */ -- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ios/FirebaseCore.framework/Headers/FIRCoreSwiftNameSupport.h b/ios/FirebaseCore.framework/Headers/FIRCoreSwiftNameSupport.h deleted file mode 100755 index 216c047c0e53..000000000000 --- a/ios/FirebaseCore.framework/Headers/FIRCoreSwiftNameSupport.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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. - */ - -#ifndef FIR_SWIFT_NAME - -#import - -// NS_SWIFT_NAME can only translate factory methods before the iOS 9.3 SDK. -// Wrap it in our own macro if it's a non-compatible SDK. -#ifdef __IPHONE_9_3 -#define FIR_SWIFT_NAME(X) NS_SWIFT_NAME(X) -#else -#define FIR_SWIFT_NAME(X) // Intentionally blank. -#endif // #ifdef __IPHONE_9_3 - -#endif // FIR_SWIFT_NAME diff --git a/ios/FirebaseCore.framework/Headers/FIRLoggerLevel.h b/ios/FirebaseCore.framework/Headers/FIRLoggerLevel.h deleted file mode 100755 index 70e99eea487d..000000000000 --- a/ios/FirebaseCore.framework/Headers/FIRLoggerLevel.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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 "FIRCoreSwiftNameSupport.h" - -/** - * The log levels used by internal logging. - */ -typedef NS_ENUM(NSInteger, FIRLoggerLevel) { - /** Error level, matches ASL_LEVEL_ERR. */ - FIRLoggerLevelError = 3, - /** Warning level, matches ASL_LEVEL_WARNING. */ - FIRLoggerLevelWarning = 4, - /** Notice level, matches ASL_LEVEL_NOTICE. */ - FIRLoggerLevelNotice = 5, - /** Info level, matches ASL_LEVEL_NOTICE. */ - FIRLoggerLevelInfo = 6, - /** Debug level, matches ASL_LEVEL_DEBUG. */ - FIRLoggerLevelDebug = 7, - /** Minimum log level. */ - FIRLoggerLevelMin = FIRLoggerLevelError, - /** Maximum log level. */ - FIRLoggerLevelMax = FIRLoggerLevelDebug -} FIR_SWIFT_NAME(FirebaseLoggerLevel); diff --git a/ios/FirebaseCore.framework/Headers/FIROptions.h b/ios/FirebaseCore.framework/Headers/FIROptions.h deleted file mode 100755 index e1d114ae5746..000000000000 --- a/ios/FirebaseCore.framework/Headers/FIROptions.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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 - -#import "FIRCoreSwiftNameSupport.h" - -NS_ASSUME_NONNULL_BEGIN - -/** - * This class provides constant fields of Google APIs. - */ -FIR_SWIFT_NAME(FirebaseOptions) -@interface FIROptions : NSObject - -/** - * Returns the default options. - */ -+ (nullable FIROptions *)defaultOptions FIR_SWIFT_NAME(defaultOptions()); - -/** - * An iOS API key used for authenticating requests from your app, e.g. - * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers. - */ -@property(nonatomic, copy, nullable) NSString *APIKey FIR_SWIFT_NAME(apiKey); - -/** - * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set - * manually or in a plist. - */ -@property(nonatomic, copy) NSString *bundleID; - -/** - * The OAuth2 client ID for iOS application used to authenticate Google users, for example - * @"12345.apps.googleusercontent.com", used for signing in with Google. - */ -@property(nonatomic, copy, nullable) NSString *clientID; - -/** - * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics. - */ -@property(nonatomic, copy, nullable) NSString *trackingID; - -/** - * The Project Number from the Google Developer's console, for example @"012345678901", used to - * configure Google Cloud Messaging. - */ -@property(nonatomic, copy) NSString *GCMSenderID FIR_SWIFT_NAME(gcmSenderID); - -/** - * The Project ID from the Firebase console, for example @"abc-xyz-123". - */ -@property(nonatomic, copy, nullable) NSString *projectID; - -/** - * The Android client ID used in Google AppInvite when an iOS app has its Android version, for - * example @"12345.apps.googleusercontent.com". - */ -@property(nonatomic, copy, nullable) NSString *androidClientID; - -/** - * The Google App ID that is used to uniquely identify an instance of an app. - */ -@property(nonatomic, copy) NSString *googleAppID; - -/** - * The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com". - */ -@property(nonatomic, copy, nullable) NSString *databaseURL; - -/** - * The URL scheme used to set up Durable Deep Link service. - */ -@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme; - -/** - * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com". - */ -@property(nonatomic, copy, nullable) NSString *storageBucket; - -/** - * Initializes a customized instance of FIROptions with keys. googleAppID, bundleID and GCMSenderID - * are required. Other keys may required for configuring specific services. - */ -- (instancetype)initWithGoogleAppID:(NSString *)googleAppID - bundleID:(NSString *)bundleID - GCMSenderID:(NSString *)GCMSenderID - APIKey:(NSString *)APIKey - clientID:(NSString *)clientID - trackingID:(NSString *)trackingID - androidClientID:(NSString *)androidClientID - databaseURL:(NSString *)databaseURL - storageBucket:(NSString *)storageBucket - deepLinkURLScheme:(NSString *)deepLinkURLScheme - DEPRECATED_MSG_ATTRIBUTE( - "Use `-[[FIROptions alloc] initWithGoogleAppID:GCMSenderID:]` " - "(`FirebaseOptions(googleAppID:gcmSenderID:)` in Swift)` and property " - "setters instead."); - -/** - * Initializes a customized instance of FIROptions from the file at the given plist file path. - * For example, - * NSString *filePath = - * [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"]; - * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath]; - * Returns nil if the plist file does not exist or is invalid. - */ -- (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath; - -/** - * Initializes a customized instance of FIROptions with required fields. Use the mutable properties - * to modify fields for configuring specific services. - */ -// clang-format off -- (instancetype)initWithGoogleAppID:(NSString *)googleAppID - GCMSenderID:(NSString *)GCMSenderID - FIR_SWIFT_NAME(init(googleAppID:gcmSenderID:)); -// clang-format on - -@end - -NS_ASSUME_NONNULL_END diff --git a/ios/FirebaseCore.framework/Headers/FirebaseCore.h b/ios/FirebaseCore.framework/Headers/FirebaseCore.h deleted file mode 100755 index 20816292eb57..000000000000 --- a/ios/FirebaseCore.framework/Headers/FirebaseCore.h +++ /dev/null @@ -1,6 +0,0 @@ -#import "FIRAnalyticsConfiguration.h" -#import "FIRApp.h" -#import "FIRConfiguration.h" -#import "FIRCoreSwiftNameSupport.h" -#import "FIRLoggerLevel.h" -#import "FIROptions.h" diff --git a/ios/FirebaseCore.framework/Modules/module.modulemap b/ios/FirebaseCore.framework/Modules/module.modulemap deleted file mode 100755 index 2f85309a9a9d..000000000000 --- a/ios/FirebaseCore.framework/Modules/module.modulemap +++ /dev/null @@ -1,5 +0,0 @@ -framework module FirebaseCore { - umbrella header "FirebaseCore.h" - export * - module * { export *} - link "z"} diff --git a/ios/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics b/ios/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics deleted file mode 100755 index c51fd37f51b0..000000000000 Binary files a/ios/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics and /dev/null differ diff --git a/ios/FirebaseCoreDiagnostics.framework/Modules/module.modulemap b/ios/FirebaseCoreDiagnostics.framework/Modules/module.modulemap deleted file mode 100644 index 5bd208fe7a60..000000000000 --- a/ios/FirebaseCoreDiagnostics.framework/Modules/module.modulemap +++ /dev/null @@ -1,4 +0,0 @@ -framework module FirebaseCoreDiagnostics { - export * - module * { export *} - link "z"} diff --git a/ios/FirebaseInstanceID.framework/FirebaseInstanceID b/ios/FirebaseInstanceID.framework/FirebaseInstanceID deleted file mode 100755 index 14e65bea0796..000000000000 Binary files a/ios/FirebaseInstanceID.framework/FirebaseInstanceID and /dev/null differ diff --git a/ios/FirebaseInstanceID.framework/Headers/FIRInstanceID.h b/ios/FirebaseInstanceID.framework/Headers/FIRInstanceID.h deleted file mode 100755 index 680125df4ade..000000000000 --- a/ios/FirebaseInstanceID.framework/Headers/FIRInstanceID.h +++ /dev/null @@ -1,281 +0,0 @@ -#import - -// NS_SWIFT_NAME can only translate factory methods before the iOS 9.3 SDK. -// Wrap it in our own macro if it's a non-compatible SDK. -#ifndef FIR_SWIFT_NAME -#ifdef __IPHONE_9_3 -#define FIR_SWIFT_NAME(X) NS_SWIFT_NAME(X) -#else -#define FIR_SWIFT_NAME(X) // Intentionally blank. -#endif // #ifdef __IPHONE_9_3 -#endif // #ifndef FIR_SWIFT_NAME - -/** - * @memberof FIRInstanceID - * - * The scope to be used when fetching/deleting a token for Firebase Messaging. - */ -FOUNDATION_EXPORT NSString * __nonnull const kFIRInstanceIDScopeFirebaseMessaging - FIR_SWIFT_NAME(InstanceIDScopeFirebaseMessaging); - -#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 -/** - * Called when the system determines that tokens need to be refreshed. - * This method is also called if Instance ID has been reset in which - * case, tokens and FCM topic subscriptions also need to be refreshed. - * - * Instance ID service will throttle the refresh event across all devices - * to control the rate of token updates on application servers. - */ -FOUNDATION_EXPORT const NSNotificationName __nonnull kFIRInstanceIDTokenRefreshNotification - FIR_SWIFT_NAME(InstanceIDTokenRefresh); -#else -/** - * Called when the system determines that tokens need to be refreshed. - * This method is also called if Instance ID has been reset in which - * case, tokens and FCM topic subscriptions also need to be refreshed. - * - * Instance ID service will throttle the refresh event across all devices - * to control the rate of token updates on application servers. - */ -FOUNDATION_EXPORT NSString * __nonnull const kFIRInstanceIDTokenRefreshNotification - FIR_SWIFT_NAME(InstanceIDTokenRefreshNotification); -#endif // defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 - -/** - * @related FIRInstanceID - * - * The completion handler invoked when the InstanceID token returns. If - * the call fails we return the appropriate `error code` as described below. - * - * @param token The valid token as returned by InstanceID backend. - * - * @param error The error describing why generating a new token - * failed. See the error codes below for a more detailed - * description. - */ -typedef void(^FIRInstanceIDTokenHandler)( NSString * __nullable token, NSError * __nullable error) - FIR_SWIFT_NAME(InstanceIDTokenHandler); - - -/** - * @related FIRInstanceID - * - * The completion handler invoked when the InstanceID `deleteToken` returns. If - * the call fails we return the appropriate `error code` as described below - * - * @param error The error describing why deleting the token failed. - * See the error codes below for a more detailed description. - */ -typedef void(^FIRInstanceIDDeleteTokenHandler)(NSError * __nullable error) - FIR_SWIFT_NAME(InstanceIDDeleteTokenHandler); - -/** - * @related FIRInstanceID - * - * The completion handler invoked when the app identity is created. If the - * identity wasn't created for some reason we return the appropriate error code. - * - * @param identity A valid identity for the app instance, nil if there was an error - * while creating an identity. - * @param error The error if fetching the identity fails else nil. - */ -typedef void(^FIRInstanceIDHandler)(NSString * __nullable identity, NSError * __nullable error) - FIR_SWIFT_NAME(InstanceIDHandler); - -/** - * @related FIRInstanceID - * - * The completion handler invoked when the app identity and all the tokens associated - * with it are deleted. Returns a valid error object in case of failure else nil. - * - * @param error The error if deleting the identity and all the tokens associated with - * it fails else nil. - */ -typedef void(^FIRInstanceIDDeleteHandler)(NSError * __nullable error) - FIR_SWIFT_NAME(InstanceIDDeleteHandler); - -/** - * @enum FIRInstanceIDError - */ -typedef NS_ENUM(NSUInteger, FIRInstanceIDError) { - // Http related errors. - - /// Unknown error. - FIRInstanceIDErrorUnknown = 0, - - /// Auth Error -- GCM couldn't validate request from this client. - FIRInstanceIDErrorAuthentication = 1, - - /// NoAccess -- InstanceID service cannot be accessed. - FIRInstanceIDErrorNoAccess = 2, - - /// Timeout -- Request to InstanceID backend timed out. - FIRInstanceIDErrorTimeout = 3, - - /// Network -- No network available to reach the servers. - FIRInstanceIDErrorNetwork = 4, - - /// OperationInProgress -- Another similar operation in progress, - /// bailing this one. - FIRInstanceIDErrorOperationInProgress = 5, - - /// InvalidRequest -- Some parameters of the request were invalid. - FIRInstanceIDErrorInvalidRequest = 7, -} FIR_SWIFT_NAME(InstanceIDError); - -/** - * The APNS token type for the app. If the token type is set to `UNKNOWN` - * InstanceID will implicitly try to figure out what the actual token type - * is from the provisioning profile. - */ -typedef NS_ENUM(NSInteger, FIRInstanceIDAPNSTokenType) { - /// Unknown token type. - FIRInstanceIDAPNSTokenTypeUnknown, - /// Sandbox token type. - FIRInstanceIDAPNSTokenTypeSandbox, - /// Production token type. - FIRInstanceIDAPNSTokenTypeProd, -} FIR_SWIFT_NAME(InstanceIDAPNSTokenType) - __deprecated_enum_msg("Use FIRMessaging's APNSToken property instead."); - -/** - * Instance ID provides a unique identifier for each app instance and a mechanism - * to authenticate and authorize actions (for example, sending an FCM message). - * - * Instance ID is long lived but, may be reset if the device is not used for - * a long time or the Instance ID service detects a problem. - * If Instance ID is reset, the app will be notified via - * `kFIRInstanceIDTokenRefreshNotification`. - * - * If the Instance ID has become invalid, the app can request a new one and - * send it to the app server. - * To prove ownership of Instance ID and to allow servers to access data or - * services associated with the app, call - * `[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]`. - */ -FIR_SWIFT_NAME(InstanceID) -@interface FIRInstanceID : NSObject - -/** - * FIRInstanceID. - * - * @return A shared instance of FIRInstanceID. - */ -+ (nonnull instancetype)instanceID FIR_SWIFT_NAME(instanceID()); - -/** - * Unavailable. Use +instanceID instead. - */ -- (nonnull instancetype)init __attribute__((unavailable("Use +instanceID instead."))); - -/** - * Set APNS token for the application. This APNS token will be used to register - * with Firebase Messaging using `token` or - * `tokenWithAuthorizedEntity:scope:options:handler`. If the token type is set to - * `FIRInstanceIDAPNSTokenTypeUnknown` InstanceID will read the provisioning profile - * to find out the token type. - * - * @param token The APNS token for the application. - * @param type The APNS token type for the above token. - */ -- (void)setAPNSToken:(nonnull NSData *)token - type:(FIRInstanceIDAPNSTokenType)type - __deprecated_msg("Use FIRMessaging's APNSToken property instead."); - -#pragma mark - Tokens - -/** - * Returns a Firebase Messaging scoped token for the firebase app. - * - * @return Null Returns null if the device has not yet been registerd with - * Firebase Message else returns a valid token. - */ -- (nullable NSString *)token; - -/** - * Returns a token that authorizes an Entity (example: cloud service) to perform - * an action on behalf of the application identified by Instance ID. - * - * This is similar to an OAuth2 token except, it applies to the - * application instance instead of a user. - * - * This is an asynchronous call. If the token fetching fails for some reason - * we invoke the completion callback with nil `token` and the appropriate - * error. - * - * Note, you can only have one `token` or `deleteToken` call for a given - * authorizedEntity and scope at any point of time. Making another such call with the - * same authorizedEntity and scope before the last one finishes will result in an - * error with code `OperationInProgress`. - * - * @see FIRInstanceID deleteTokenWithAuthorizedEntity:scope:handler: - * - * @param authorizedEntity Entity authorized by the token. - * @param scope Action authorized for authorizedEntity. - * @param options The extra options to be sent with your token request. The - * value for the `apns_token` should be the NSData object - * passed to the UIApplicationDelegate's - * `didRegisterForRemoteNotificationsWithDeviceToken` method. - * The value for `apns_sandbox` should be a boolean (or an - * NSNumber representing a BOOL in Objective C) set to true if - * your app is a debug build, which means that the APNs - * device token is for the sandbox environment. It should be - * set to false otherwise. - * @param handler The callback handler which is invoked when the token is - * successfully fetched. In case of success a valid `token` and - * `nil` error are returned. In case of any error the `token` - * is nil and a valid `error` is returned. The valid error - * codes have been documented above. - */ -- (void)tokenWithAuthorizedEntity:(nonnull NSString *)authorizedEntity - scope:(nonnull NSString *)scope - options:(nullable NSDictionary *)options - handler:(nonnull FIRInstanceIDTokenHandler)handler; - -/** - * Revokes access to a scope (action) for an entity previously - * authorized by `[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]`. - * - * This is an asynchronous call. Call this on the main thread since InstanceID lib - * is not thread safe. In case token deletion fails for some reason we invoke the - * `handler` callback passed in with the appropriate error code. - * - * Note, you can only have one `token` or `deleteToken` call for a given - * authorizedEntity and scope at a point of time. Making another such call with the - * same authorizedEntity and scope before the last one finishes will result in an error - * with code `OperationInProgress`. - * - * @param authorizedEntity Entity that must no longer have access. - * @param scope Action that entity is no longer authorized to perform. - * @param handler The handler that is invoked once the unsubscribe call ends. - * In case of error an appropriate error object is returned - * else error is nil. - */ -- (void)deleteTokenWithAuthorizedEntity:(nonnull NSString *)authorizedEntity - scope:(nonnull NSString *)scope - handler:(nonnull FIRInstanceIDDeleteTokenHandler)handler; - -#pragma mark - Identity - -/** - * Asynchronously fetch a stable identifier that uniquely identifies the app - * instance. If the identifier has been revoked or has expired, this method will - * return a new identifier. - * - * - * @param handler The handler to invoke once the identifier has been fetched. - * In case of error an appropriate error object is returned else - * a valid identifier is returned and a valid identifier for the - * application instance. - */ -- (void)getIDWithHandler:(nonnull FIRInstanceIDHandler)handler - FIR_SWIFT_NAME(getID(handler:)); - -/** - * Resets Instance ID and revokes all tokens. - */ -- (void)deleteIDWithHandler:(nonnull FIRInstanceIDDeleteHandler)handler - FIR_SWIFT_NAME(deleteID(handler:)); - -@end diff --git a/ios/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h b/ios/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h deleted file mode 100755 index 053ec2b1cf31..000000000000 --- a/ios/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h +++ /dev/null @@ -1 +0,0 @@ -#import "FIRInstanceID.h" diff --git a/ios/FirebaseInstanceID.framework/Modules/module.modulemap b/ios/FirebaseInstanceID.framework/Modules/module.modulemap deleted file mode 100755 index 7344d9bdd85d..000000000000 --- a/ios/FirebaseInstanceID.framework/Modules/module.modulemap +++ /dev/null @@ -1,5 +0,0 @@ -framework module FirebaseInstanceID { - umbrella header "FirebaseInstanceID.h" - export * - module * { export *} - link "z"} diff --git a/ios/FirebaseMessaging.framework/FirebaseMessaging b/ios/FirebaseMessaging.framework/FirebaseMessaging deleted file mode 100755 index 44c6424debf7..000000000000 Binary files a/ios/FirebaseMessaging.framework/FirebaseMessaging and /dev/null differ diff --git a/ios/FirebaseMessaging.framework/Headers/FIRMessaging.h b/ios/FirebaseMessaging.framework/Headers/FIRMessaging.h deleted file mode 100755 index 7313f2339abc..000000000000 --- a/ios/FirebaseMessaging.framework/Headers/FIRMessaging.h +++ /dev/null @@ -1,492 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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_SWIFT_NAME can only translate factory methods before the iOS 9.3 SDK. -// Wrap it in our own macro if it's a non-compatible SDK. -#ifndef FIR_SWIFT_NAME -#ifdef __IPHONE_9_3 -#define FIR_SWIFT_NAME(X) NS_SWIFT_NAME(X) -#else -#define FIR_SWIFT_NAME(X) // Intentionally blank. -#endif // #ifdef __IPHONE_9_3 -#endif // #ifndef FIR_SWIFT_NAME - -/** - * @related FIRMessaging - * - * The completion handler invoked when the registration token returns. - * If the call fails we return the appropriate `error code`, described by - * `FIRMessagingError`. - * - * @param FCMToken The valid registration token returned by FCM. - * @param error The error describing why a token request failed. The error code - * will match a value from the FIRMessagingError enumeration. - */ -typedef void(^FIRMessagingFCMTokenFetchCompletion)(NSString * _Nullable FCMToken, - NSError * _Nullable error) - FIR_SWIFT_NAME(MessagingFCMTokenFetchCompletion); - - -/** - * @related FIRMessaging - * - * The completion handler invoked when the registration token deletion request is - * completed. If the call fails we return the appropriate `error code`, described - * by `FIRMessagingError`. - * - * @param error The error describing why a token deletion failed. The error code - * will match a value from the FIRMessagingError enumeration. - */ -typedef void(^FIRMessagingDeleteFCMTokenCompletion)(NSError * _Nullable error) - FIR_SWIFT_NAME(MessagingDeleteFCMTokenCompletion); - -/** - * The completion handler invoked once the data connection with FIRMessaging is - * established. The data connection is used to send a continous stream of - * data and all the FIRMessaging data notifications arrive through this connection. - * Once the connection is established we invoke the callback with `nil` error. - * Correspondingly if we get an error while trying to establish a connection - * we invoke the handler with an appropriate error object and do an - * exponential backoff to try and connect again unless successful. - * - * @param error The error object if any describing why the data connection - * to FIRMessaging failed. - */ -typedef void(^FIRMessagingConnectCompletion)(NSError * __nullable error) - FIR_SWIFT_NAME(MessagingConnectCompletion) - __deprecated_msg("Please listen for the FIRMessagingConnectionStateChangedNotification " - "NSNotification instead."); - -#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 -/** - * Notification sent when the upstream message has been delivered - * successfully to the server. The notification object will be the messageID - * of the successfully delivered message. - */ -FOUNDATION_EXPORT const NSNotificationName __nonnull FIRMessagingSendSuccessNotification - FIR_SWIFT_NAME(MessagingSendSuccess); - -/** - * Notification sent when the upstream message was failed to be sent to the - * server. The notification object will be the messageID of the failed - * message. The userInfo dictionary will contain the relevant error - * information for the failure. - */ -FOUNDATION_EXPORT const NSNotificationName __nonnull FIRMessagingSendErrorNotification - FIR_SWIFT_NAME(MessagingSendError); - -/** - * Notification sent when the Firebase messaging server deletes pending - * messages due to exceeded storage limits. This may occur, for example, when - * the device cannot be reached for an extended period of time. - * - * It is recommended to retrieve any missing messages directly from the - * server. - */ -FOUNDATION_EXPORT const NSNotificationName __nonnull FIRMessagingMessagesDeletedNotification - FIR_SWIFT_NAME(MessagingMessagesDeleted); - -/** - * Notification sent when Firebase Messaging establishes or disconnects from - * an FCM socket connection. You can query the connection state in this - * notification by checking the `isDirectChannelEstablished` property of FIRMessaging. - */ -FOUNDATION_EXPORT const NSNotificationName __nonnull FIRMessagingConnectionStateChangedNotification - FIR_SWIFT_NAME(MessagingConnectionStateChanged); - -/** - * Notification sent when the FCM registration token has been refreshed. You can also - * receive the FCM token via the FIRMessagingDelegate method - * `-messaging:didRefreshRegistrationToken:` - */ -FOUNDATION_EXPORT const NSNotificationName __nonnull - FIRMessagingRegistrationTokenRefreshedNotification - FIR_SWIFT_NAME(MessagingRegistrationTokenRefreshed); -#else -/** - * Notification sent when the upstream message has been delivered - * successfully to the server. The notification object will be the messageID - * of the successfully delivered message. - */ -FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingSendSuccessNotification - FIR_SWIFT_NAME(MessagingSendSuccessNotification); - -/** - * Notification sent when the upstream message was failed to be sent to the - * server. The notification object will be the messageID of the failed - * message. The userInfo dictionary will contain the relevant error - * information for the failure. - */ -FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingSendErrorNotification - FIR_SWIFT_NAME(MessagingSendErrorNotification); - -/** - * Notification sent when the Firebase messaging server deletes pending - * messages due to exceeded storage limits. This may occur, for example, when - * the device cannot be reached for an extended period of time. - * - * It is recommended to retrieve any missing messages directly from the - * server. - */ -FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingMessagesDeletedNotification - FIR_SWIFT_NAME(MessagingMessagesDeletedNotification); - -/** - * Notification sent when Firebase Messaging establishes or disconnects from - * an FCM socket connection. You can query the connection state in this - * notification by checking the `isDirectChannelEstablished` property of FIRMessaging. - */ -FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingConnectionStateChangedNotification - FIR_SWIFT_NAME(MessagingConnectionStateChangedNotification); - -/** - * Notification sent when the FCM registration token has been refreshed. You can also - * receive the FCM token via the FIRMessagingDelegate method - * `-messaging:didRefreshRegistrationToken:` - */ -FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingRegistrationTokenRefreshedNotification - FIR_SWIFT_NAME(MessagingRegistrationTokenRefreshedNotification); -#endif // defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 - -/** - * @enum FIRMessagingError - */ -typedef NS_ENUM(NSUInteger, FIRMessagingError) { - /// Unknown error. - FIRMessagingErrorUnknown = 0, - - /// FIRMessaging couldn't validate request from this client. - FIRMessagingErrorAuthentication = 1, - - /// InstanceID service cannot be accessed. - FIRMessagingErrorNoAccess = 2, - - /// Request to InstanceID backend timed out. - FIRMessagingErrorTimeout = 3, - - /// No network available to reach the servers. - FIRMessagingErrorNetwork = 4, - - /// Another similar operation in progress, bailing this one. - FIRMessagingErrorOperationInProgress = 5, - - /// Some parameters of the request were invalid. - FIRMessagingErrorInvalidRequest = 7, -} FIR_SWIFT_NAME(MessagingError); - -/// Status for the downstream message received by the app. -typedef NS_ENUM(NSInteger, FIRMessagingMessageStatus) { - /// Unknown status. - FIRMessagingMessageStatusUnknown, - /// New downstream message received by the app. - FIRMessagingMessageStatusNew, -} FIR_SWIFT_NAME(MessagingMessageStatus); - -/** - * The APNS token type for the app. If the token type is set to `UNKNOWN` - * Firebase Messaging will implicitly try to figure out what the actual token type - * is from the provisioning profile. - * Unless you really need to specify the type, you should use the `APNSToken` - * property instead. - */ -typedef NS_ENUM(NSInteger, FIRMessagingAPNSTokenType) { - /// Unknown token type. - FIRMessagingAPNSTokenTypeUnknown, - /// Sandbox token type. - FIRMessagingAPNSTokenTypeSandbox, - /// Production token type. - FIRMessagingAPNSTokenTypeProd, -} FIR_SWIFT_NAME(MessagingAPNSTokenType); - -/// Information about a downstream message received by the app. -FIR_SWIFT_NAME(MessagingMessageInfo) -@interface FIRMessagingMessageInfo : NSObject - -/// The status of the downstream message -@property(nonatomic, readonly, assign) FIRMessagingMessageStatus status; - -@end - -/** - * A remote data message received by the app via FCM (not just the APNs interface). - * - * This is only for devices running iOS 10 or above. To support devices running iOS 9 or below, use - * the local and remote notifications handlers defined in UIApplicationDelegate protocol. - */ -FIR_SWIFT_NAME(MessagingRemoteMessage) -@interface FIRMessagingRemoteMessage : NSObject - -/// The downstream message received by the application. -@property(nonatomic, readonly, strong, nonnull) NSDictionary *appData; -@end - -@class FIRMessaging; -/** - * A protocol to handle events from FCM for devices running iOS 10 or above. - * - * To support devices running iOS 9 or below, use the local and remote notifications handlers - * defined in UIApplicationDelegate protocol. - */ -FIR_SWIFT_NAME(MessagingDelegate) -@protocol FIRMessagingDelegate - -/// This method will be called whenever FCM receives a new, default FCM token for your -/// Firebase project's Sender ID. -/// You can send this token to your application server to send notifications to this device. -- (void)messaging:(nonnull FIRMessaging *)messaging - didRefreshRegistrationToken:(nonnull NSString *)fcmToken - FIR_SWIFT_NAME(messaging(_:didRefreshRegistrationToken:)); - -@optional -/// This method is called on iOS 10 devices to handle data messages received via FCM through its -/// direct channel (not via APNS). For iOS 9 and below, the FCM data message is delivered via the -/// UIApplicationDelegate's -application:didReceiveRemoteNotification: method. -- (void)messaging:(nonnull FIRMessaging *)messaging - didReceiveMessage:(nonnull FIRMessagingRemoteMessage *)remoteMessage - FIR_SWIFT_NAME(messaging(_:didReceive:)) - __IOS_AVAILABLE(10.0); - -/// The callback to handle data message received via FCM for devices running iOS 10 or above. -- (void)applicationReceivedRemoteMessage:(nonnull FIRMessagingRemoteMessage *)remoteMessage - FIR_SWIFT_NAME(application(received:)) - __deprecated_msg("Use FIRMessagingDelegate’s -messaging:didReceiveMessage:"); - -@end - -/** - * Firebase Messaging lets you reliably deliver messages at no cost. - * - * To send or receive messages, the app must get a - * registration token from FIRInstanceID. This token authorizes an - * app server to send messages to an app instance. - * - * In order to receive FIRMessaging messages, declare `application:didReceiveRemoteNotification:`. - */ -FIR_SWIFT_NAME(Messaging) -@interface FIRMessaging : NSObject - -/** - * Delegate to handle FCM token refreshes, and remote data messages received via FCM for devices - * running iOS 10 or above. - */ -@property(nonatomic, weak, nullable) id delegate; - - -/** - * Delegate to handle remote data messages received via FCM for devices running iOS 10 or above. - */ -@property(nonatomic, weak, nullable) id remoteMessageDelegate - __deprecated_msg("Use 'delegate' property"); - -/** - * When set to `YES`, Firebase Messaging will automatically establish a socket-based, direct - * channel to the FCM server. Enable this only if you are sending upstream messages or - * receiving non-APNS, data-only messages in foregrounded apps. - * Default is `NO`. - */ -@property(nonatomic) BOOL shouldEstablishDirectChannel; - -/** - * Returns `YES` if the direct channel to the FCM server is active, and `NO` otherwise. - */ -@property(nonatomic, readonly) BOOL isDirectChannelEstablished; - -/** - * FIRMessaging - * - * @return An instance of FIRMessaging. - */ -+ (nonnull instancetype)messaging FIR_SWIFT_NAME(messaging()); - -/** - * Unavailable. Use +messaging instead. - */ -- (nonnull instancetype)init __attribute__((unavailable("Use +messaging instead."))); - -#pragma mark - APNS - -/** - * This property is used to set the APNS Token received by the application delegate. - * - * FIRMessaging uses method swizzling to ensure that the APNS token is set - * automatically. However, if you have disabled swizzling by setting - * `FirebaseAppDelegateProxyEnabled` to `NO` in your app's - * Info.plist, you should manually set the APNS token in your application - * delegate's `-application:didRegisterForRemoteNotificationsWithDeviceToken:` - * method. - * - * If you would like to set the type of the APNS token, rather than relying on - * automatic detection, see: `-setAPNSToken:type:`. - */ -@property(nonatomic, copy, nullable) NSData *APNSToken FIR_SWIFT_NAME(apnsToken); - -/** - * Set APNS token for the application. This APNS token will be used to register - * with Firebase Messaging using `FCMToken` or - * `tokenWithAuthorizedEntity:scope:options:handler`. - * - * @param apnsToken The APNS token for the application. - * @param type The type of APNS token. Debug builds should use - * FIRMessagingAPNSTokenTypeSandbox. Alternatively, you can supply - * FIRMessagingAPNSTokenTypeUnknown to have the type automatically - * detected based on your provisioning profile. - */ -- (void)setAPNSToken:(nonnull NSData *)apnsToken type:(FIRMessagingAPNSTokenType)type; - -#pragma mark - FCM Tokens - -/** - * The FCM token is used to identify this device so that FCM can send notifications to it. - * It is associated with your APNS token when the APNS token is supplied, so that sending - * messages to the FCM token will be delivered over APNS. - * - * The FCM token is sometimes refreshed automatically. You can be notified of these changes - * via the FIRMessagingDelegate method `-message:didRefreshRegistrationToken:`, or by - * listening for the `FIRMessagingRegistrationTokenRefreshedNotification` notification. - * - * Once you have an FCM token, you should send it to your application server, so it can use - * the FCM token to send notifications to your device. - */ -@property(nonatomic, readonly, nullable) NSString *FCMToken FIR_SWIFT_NAME(fcmToken); - - -/** - * Retrieves an FCM registration token for a particular Sender ID. This can be used to allow - * multiple senders to send notifications to the same device. By providing a different Sender - * ID than your default when fetching a token, you can create a new FCM token which you can - * give to a different sender. Both tokens will deliver notifications to your device, and you - * can revoke a token when you need to. - * - * This registration token is not cached by FIRMessaging. FIRMessaging should have an APNS - * token set before calling this to ensure that notifications can be delivered via APNS using - * this FCM token. You may re-retrieve the FCM token once you have the APNS token set, to - * associate it with the FCM token. The default FCM token is automatically associated with - * the APNS token, if the APNS token data is available. - * - * @param senderID The Sender ID for a particular Firebase project. - * @param completion The completion handler to handle the token request. - */ -- (void)retrieveFCMTokenForSenderID:(nonnull NSString *)senderID - completion:(nonnull FIRMessagingFCMTokenFetchCompletion)completion - FIR_SWIFT_NAME(retrieveFCMToken(forSenderID:completion:)); - - -/** - * Invalidates an FCM token for a particular Sender ID. That Sender ID cannot no longer send - * notifications to that FCM token. - * - * @param senderID The senderID for a particular Firebase project. - * @param completion The completion handler to handle the token deletion. - */ -- (void)deleteFCMTokenForSenderID:(nonnull NSString *)senderID - completion:(nonnull FIRMessagingDeleteFCMTokenCompletion)completion - FIR_SWIFT_NAME(deleteFCMToken(forSenderID:completion:)); - - -#pragma mark - Connect - -/** - * Create a FIRMessaging data connection which will be used to send the data notifications - * sent by your server. It will also be used to send ACKS and other messages based - * on the FIRMessaging ACKS and other messages based on the FIRMessaging protocol. - * - * - * @param handler The handler to be invoked once the connection is established. - * If the connection fails we invoke the handler with an - * appropriate error code letting you know why it failed. At - * the same time, FIRMessaging performs exponential backoff to retry - * establishing a connection and invoke the handler when successful. - */ -- (void)connectWithCompletion:(nonnull FIRMessagingConnectCompletion)handler - FIR_SWIFT_NAME(connect(handler:)) - __deprecated_msg("Please use the shouldEstablishDirectChannel property instead."); - -/** - * Disconnect the current FIRMessaging data connection. This stops any attempts to - * connect to FIRMessaging. Calling this on an already disconnected client is a no-op. - * - * Call this before `teardown` when your app is going to the background. - * Since the FIRMessaging connection won't be allowed to live when in the background, it is - * prudent to close the connection. - */ -- (void)disconnect - __deprecated_msg("Please use the shouldEstablishDirectChannel property instead."); - -#pragma mark - Topics - -/** - * Asynchronously subscribes to a topic. - * - * @param topic The name of the topic, for example, @"sports". - */ -- (void)subscribeToTopic:(nonnull NSString *)topic FIR_SWIFT_NAME(subscribe(toTopic:)); - -/** - * Asynchronously unsubscribe from a topic. - * - * @param topic The name of the topic, for example @"sports". - */ -- (void)unsubscribeFromTopic:(nonnull NSString *)topic FIR_SWIFT_NAME(unsubscribe(fromTopic:)); - -#pragma mark - Upstream - -/** - * Sends an upstream ("device to cloud") message. - * - * The message is queued if we don't have an active connection. - * You can only use the upstream feature if your FCM implementation - * uses the XMPP server protocol. - * - * @param message Key/Value pairs to be sent. Values must be String, any - * other type will be ignored. - * @param receiver A string identifying the receiver of the message. For FCM - * project IDs the value is `SENDER_ID@gcm.googleapis.com`. - * @param messageID The ID of the message. This is generated by the application. It - * must be unique for each message generated by this application. - * It allows error callbacks and debugging, to uniquely identify - * each message. - * @param ttl The time to live for the message. In case we aren't able to - * send the message before the TTL expires we will send you a - * callback. If 0, we'll attempt to send immediately and return - * an error if we're not connected. Otherwise, the message will - * be queued. As for server-side messages, we don't return an error - * if the message has been dropped because of TTL; this can happen - * on the server side, and it would require extra communication. - */ -- (void)sendMessage:(nonnull NSDictionary *)message - to:(nonnull NSString *)receiver - withMessageID:(nonnull NSString *)messageID - timeToLive:(int64_t)ttl; - -#pragma mark - Analytics - -/** - * Use this to track message delivery and analytics for messages, typically - * when you receive a notification in `application:didReceiveRemoteNotification:`. - * However, you only need to call this if you set the `FirebaseAppDelegateProxyEnabled` - * flag to `NO` in your Info.plist. If `FirebaseAppDelegateProxyEnabled` is either missing - * or set to `YES` in your Info.plist, the library will call this automatically. - * - * @param message The downstream message received by the application. - * - * @return Information about the downstream message. - */ -- (nonnull FIRMessagingMessageInfo *)appDidReceiveMessage:(nonnull NSDictionary *)message; - -@end diff --git a/ios/FirebaseMessaging.framework/Headers/FirebaseMessaging.h b/ios/FirebaseMessaging.framework/Headers/FirebaseMessaging.h deleted file mode 100755 index ef49e7ff7a83..000000000000 --- a/ios/FirebaseMessaging.framework/Headers/FirebaseMessaging.h +++ /dev/null @@ -1 +0,0 @@ -#import "FIRMessaging.h" diff --git a/ios/FirebaseMessaging.framework/Modules/module.modulemap b/ios/FirebaseMessaging.framework/Modules/module.modulemap deleted file mode 100755 index 7fd2aab42879..000000000000 --- a/ios/FirebaseMessaging.framework/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module FirebaseMessaging { - umbrella header "FirebaseMessaging.h" - export * - module * { export *} - link "sqlite3" - link "z"} diff --git a/ios/FirebaseNanoPB.framework/FirebaseNanoPB b/ios/FirebaseNanoPB.framework/FirebaseNanoPB deleted file mode 100755 index ff9bef2d0f73..000000000000 Binary files a/ios/FirebaseNanoPB.framework/FirebaseNanoPB and /dev/null differ diff --git a/ios/GoogleService-Info.plist b/ios/GoogleService-Info.plist deleted file mode 100644 index b5744a35f77d..000000000000 --- a/ios/GoogleService-Info.plist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - AD_UNIT_ID_FOR_BANNER_TEST - ca-app-pub-3940256099942544/2934735716 - AD_UNIT_ID_FOR_INTERSTITIAL_TEST - ca-app-pub-3940256099942544/4411468910 - CLIENT_ID - 854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o - API_KEY - AIzaSyCwlaE5cnsT4rmGyOFxE39FlPVyKQ_2Mdo - GCM_SENDER_ID - 854811651919 - PLIST_VERSION - 1 - BUNDLE_ID - $(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_ID_SUFFIX) - PROJECT_ID - status-react-app - STORAGE_BUCKET - status-react-app.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:854811651919:ios:11ee7444ded8a00a - DATABASE_URL - https://status-react-app.firebaseio.com - - diff --git a/ios/Podfile b/ios/Podfile index 144fc7103b4c..900a22d74260 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -9,9 +9,6 @@ target 'StatusIm' do # use_frameworks! require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' # Pods for StatusIm - pod 'Firebase/Core', '~> 5.5' - pod 'Firebase/Messaging', '~> 5.5' - pod 'React', :path => '../node_modules/react-native/' pod 'React-Core', :path => '../node_modules/react-native/React' pod 'React-DevSupport', :path => '../node_modules/react-native/React' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index eb7900ba5f19..68aa4bf3663a 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -4,39 +4,6 @@ PODS: - Fabric (~> 1.10.2) - DoubleConversion (1.1.6) - Fabric (1.10.2) - - Firebase/Core (5.20.2): - - Firebase/CoreOnly - - FirebaseAnalytics (= 5.8.1) - - Firebase/CoreOnly (5.20.2): - - FirebaseCore (= 5.4.1) - - Firebase/Messaging (5.20.2): - - Firebase/CoreOnly - - FirebaseMessaging (= 3.5.0) - - FirebaseAnalytics (5.8.1): - - FirebaseCore (~> 5.4) - - FirebaseInstanceID (~> 3.8) - - GoogleAppMeasurement (= 5.8.1) - - GoogleUtilities/AppDelegateSwizzler (~> 5.2) - - GoogleUtilities/MethodSwizzler (~> 5.2) - - GoogleUtilities/Network (~> 5.2) - - "GoogleUtilities/NSData+zlib (~> 5.2)" - - nanopb (~> 0.3) - - FirebaseAnalyticsInterop (1.4.0) - - FirebaseCore (5.4.1): - - GoogleUtilities/Environment (~> 5.2) - - GoogleUtilities/Logger (~> 5.2) - - FirebaseInstanceID (3.8.1): - - FirebaseCore (~> 5.2) - - GoogleUtilities/Environment (~> 5.2) - - GoogleUtilities/UserDefaults (~> 5.2) - - FirebaseMessaging (3.5.0): - - FirebaseAnalyticsInterop (~> 1.1) - - FirebaseCore (~> 5.2) - - FirebaseInstanceID (~> 3.6) - - GoogleUtilities/Environment (~> 5.3) - - GoogleUtilities/Reachability (~> 5.3) - - GoogleUtilities/UserDefaults (~> 5.3) - - Protobuf (~> 3.1) - Folly (2018.10.22.00): - boost-for-react-native - DoubleConversion @@ -47,12 +14,6 @@ PODS: - DoubleConversion - glog - glog (0.3.5) - - GoogleAppMeasurement (5.8.1): - - GoogleUtilities/AppDelegateSwizzler (~> 5.2) - - GoogleUtilities/MethodSwizzler (~> 5.2) - - GoogleUtilities/Network (~> 5.2) - - "GoogleUtilities/NSData+zlib (~> 5.2)" - - nanopb (~> 0.3) - GoogleUtilities/AppDelegateSwizzler (5.8.0): - GoogleUtilities/Environment - GoogleUtilities/Logger @@ -169,15 +130,6 @@ PODS: - React-Core (= 0.60.6) - React-RCTWebSocket (0.60.6): - React-Core (= 0.60.6) - - RNFirebase (5.5.6): - - Firebase/Core - - React - - RNFirebase/Crashlytics (= 5.5.6) - - RNFirebase/Crashlytics (5.5.6): - - Crashlytics - - Fabric - - Firebase/Core - - React - RNFS (2.14.1): - React - RNGestureHandler (1.4.1): @@ -208,8 +160,6 @@ PODS: DEPENDENCIES: - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - - Firebase/Core (~> 5.5) - - Firebase/Messaging (~> 5.5) - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - React (from `../node_modules/react-native/`) @@ -238,7 +188,6 @@ DEPENDENCIES: - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`) - - RNFirebase (from `../node_modules/react-native-firebase/ios`) - RNFS (from `../node_modules/react-native-fs`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`) @@ -256,12 +205,6 @@ SPEC REPOS: - boost-for-react-native - Crashlytics - Fabric - - Firebase - - FirebaseAnalytics - - FirebaseAnalyticsInterop - - FirebaseCore - - FirebaseInstanceID - - FirebaseMessaging - GoogleAppMeasurement - GoogleUtilities - nanopb @@ -329,8 +272,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Vibration" React-RCTWebSocket: :path: "../node_modules/react-native/Libraries/WebSocket" - RNFirebase: - :path: "../node_modules/react-native-firebase/ios" RNFS: :path: "../node_modules/react-native-fs" RNGestureHandler: @@ -355,12 +296,6 @@ SPEC CHECKSUMS: Crashlytics: 540b7e5f5da5a042647227a5e3ac51d85eed06df DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74 - Firebase: 0c8cf33f266410c61ab3e2265cfa412200351d9c - FirebaseAnalytics: ece1aa57a4f43c64d53a648b5a5e05151aae947b - FirebaseAnalyticsInterop: d48b6ab67bcf016a05e55b71fc39c61c0cb6b7f3 - FirebaseCore: f1a9a8be1aee4bf71a2fc0f4096df6788bdfda61 - FirebaseInstanceID: a122b0c258720cf250551bb2bedf48c699f80d90 - FirebaseMessaging: 4235f949ce1c4e827aeb19705ba5c53f9b85aa10 Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 glog: 7b113d8578aa09b57aa5945dd002bc37d0ab4fb5 GoogleAppMeasurement: ffe513e90551844a739e7bcbb1d2aca1c28a4338 @@ -393,7 +328,6 @@ SPEC CHECKSUMS: React-RCTText: 36c0532feb5521cb295ba80e7e44b70cf1c36fc7 React-RCTVibration: dabb8d59bb47e1d9124b3f77bfdc1b33d42b0a74 React-RCTWebSocket: 2e7f6e98fd6d2bf447d145e499c3a235cc13e350 - RNFirebase: ca408d6bee0ca9383bd0cfe84f40b01370b8ad4d RNFS: 6a2bfb5d0b14cf0ad72667f76202358abba4aacf RNGestureHandler: 311e3b1cef021a7c9ef31e97e7dc31970cc6288d RNImageCropPicker: c406db73f02f11bf3a887f856ff04ee50af173f4 diff --git a/ios/StatusIm.xcodeproj/project.pbxproj b/ios/StatusIm.xcodeproj/project.pbxproj index 4a5c02b94d88..52a39a732f1f 100644 --- a/ios/StatusIm.xcodeproj/project.pbxproj +++ b/ios/StatusIm.xcodeproj/project.pbxproj @@ -24,8 +24,6 @@ 8391E8E0E93C41A98AAA6631 /* Inter-SemiBoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A4F2BBE8D4DD4140A6CCAC39 /* Inter-SemiBoldItalic.otf */; }; 8E55E6877F950B81C8D711C5 /* libPods-StatusIm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 101A4045637A2ADF57D28EF5 /* libPods-StatusIm.a */; }; 925C1F4C1F7B73B20063DFA0 /* nanopb.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 925C1F451F7B73B20063DFA0 /* nanopb.framework */; }; - 92A0DF7D1F4DE3A4002051BC /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 92A0DF491F4DE3A0002051BC /* GoogleService-Info.plist */; }; - 983F077E2119C9D2004133ED /* message.wav in Resources */ = {isa = PBXBuildFile; fileRef = 983F07442119C9D2004133ED /* message.wav */; }; 9EF0836B1F3B53AB00876A8F /* libReactNativeConfig.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EF083611F3B538B00876A8F /* libReactNativeConfig.a */; }; B190FBFB6A9B43EAAF396CD7 /* Inter-BlackItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 2006E199700F423E84885CD9 /* Inter-BlackItalic.otf */; }; B24FC7FD1DE7195700D694FF /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B24FC7FC1DE7195700D694FF /* Social.framework */; }; @@ -112,8 +110,6 @@ 2028DFF81D4275B600227DCD /* SF-UI-Display-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Display-Thin.otf"; sourceTree = ""; }; 38A44830EC5708E89387F641 /* Pods-StatusIm.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StatusIm.release.xcconfig"; path = "Pods/Target Support Files/Pods-StatusIm/Pods-StatusIm.release.xcconfig"; sourceTree = ""; }; 439B6B4B407A4E2AACAFE5BE /* RCTStatus.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTStatus.xcodeproj; path = "../modules/react-native-status/ios/RCTStatus/RCTStatus.xcodeproj"; sourceTree = ""; }; - 475D1FCD20B7415300879A77 /* libFirebaseCore.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libFirebaseCore.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 475D1FCE20B7415300879A77 /* libFirebaseMessaging.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libFirebaseMessaging.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4C16DE0B1F89508700AA10DB /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 4E586E1B0E544F64AA9F5BD1 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 6864A92FD6844B928C52F5C1 /* Inter-Light-BETA.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Light-BETA.otf"; path = "../resources/fonts/Inter-Light-BETA.otf"; sourceTree = ""; }; @@ -123,14 +119,6 @@ 8077F6B47C6C491A9351E836 /* Inter-ThinItalic-BETA.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-ThinItalic-BETA.otf"; path = "../resources/fonts/Inter-ThinItalic-BETA.otf"; sourceTree = ""; }; 8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; 922C4CA61F4D5F8B0033C753 /* StatusIm.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = StatusIm.entitlements; path = StatusIm/StatusIm.entitlements; sourceTree = ""; }; - 925C1F401F7B73B20063DFA0 /* FirebaseCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCore.framework; sourceTree = ""; }; - 925C1F411F7B73B20063DFA0 /* FirebaseCoreDiagnostics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCoreDiagnostics.framework; sourceTree = ""; }; - 925C1F421F7B73B20063DFA0 /* FirebaseInstanceID.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseInstanceID.framework; sourceTree = ""; }; - 925C1F431F7B73B20063DFA0 /* FirebaseNanoPB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseNanoPB.framework; sourceTree = ""; }; - 925C1F451F7B73B20063DFA0 /* nanopb.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = nanopb.framework; sourceTree = ""; }; - 925C1F7F1F7B73C00063DFA0 /* FirebaseMessaging.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseMessaging.framework; sourceTree = ""; }; - 92A0DF491F4DE3A0002051BC /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 983F07442119C9D2004133ED /* message.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = message.wav; path = ../android/app/src/main/res/raw/message.wav; sourceTree = ""; }; 9E0B01A01DDC5DA7002B0359 /* SF-UI-Text-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Text-Light.otf"; sourceTree = ""; }; 9EC0135C1E06FB1900155B5C /* RCTWKWebView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWKWebView.xcodeproj; path = "../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView.xcodeproj"; sourceTree = ""; }; 9ED2F45C1D9D52C100B36508 /* SF-UI-Text-Medium.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Text-Medium.otf"; sourceTree = ""; }; @@ -217,7 +205,6 @@ 1E7837547A9A40E18AD63CF3 /* Resources */ = { isa = PBXGroup; children = ( - 983F07442119C9D2004133ED /* message.wav */, 2028E0111D4275BD00227DCD /* SF */, B23B48FE1E76917B006D4535 /* RobotoMono-Medium.ttf */, 74B758FB20D7C00B003343C3 /* launch-image-universal.storyboard */, @@ -291,7 +278,6 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 92A0DF491F4DE3A0002051BC /* GoogleService-Info.plist */, 13B07FAE1A68108700A75B9A /* StatusIm */, 832341AE1AAA6A7D00B99B32 /* Libraries */, 00E356EF1AD99517003FC87E /* StatusImTests */, @@ -333,15 +319,7 @@ A97BA941B2FB44B4B66EE6D3 /* Frameworks */ = { isa = PBXGroup; children = ( - 475D1FCD20B7415300879A77 /* libFirebaseCore.a */, - 475D1FCE20B7415300879A77 /* libFirebaseMessaging.a */, 4C16DE0B1F89508700AA10DB /* JavaScriptCore.framework */, - 925C1F7F1F7B73C00063DFA0 /* FirebaseMessaging.framework */, - 925C1F401F7B73B20063DFA0 /* FirebaseCore.framework */, - 925C1F411F7B73B20063DFA0 /* FirebaseCoreDiagnostics.framework */, - 925C1F421F7B73B20063DFA0 /* FirebaseInstanceID.framework */, - 925C1F431F7B73B20063DFA0 /* FirebaseNanoPB.framework */, - 925C1F451F7B73B20063DFA0 /* nanopb.framework */, B24FC7FE1DE7195F00D694FF /* MessageUI.framework */, B24FC7FC1DE7195700D694FF /* Social.framework */, CE4E31B21D8695250033ED64 /* Statusgo.framework */, @@ -509,10 +487,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 983F077E2119C9D2004133ED /* message.wav in Resources */, 74B758FC20D7C00B003343C3 /* launch-image-universal.storyboard in Resources */, B2F2D1BC1D9D531B00B7B453 /* Images.xcassets in Resources */, - 92A0DF7D1F4DE3A4002051BC /* GoogleService-Info.plist in Resources */, D2356A41DAE14CB683EAEE59 /* Inter-Black.otf in Resources */, B190FBFB6A9B43EAAF396CD7 /* Inter-BlackItalic.otf in Resources */, D84616FB563A48EBB1678699 /* Inter-Bold.otf in Resources */, @@ -750,9 +726,6 @@ "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", "$(SRCROOT)/../node_modules/react-native-config/ios/**", "$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS", - "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase", - "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/messaging", - "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/notifications", ); INFOPLIST_FILE = StatusIm/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; @@ -808,9 +781,6 @@ "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", "$(SRCROOT)/../node_modules/react-native-config/ios/**", "$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS", - "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase", - "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/messaging", - "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/notifications", ); INFOPLIST_FILE = StatusIm/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; diff --git a/ios/StatusIm/AppDelegate.m b/ios/StatusIm/AppDelegate.m index 8dbf607fe717..b7a53362d423 100644 --- a/ios/StatusIm/AppDelegate.m +++ b/ios/StatusIm/AppDelegate.m @@ -16,9 +16,6 @@ #import "RCTRootView.h" #import "RNSplashScreen.h" #import "RCTLinkingManager.h" -#import -#import "RNFirebaseNotifications.h" -#import "RNFirebaseMessaging.h" @implementation AppDelegate { @@ -31,9 +28,6 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( NSURL *jsCodeLocation; [FIRApp configure]; - [RNFirebaseNotifications configure]; - [application registerForRemoteNotifications]; - /* Set logging level from React Native */ NSString *logLevel = [ReactNativeConfig envFor:@"LOG_LEVEL"]; @@ -74,19 +68,6 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( return YES; } -- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { - [[RNFirebaseNotifications instance] didReceiveLocalNotification:notification]; -} - -- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo - fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{ - [[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; -} - -- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { - [[RNFirebaseMessaging instance] didRegisterUserNotificationSettings:notificationSettings]; -} - - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options diff --git a/mobile/js_files/DEPENDENCIES.md b/mobile/js_files/DEPENDENCIES.md index bc9c6777cd2a..0aef6c38cec9 100644 --- a/mobile/js_files/DEPENDENCIES.md +++ b/mobile/js_files/DEPENDENCIES.md @@ -91,10 +91,6 @@ used to be able to put a timeout on fetch request TODO: check if the fetch timeout is actually aborting the request or only ignoring the callback on the response, if it doesn't then this is useless and we are better of using a simple seTimeout -## "react-native-firebase": "5.1.1" - -used to have some stupid notifications and give free metadata to Google - ## "react-native-fs": "^2.14.1" used for some filesystem related functions, for instance to get no-backup directory in `status-im.utils.platform` diff --git a/mobile/js_files/package.json b/mobile/js_files/package.json index 50544906693a..584cebf8c185 100644 --- a/mobile/js_files/package.json +++ b/mobile/js_files/package.json @@ -25,7 +25,6 @@ "react-native-config": "git+https://github.com/status-im/react-native-config.git#0.11.2-1-status", "react-native-dialogs": "^1.0.4", "react-native-fetch-polyfill": "^1.1.2", - "react-native-firebase": "^5.5.6", "react-native-fs": "^2.14.1", "react-native-gesture-handler": "^1.3.0", "react-native-image-crop-picker": "^0.25.0", diff --git a/mobile/js_files/yarn.lock b/mobile/js_files/yarn.lock index 8c208b465b01..e073204f3fcf 100644 --- a/mobile/js_files/yarn.lock +++ b/mobile/js_files/yarn.lock @@ -4802,14 +4802,6 @@ react-native-fetch-polyfill@^1.1.2: resolved "https://registry.yarnpkg.com/react-native-fetch-polyfill/-/react-native-fetch-polyfill-1.1.3.tgz#a02d9069a2f7108ca0b70b8469085c67cc02949c" integrity sha512-zr5yXQftuGq+ABGa3n4ZE+vkL1lBsMSePkRINm3/6vlpbwnLXYoijwazTO/W8GjsV4LAgGmzuieZxKO/NxW19A== -react-native-firebase@^5.5.6: - version "5.5.6" - resolved "https://registry.yarnpkg.com/react-native-firebase/-/react-native-firebase-5.5.6.tgz#17b34ec0d5dc39afaaf0e159fd160f6339e0f707" - integrity sha512-AdbpGwKEEiMFgaRar9WOPc8Li4sfxR//WOyNQzxYsQ1fpARC908j7feqy2gu73SLqk4wzIrnlfJWakOe0/Bclg== - dependencies: - opencollective-postinstall "^2.0.0" - prop-types "^15.7.2" - react-native-fs@^2.14.1: version "2.14.1" resolved "https://registry.yarnpkg.com/react-native-fs/-/react-native-fs-2.14.1.tgz#61c70a865b5b5bcb020dd4e4befd60a2c20c836f" diff --git a/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt b/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt index 3b804b78bf9f..38e3c8d4f900 100644 --- a/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt +++ b/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt @@ -197,66 +197,7 @@ https://dl.google.com/dl/android/maven2/com/crashlytics/sdk/android/answers/1.4. https://dl.google.com/dl/android/maven2/com/crashlytics/sdk/android/beta/1.2.10/beta-1.2.10 https://dl.google.com/dl/android/maven2/com/crashlytics/sdk/android/crashlytics-core/2.7.0/crashlytics-core-2.7.0 https://dl.google.com/dl/android/maven2/com/crashlytics/sdk/android/crashlytics/2.10.1/crashlytics-2.10.1 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads-base/17.2.0/play-services-ads-base-17.2.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads-identifier/16.0.0/play-services-ads-identifier-16.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads-lite/17.2.0/play-services-ads-lite-17.2.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads/17.2.0/play-services-ads-17.2.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-appinvite/17.0.0/play-services-appinvite-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-auth-base/16.0.0/play-services-auth-base-16.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-base/16.0.1/play-services-base-16.0.1 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-base/16.1.0/play-services-base-16.1.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-base/17.0.0/play-services-base-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/16.1.0/play-services-basement-16.1.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/16.2.0/play-services-basement-16.2.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/17.0.0/play-services-basement-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-clearcut/16.0.0/play-services-clearcut-16.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-flags/16.0.1/play-services-flags-16.0.1 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-gass/17.2.0/play-services-gass-17.2.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-gcm/17.0.0/play-services-gcm-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-iid/17.0.0/play-services-iid-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-api/16.5.0/play-services-measurement-api-16.5.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-base/16.5.0/play-services-measurement-base-16.5.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-impl/16.5.0/play-services-measurement-impl-16.5.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-sdk-api/16.5.0/play-services-measurement-sdk-api-16.5.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-sdk/16.5.0/play-services-measurement-sdk-16.5.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement/16.5.0/play-services-measurement-16.5.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-phenotype/16.0.0/play-services-phenotype-16.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/16.0.1/play-services-stats-16.0.1 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/17.0.0/play-services-stats-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-tasks/16.0.1/play-services-tasks-16.0.1 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-tasks/17.0.0/play-services-tasks-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision-common/17.0.2/play-services-vision-common-17.0.2 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision-image-label/17.0.2/play-services-vision-image-label-17.0.2 -https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision/17.0.2/play-services-vision-17.0.2 https://dl.google.com/dl/android/maven2/com/google/android/gms/strict-version-matcher-plugin/1.1.0/strict-version-matcher-plugin-1.1.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-abt/17.1.1/firebase-abt-17.1.1 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ads/17.2.1/firebase-ads-17.2.1 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-analytics/16.5.0/firebase-analytics-16.5.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth-interop/17.0.0/firebase-auth-interop-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth/17.0.0/firebase-auth-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/16.0.3/firebase-common-16.0.3 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/17.0.0/firebase-common-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/17.1.0/firebase-common-17.1.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-config/17.0.0/firebase-config-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-core/16.0.9/firebase-core-16.0.9 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-database-collection/16.0.1/firebase-database-collection-16.0.1 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-database/17.0.0/firebase-database-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-dynamic-links/17.0.0/firebase-dynamic-links-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/19.0.2/firebase-firestore-19.0.2 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-functions/17.0.0/firebase-functions-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid-interop/16.0.1/firebase-iid-interop-16.0.1 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid/17.0.3/firebase-iid-17.0.3 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid/18.0.0/firebase-iid-18.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-invites/17.0.0/firebase-invites-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measurement-connector/17.0.1/firebase-measurement-connector-17.0.1 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-messaging/18.0.0/firebase-messaging-18.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ml-common/17.0.0/firebase-ml-common-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ml-vision-face-model/17.0.2/firebase-ml-vision-face-model-17.0.2 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ml-vision/19.0.3/firebase-ml-vision-19.0.3 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-perf/17.0.2/firebase-perf-17.0.2 -https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-storage/17.0.0/firebase-storage-17.0.0 -https://dl.google.com/dl/android/maven2/com/google/firebase/protolite-well-known-types/16.0.1/protolite-well-known-types-16.0.1 -https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.2.0/google-services-4.2.0 https://dl.google.com/dl/android/maven2/io/fabric/sdk/android/fabric/1.4.8/fabric-1.4.8 https://jcenter.bintray.com/com/adobe/xmp/xmpcore/5.1.3/xmpcore-5.1.3 https://jcenter.bintray.com/com/afollestad/material-dialogs/commons/0.9.6.0/commons-0.9.6.0 diff --git a/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix b/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix index 4e790cd0f528..736adde8a99c 100644 --- a/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix +++ b/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix @@ -3023,471 +3023,6 @@ in { sha256 = "0w04rc33spmglw57803w8fczy7ssmlalc53y8vsfnh93faxk5fis"; }; }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads/17.2.0/play-services-ads-17.2.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-ads/17.2.0/play-services-ads-17.2.0"; - type = "aar"; - pom = { - sha1 = "131a91ee23bffc4bbddd4ee030a58383f621ac26"; - sha256 = "0l22130zk3bphbm8br1acddifwjssqdllb6mqqi0z0f44knnr61x"; - }; - jar = { - sha1 = "f3c8479a8a954d58a6203df154683f674c1b4fd9"; - sha256 = "19mvp3bvcaaiywvi29zkxj1b7s2ramik6lhpi5wnaw9462flx752"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads-base/17.2.0/play-services-ads-base-17.2.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-ads-base/17.2.0/play-services-ads-base-17.2.0"; - type = "aar"; - pom = { - sha1 = "7e9fe04f09851104a9ea7751cdfe1e0f6e39ecab"; - sha256 = "11p4g0x89kjxjsxy525w1cwl6lssv3ihwjvr1kw48nr261z49yi8"; - }; - jar = { - sha1 = "8d84fbed5ad4b2800d856b137395c9a28edea67a"; - sha256 = "03vdbrdpqk0z1ir2w16r5hiirgp6nzkw98a47g5raz4phfihfzc5"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads-identifier/16.0.0/play-services-ads-identifier-16.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-ads-identifier/16.0.0/play-services-ads-identifier-16.0.0"; - type = "aar"; - pom = { - sha1 = "0175918cd9c50cc87754e29c9f14d9a9c4f6a1ac"; - sha256 = "1668342wcrd1lnq43dwccv7mzb07vjivh3h6n4v1v59jj86swlfq"; - }; - jar = { - sha1 = "aa9be39d7fb67d7e7d6cee7395186d46a62e0689"; - sha256 = "0jfcmd5p72bdwa8jlh7h7af8qrwrgkjh973inn9zz7rqqnzhj2rq"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads-lite/17.2.0/play-services-ads-lite-17.2.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-ads-lite/17.2.0/play-services-ads-lite-17.2.0"; - type = "aar"; - pom = { - sha1 = "12e9c6a16cc892e0267f3fb5686f880bda68a15b"; - sha256 = "0n0qjl986c607rvfwji4clcv84zhsh1dwcwsi4d8wqmm0xbksfxh"; - }; - jar = { - sha1 = "7be8df41efe425c355a318c08243a9ef16973166"; - sha256 = "1z0nmm3gm4s9qqi7cnmgfrs0gq8z7xp7z1afgdlm7b7qiyjsqxyl"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-appinvite/17.0.0/play-services-appinvite-17.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-appinvite/17.0.0/play-services-appinvite-17.0.0"; - type = "aar"; - pom = { - sha1 = "4fe9b13ea4be67cdaeef0af37268d8941a7c8131"; - sha256 = "11zy8n2s1iad686xydn79rxvzmxghsv606k39vcir7bzxfprld0i"; - }; - jar = { - sha1 = "41f07729ff06c49b736cea7220c3c33f00a36e85"; - sha256 = "0s78yn3yf13f875gy5g53q23gqzpx4vrlswk8s11m1pa7bn3h4p5"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-auth-base/16.0.0/play-services-auth-base-16.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-auth-base/16.0.0/play-services-auth-base-16.0.0"; - type = "aar"; - pom = { - sha1 = "a739f8e4fab46e152bb57fc8cf3f22da862e7779"; - sha256 = "1krqwvy75wavlmpws1x33x671haa5byknb1krbf957m8pmh4g81l"; - }; - jar = { - sha1 = "6691446e870b1fa8e5bb0a8742aa00d129d68b18"; - sha256 = "1l7c09hdvd2wkn8jwxaxymyyy4kc5kgw8ljvggzrs7cd5ynh5p2i"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-base/16.0.1/play-services-base-16.0.1" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-base/16.0.1/play-services-base-16.0.1"; - type = "aar"; - pom = { - sha1 = "17575b11d629d81dfca742c2e9842edf16f5099d"; - sha256 = "0ch5wvjy5jr74z756qn01w9irfz9bxs2j38qvrgvdlf42x1klrhy"; - }; - jar = { - sha1 = "8f06f2d24b1f01db76a0a226b544d0dd7937b32e"; - sha256 = "0nv5fkv8zzsn6454qmiw279sv2xq997p61nvyd8bq69j1iw0r8dc"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-base/16.1.0/play-services-base-16.1.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-base/16.1.0/play-services-base-16.1.0"; - type = "aar"; - pom = { - sha1 = "23473ee374ced0a96e3679820b751520f7365e7b"; - sha256 = "1aihay0cyfaflq7asbck34laqzbi6m1sffqzv2fdddfa4y1yvna0"; - }; - jar = { - sha1 = "95ae8ec6dc6f9204362df2966363cbaea1a649a4"; - sha256 = "196sh7xsbzqh9kjbs2v3rqapggbzxikf3mbyni7si750vw2knm1s"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-base/17.0.0/play-services-base-17.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-base/17.0.0/play-services-base-17.0.0"; - type = "aar"; - pom = { - sha1 = "77505aa02852800097ec02562d5905723f37114f"; - sha256 = "096r6jb1qf3r9f3b3g008l1qbpj3diys8sig4wcixm75ig9qj163"; - }; - jar = { - sha1 = "7fe5a19c8a10b304800a0dac51ffd7ae0acc0648"; - sha256 = "1iscqvpwij7ild7jgay7s2pc2dy23n0713mmw93d7q19yznq02fx"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/16.1.0/play-services-basement-16.1.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-basement/16.1.0/play-services-basement-16.1.0"; - type = "aar"; - pom = { - sha1 = "6ad4d4111a91644babdf987c684a8434c3c29516"; - sha256 = "0ancmw7r77yq4kjdsyzxcan688l3s7s179p59qa0lb0zv4s5fqav"; - }; - jar = { - sha1 = "4e03a61a346ae963fe1856938e62c1b810de37ad"; - sha256 = "02vw1w69f459y1ssslvz2zsamhl1f2xlf8i7ih9n5zf28cjklfac"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/16.2.0/play-services-basement-16.2.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-basement/16.2.0/play-services-basement-16.2.0"; - type = "aar"; - pom = { - sha1 = "f547b26b5426a828f0087fd595916ed4af97253c"; - sha256 = "1arw2cr9phi3r0ghc2dqaw4hlnra40lr0rrs1f21mp9l58ld2p6y"; - }; - jar = { - sha1 = "6341a60bee89770241aefc8ab2ae0490e1b5b934"; - sha256 = "0nixpl2mppf6hyi0vwzwcb6x1p2a0cm7a1x8y0yzjcm60mdavkjw"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/17.0.0/play-services-basement-17.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-basement/17.0.0/play-services-basement-17.0.0"; - type = "aar"; - pom = { - sha1 = "45c1c43219354319ea73c7cc7376b4f83adaf240"; - sha256 = "0rjbl990ncim4zx344qis8j545qhd97n7hxl9dw2vv5jkrfjksgz"; - }; - jar = { - sha1 = "f94e0b893e0d5d2a922577986c8b2a31fd79f634"; - sha256 = "1753ax2qa2i4jhksyp3vjsgd8hygsg7lgj4zcgivyj5wbdwa296k"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-clearcut/16.0.0/play-services-clearcut-16.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-clearcut/16.0.0/play-services-clearcut-16.0.0"; - type = "aar"; - pom = { - sha1 = "e1d672e2ed3b7fc6a94fdc9316b3c5fa345fdc1d"; - sha256 = "0s76r4v1sz1cribx2703iycy1lb19rhd0wbnfajwpn71k998bdlv"; - }; - jar = { - sha1 = "3ef3f2f12bffd8c7d314b9358d02830e47eed81d"; - sha256 = "0lmbda8pbg65a6d7pdl4r9mj2nhk4dx81qzj6bbw7dv0xikirf4c"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-flags/16.0.1/play-services-flags-16.0.1" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-flags/16.0.1/play-services-flags-16.0.1"; - type = "aar"; - pom = { - sha1 = "f4f29bc9b759e0cc72a8d8ab1af80d030b153d1d"; - sha256 = "05vxl4a5jyac3nzz17gjh0awbmxw6hmghln6mll46d4r2x15ywki"; - }; - jar = { - sha1 = "40ec115409a56b9f60e947f8c226240449bcdd8f"; - sha256 = "1cxvdhd8jj049i3p42hf1yy7dzb0pwxlzihs20wk9d3dn6bfj5k6"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-gass/17.2.0/play-services-gass-17.2.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-gass/17.2.0/play-services-gass-17.2.0"; - type = "aar"; - pom = { - sha1 = "57a0f07a6f3c505d7fbe5e7663ab2b5cc7b91cf5"; - sha256 = "0dai67j985pacwfgf30m6ssixppl3d4qq8gn0883smk0pigy5yy3"; - }; - jar = { - sha1 = "e4286f3dcbd6a9aa247dcd87d273c4ee57d6d87f"; - sha256 = "0862sspizrr1jyy1h6fv80zyiirn4msxw2c2yn937zqcvq66yy3i"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-gcm/17.0.0/play-services-gcm-17.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-gcm/17.0.0/play-services-gcm-17.0.0"; - type = "aar"; - pom = { - sha1 = "1ff1280534db83ac2bc4c4c8c3c2f7b58f013a1d"; - sha256 = "096finqpw1iapa8h0wh4m5h4zgwmz3ij5d078b9ppxxlsr5yl0wb"; - }; - jar = { - sha1 = "ca7c94434e4f0d900005caf1d6f48ae092d7956d"; - sha256 = "1bq6rjrh8m6b8jmcwd9w91h5lxd7jvb1qba6gf2g4dzj5kvbwv34"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-iid/17.0.0/play-services-iid-17.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-iid/17.0.0/play-services-iid-17.0.0"; - type = "aar"; - pom = { - sha1 = "bf9f241f0eb754a65abf06dab1df551e5368d564"; - sha256 = "0zzdyfg92zbfn3vp57zhihhfqjxwlw9jds3ycir4nx314llhnpr2"; - }; - jar = { - sha1 = "5dc043b659c2ed77a937c514b06532049fb54bc1"; - sha256 = "0s8qk60knf3ws2arsvdnz7v5q7s6xdwi4rbi2c4mpphjhsncxpfp"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement/16.5.0/play-services-measurement-16.5.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-measurement/16.5.0/play-services-measurement-16.5.0"; - type = "aar"; - pom = { - sha1 = "a40f249228caae8c6810ce7f46bcf19be57805db"; - sha256 = "101madd4a5mqbgr9qm9d76ghpp4yb5nwmrfz73hjqjdvdzcy310n"; - }; - jar = { - sha1 = "761764e3f6a6df71dbcbc0b602a87bdd12590a3a"; - sha256 = "1fjhdprn8bc8xfacwarfxkyx7zan4d1cbagq6va3qzczfjmpajca"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-api/16.5.0/play-services-measurement-api-16.5.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-measurement-api/16.5.0/play-services-measurement-api-16.5.0"; - type = "aar"; - pom = { - sha1 = "b3d13603aca52854b1c29dde5812a3019f2fc1c8"; - sha256 = "016wsrzxss19xyhkwxikvwlh86xya7xhl06hiz7lfh6n29wgqg0j"; - }; - jar = { - sha1 = "5edae91fcc7979080f6991ea265679bae4b5a27b"; - sha256 = "1zjkgvm6n77ddhnidrbrzn7avkvlb7ldhz1755c73lk51laqwdp3"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-base/16.5.0/play-services-measurement-base-16.5.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-measurement-base/16.5.0/play-services-measurement-base-16.5.0"; - type = "aar"; - pom = { - sha1 = "9aeba96518899628e800214441aeb6de07003987"; - sha256 = "07833pz1lf4r9wmd4nc4bb26fvf826pcq1mcf6q9hish5w26n74g"; - }; - jar = { - sha1 = "98dc8a4800e0a7b5b46d6d4df82f6d5274176539"; - sha256 = "0kgzkjd3a24azjjirhhcws00z4mv0ld3x91qdzr8fnlqvqsx9p79"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-impl/16.5.0/play-services-measurement-impl-16.5.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-measurement-impl/16.5.0/play-services-measurement-impl-16.5.0"; - type = "aar"; - pom = { - sha1 = "397038af63f2e48366c2e5655dc84748f6c48700"; - sha256 = "0a88zjb3mgvnl1jjsdd9nci58n0lxsa0qzfy89ng04ymjkqz1bl2"; - }; - jar = { - sha1 = "5bbb2c4bb00fcae4423da0c5c6f24c10537b85ac"; - sha256 = "1z6rraiwrh45g2gvmfcyp46h4lx2sxwpg2xvg3l58xzfc02a5mb3"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-sdk/16.5.0/play-services-measurement-sdk-16.5.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-measurement-sdk/16.5.0/play-services-measurement-sdk-16.5.0"; - type = "aar"; - pom = { - sha1 = "b73c4dfac86f567aea51d7c5c62d8a1faab7f5a3"; - sha256 = "0kc2xdrcc1634r4by23114bi2kflhv1r3iv79glvwrcpgw5dp0a1"; - }; - jar = { - sha1 = "93b34ebc75a23d76df09bf5f05e0817f4c50ee4a"; - sha256 = "0189i2f5d837mg491x0wlgs4i2y0i69cmi89k33gv3z65vx3crc8"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-measurement-sdk-api/16.5.0/play-services-measurement-sdk-api-16.5.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-measurement-sdk-api/16.5.0/play-services-measurement-sdk-api-16.5.0"; - type = "aar"; - pom = { - sha1 = "19b4d95a0bb313a5ad8525f7aedf039f7a0a3bc8"; - sha256 = "0pvsfv9x3a534xmvmpxgj5ghy421nd2mxi73127p1wr5ffcivv7l"; - }; - jar = { - sha1 = "7085ec4651ca36a03890810c3d47781fdd31922c"; - sha256 = "1ab030k40m5l4wkx1h23cymlrzhlhfd0jpqd8cjzl3az58kismn9"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-phenotype/16.0.0/play-services-phenotype-16.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-phenotype/16.0.0/play-services-phenotype-16.0.0"; - type = "aar"; - pom = { - sha1 = "25608ee8ddbf259b091bf7f6751ff1e4b8632f6b"; - sha256 = "0h39cjak599spvk4fqh12d9bjcvwrd9q1niyvhrxkj40fxa6zj3d"; - }; - jar = { - sha1 = "693386367b6e26f757a92702458bc9fa018f2c27"; - sha256 = "0mb17dyxgkpsqmrjgvma5yldvg2nl4yb68axyvp7plr57qdm34pk"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/16.0.1/play-services-stats-16.0.1" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-stats/16.0.1/play-services-stats-16.0.1"; - type = "aar"; - pom = { - sha1 = "7da66fe8b1e0b73d416974aa84078b59c90cd052"; - sha256 = "11bbyhz2613yvx3063qi9vkcpp9w430jmx377y6v8fi7501q2fc3"; - }; - jar = { - sha1 = "0d5ca5898019c0913d163dbfeaa42b77b148716c"; - sha256 = "0s339i6szxbkascrgczv9nlcj3x8ksmlpjcm496ygmmzmn0q4bav"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/17.0.0/play-services-stats-17.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-stats/17.0.0/play-services-stats-17.0.0"; - type = "aar"; - pom = { - sha1 = "a86ccdcbbff8207e5700392933c77ad81e183f85"; - sha256 = "16x1vs7zvgsyf53vkclqr2n2n8fwvxgrhxk9c5zqa8rrc6425xhn"; - }; - jar = { - sha1 = "5ed3441a1bcdb224b0fed0cc175257ed15174755"; - sha256 = "1zm6hcmq6gq9av834fyy9jm371rrvb9qrkgsicjy4w9ba505pbp8"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-tasks/16.0.1/play-services-tasks-16.0.1" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-tasks/16.0.1/play-services-tasks-16.0.1"; - type = "aar"; - pom = { - sha1 = "9d2270f8d3cc0cca2c73f9b0a0ce7bc43c88fce4"; - sha256 = "0jhyccxf9qmqcqlqlvdakfy20zpbdfllvyqlqfp1q3cgachgivd0"; - }; - jar = { - sha1 = "565e6572641c926a370f1eaa1e0b963172ef8516"; - sha256 = "0dawyg2bxwpq2k509navp9qg6cqk8wsp9vlmy8a9i3fcs7c1h75k"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-tasks/17.0.0/play-services-tasks-17.0.0" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-tasks/17.0.0/play-services-tasks-17.0.0"; - type = "aar"; - pom = { - sha1 = "ab81ab94f07c15697696e3da7fb026046403e0b9"; - sha256 = "19kl9nwid519nr5pgjx5rmsjhv94fb82iakw03kbp57bq8137ngx"; - }; - jar = { - sha1 = "18299a334d48bc5abfe3c9446c2a9e1a3b3f38e1"; - sha256 = "198j66zyfdky344q09dfdrsb65vpp609g2q3gbzg6irnnww1fv9f"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision/17.0.2/play-services-vision-17.0.2" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-vision/17.0.2/play-services-vision-17.0.2"; - type = "aar"; - pom = { - sha1 = "14847cde7015ebec0864910b2c2775dbab55aa6e"; - sha256 = "0ca4lwbjrm2mgkwn6kjxy2cbvx7fxhbzc6zw9bsn4qdvcfyyq513"; - }; - jar = { - sha1 = "9c21f12498ca761c62fcc22ac4a1efab9538fd09"; - sha256 = "01xqv2zdy2if0fm28l2kfj86dyj1adq977nvhy8v0kzscvxgv0d0"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision-common/17.0.2/play-services-vision-common-17.0.2" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-vision-common/17.0.2/play-services-vision-common-17.0.2"; - type = "aar"; - pom = { - sha1 = "f0cc3db5eb49a5f98bb7209826b4f29572cbf8e2"; - sha256 = "1aq8895hk008qmjy7i1q4nlvlcppp5jp4qbvp52xv04aklpsr5i6"; - }; - jar = { - sha1 = "af8adbde98349556338665902b9f9a6ea1cda060"; - sha256 = "1zr5v07yalsxb3w21629zjxxpr2ilc4mbdynnap30fad84nj83sa"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision-image-label/17.0.2/play-services-vision-image-label-17.0.2" = - { - host = repositories.google; - path = - "com/google/android/gms/play-services-vision-image-label/17.0.2/play-services-vision-image-label-17.0.2"; - type = "aar"; - pom = { - sha1 = "3bd99765abe7798a8314e184281abe4e23115a81"; - sha256 = "11xw45hn49qlcgxi692q39wg7zwrxscp7753armsf6sv4fdsi0zf"; - }; - jar = { - sha1 = "2ce482bc7183983bc8a83197bc20025975304dd8"; - sha256 = "1plc8lhiiyg2w9p53nk9mrl9qxrn4z11jsja9kjbmvssxqacrl6f"; - }; - }; "https://dl.google.com/dl/android/maven2/com/google/android/gms/strict-version-matcher-plugin/1.1.0/strict-version-matcher-plugin-1.1.0" = { host = repositories.google; @@ -3503,426 +3038,6 @@ in { sha256 = "1jhx7imkbh5wnwmhlak4sb2r0p9mn2qldc83mc57fpz702pd4x4f"; }; }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-abt/17.1.1/firebase-abt-17.1.1" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-abt/17.1.1/firebase-abt-17.1.1"; - type = "aar"; - pom = { - sha1 = "b2cd64128c42c6e0b2baa68710c33de1da41da56"; - sha256 = "0qkypgikvxzh6a9zsnj0zv0sqj3apnqkh23v2cz67a54mlswmasc"; - }; - jar = { - sha1 = "32250e2ca5285ff819d7ee765785cf11c9ac4b31"; - sha256 = "0h6mcxzcbcgd8fvflhddysyrzv7kcxcdvx6vj2lxpzk1379i5j1m"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ads/17.2.1/firebase-ads-17.2.1" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-ads/17.2.1/firebase-ads-17.2.1"; - type = "aar"; - pom = { - sha1 = "bb80ced1869aa6d13b824145c6cbe427a48b3dbf"; - sha256 = "1bdy0j8bgxcqbr067x7adv11law48a93r3ld33qjd41ni7ckh38r"; - }; - jar = { - sha1 = "e9845643860686c801e83819ec889da5ff9a5815"; - sha256 = "12lv2znsa48mim61j5vnfvpabb6vc85qf2x53zgj70dmgbpjfr12"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-analytics/16.5.0/firebase-analytics-16.5.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-analytics/16.5.0/firebase-analytics-16.5.0"; - type = "aar"; - pom = { - sha1 = "d22cc47c6d53bcd522c060b4910b44a09e03879c"; - sha256 = "157ah99ivfnc7ypswbkdhgqaknw6wb8yf6h0yca3ci9snm06fbb8"; - }; - jar = { - sha1 = "72a5d90cdb5c8658deb481a1fe2c8e5dbac027f9"; - sha256 = "0lpcdhga5wm9agr445gy2k79xvlnhhzvfinpw29x3m1by3dhlg2p"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth/17.0.0/firebase-auth-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-auth/17.0.0/firebase-auth-17.0.0"; - type = "aar"; - pom = { - sha1 = "620bc3b422684b9d8f6857dce832d6c13091db06"; - sha256 = "1rp7i8196sha0yznfxxi50ybmqbrrihsqj5752q07ax3pq9aj9sl"; - }; - jar = { - sha1 = "c367cb1f27bdb8b12cbe24fb1ec155b8eff311c2"; - sha256 = "0dalhaa5lglw3cipffrwbp7fhfb9hdcj41nkvsy2jhhm3cjnps9x"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth-interop/17.0.0/firebase-auth-interop-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-auth-interop/17.0.0/firebase-auth-interop-17.0.0"; - type = "aar"; - pom = { - sha1 = "b9416a1628882de9b4713bfa7cd7ce0fdd1e8c15"; - sha256 = "14yycm75c41bsj7q6g0vsm23aw6cxh3nfc4k3i7zlvng7shpfjga"; - }; - jar = { - sha1 = "5ce911758384328fc3936a8a02d58ba65671e770"; - sha256 = "1zx6xi72s1k9wiglyd2m83wivwqpy5c6ppglmqr0m8f09da5ja1w"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/16.0.3/firebase-common-16.0.3" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-common/16.0.3/firebase-common-16.0.3"; - type = "aar"; - pom = { - sha1 = "f1196f0fb6daa1f39e506a11b1f563ef96e81021"; - sha256 = "0s7vzygbsdzxzwdzqdmy1jcc5fjylmg9qy8rgazwqrv5g7vsd2rw"; - }; - jar = { - sha1 = "2060ba8e8e30dd53553b8f78e123cd2de9d78420"; - sha256 = "1kwvfllkiqid86rfy6nswrvp4msh43dfmkcsbwg5an7pqvabzdix"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/17.0.0/firebase-common-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-common/17.0.0/firebase-common-17.0.0"; - type = "aar"; - pom = { - sha1 = "3a3047c0d9373656062d746cc92db430116bd6c9"; - sha256 = "11678hz4hbpk93s0sdnp9l4cfjcla9n4kz8jbdzq6hi17ddrax5j"; - }; - jar = { - sha1 = "204ac5f533a575e5688cf40549d5f66a3390df84"; - sha256 = "14ak6nikskq5qj84bszqhify5p9d6srh2ia06jq1m9rakc9g9wc6"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/17.1.0/firebase-common-17.1.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-common/17.1.0/firebase-common-17.1.0"; - type = "aar"; - pom = { - sha1 = "dc86cdf909b42364354b41bd86494b58bb7f2c23"; - sha256 = "0yc68gm75pnxapri7y3ha6rnzqja89l4wv8nj55g4n3pwzfab313"; - }; - jar = { - sha1 = "dbffaabff70d6f5ca9f03af305cb1794f7c17a1d"; - sha256 = "1l8acg7gmwdqig9xc11fjssziaql7fqcd3l1a8d44s9qb5a7jrpn"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-config/17.0.0/firebase-config-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-config/17.0.0/firebase-config-17.0.0"; - type = "aar"; - pom = { - sha1 = "2bf19024a3db1a4c19ec4efc311aef7bcd4e6712"; - sha256 = "08clybd7d4zj65bpwh8k12w1ra4r3psqkndrmanpj50j8235bs3b"; - }; - jar = { - sha1 = "e29bbd7ddb2fc8f2ac1d094d9e37006b101f7b4b"; - sha256 = "0z5arcdy742sg64b6hyz9pxadz5h7cfx20mzbh2888ngyvb57gfc"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-core/16.0.9/firebase-core-16.0.9" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-core/16.0.9/firebase-core-16.0.9"; - type = "aar"; - pom = { - sha1 = "d2d433afce8cbcab1ada47d66d1db67e185914e5"; - sha256 = "1yi2dnz6f02p852sz99zpi87xzy7iq3jkddrf4jq5062bn4s66pz"; - }; - jar = { - sha1 = "bbac2d78ea36e02569eff4a69d65424804122be5"; - sha256 = "0i1a6kxv4z7awfwk8f16yai8hfhlsadkav3ph65ccjkxy1gp4h7v"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-database/17.0.0/firebase-database-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-database/17.0.0/firebase-database-17.0.0"; - type = "aar"; - pom = { - sha1 = "31b41657582745e9aa460a579685b17acd33ea25"; - sha256 = "04874nkkqjs91n88jq4hkj9qr4z5vvvxi7m5m3m7kpk8w22plfi3"; - }; - jar = { - sha1 = "f77fa6d3b042ed29c19eff1f8fe50d8c2018249c"; - sha256 = "0j5lxbkyayas1ryfz2m2yz6p1g71mv9iywchyww3k0xrr551rlh8"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-database-collection/16.0.1/firebase-database-collection-16.0.1" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-database-collection/16.0.1/firebase-database-collection-16.0.1"; - type = "aar"; - pom = { - sha1 = "0fa629c4fef873aa210c679318ec25e25d30cda8"; - sha256 = "0kl5rbsj0iwp6ph5qf9wfsaxpxrv9l95j2vmhxh5dhlaa67157xb"; - }; - jar = { - sha1 = "05ed5c71ae7bc133b067dd5ad13f7925f2f22f56"; - sha256 = "16f08ac0bh4w4jw9x57pc5z77fk7xr907rxp6c7vwxq63i1jzm5b"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-dynamic-links/17.0.0/firebase-dynamic-links-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-dynamic-links/17.0.0/firebase-dynamic-links-17.0.0"; - type = "aar"; - pom = { - sha1 = "fe2a589d898742e508e03d8e375697fb552be900"; - sha256 = "07jbp3s7vwlfs76qwgzjnkpryfpd5kgn2i4dnwmlbhkf7a4qkn0m"; - }; - jar = { - sha1 = "61a99de783e68370ef759cc2e6cdf1fc2e8e397d"; - sha256 = "1m5bm2mkka8zq7myq3wakqszz23s45cvy3lavjyzwiv2cbyazlia"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/19.0.2/firebase-firestore-19.0.2" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-firestore/19.0.2/firebase-firestore-19.0.2"; - type = "aar"; - pom = { - sha1 = "ddc9ab73ecdb636f54cba4daff75e18a37baacd8"; - sha256 = "13cscwr3sm4w7n1dpb99wr95fby3k3abqncsf4hl84klyg666s7b"; - }; - jar = { - sha1 = "9c81a532eecadac5ccd8164e43efb541352134bf"; - sha256 = "1qw47yf5xn46s3lzwy8z4h09gmr7m2i1ii4y1f087yszhq1jl069"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-functions/17.0.0/firebase-functions-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-functions/17.0.0/firebase-functions-17.0.0"; - type = "aar"; - pom = { - sha1 = "0b20f05be9f29887d98a020e8f122ba5710c0855"; - sha256 = "1qpqgja85sxhbj6gfr7f30g0a15vdwm54zgnhck6y59s43qzf07h"; - }; - jar = { - sha1 = "601feef62d0b5e40214dd790fe0aa28fe9fceecc"; - sha256 = "0n9m67y24pahv07izn776kp79jn2d1rz4ynmmw8hjgax7dy2xj1f"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid/17.0.3/firebase-iid-17.0.3" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-iid/17.0.3/firebase-iid-17.0.3"; - type = "aar"; - pom = { - sha1 = "67c552bcd0eee63f1c76f95fc6635f9b1fc5daa0"; - sha256 = "151s4k7zb6dav84hlv61qd4g6af16wfk5d8s08514rqyrwrkyxil"; - }; - jar = { - sha1 = "228c141bcd3e51ffbb303761fc201ed1f7498753"; - sha256 = "1x68iqzz3hfbf1zj66nn4vm2s875l601qc05v2js3cg399va9a8d"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid/18.0.0/firebase-iid-18.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-iid/18.0.0/firebase-iid-18.0.0"; - type = "aar"; - pom = { - sha1 = "7f0ccb110c7484bdec2952539f2045e77116fd79"; - sha256 = "0miihmvaz50ks8a7n09mp6m1rlghfpwwd0plbfr6xgfbp7w3ww4s"; - }; - jar = { - sha1 = "ad263ad8a1b8bd700a72705378955a6422bf8bdc"; - sha256 = "0n6yn2642ai82ja3s0ypya64pwfam3kvr4bak49smizaf0akj9p0"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid-interop/16.0.1/firebase-iid-interop-16.0.1" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-iid-interop/16.0.1/firebase-iid-interop-16.0.1"; - type = "aar"; - pom = { - sha1 = "f794ecf0c507aaddf71562424fb4086cca8374a6"; - sha256 = "0jzq9ad0x1garp2c84vw89jyyyra4mkg3fc9lfa3qllpxldn8rw1"; - }; - jar = { - sha1 = "8707ad5e1fdd9182313a5eb5edd16e1a839cdd75"; - sha256 = "0fv9g5zcw55pwjl3cq79alb320sqx14x41lj44v4iza6jcmk51ia"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-invites/17.0.0/firebase-invites-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-invites/17.0.0/firebase-invites-17.0.0"; - type = "aar"; - pom = { - sha1 = "0d02fb148de2bfb92c116bd5593eba8ad92c8391"; - sha256 = "0qhi481kpg271yp3cvhg4307mhchaihm9qyyxph8xds4w0zbjydi"; - }; - jar = { - sha1 = "d601ba46ca1565e7c23c73f1794286b003458bda"; - sha256 = "0mk1i57pivvn0w24fcmdc2w5khrnb0skphk9pp1d8z0h3f1wjnhc"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measurement-connector/17.0.1/firebase-measurement-connector-17.0.1" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-measurement-connector/17.0.1/firebase-measurement-connector-17.0.1"; - type = "aar"; - pom = { - sha1 = "ae9bd5e21b4ab9b561a371ea675bca43d52eba7e"; - sha256 = "00y75k31lvbjrqz4qh5hgfzq40sx24kzmclxgddqx21mj3bc4p56"; - }; - jar = { - sha1 = "bcef3a812b71fb7e3faf15f6e3eda949c7455edc"; - sha256 = "1hyha1hq83ckckp7imk476d5mcsnw60b5m44rkhkimvf90882cdw"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-messaging/18.0.0/firebase-messaging-18.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-messaging/18.0.0/firebase-messaging-18.0.0"; - type = "aar"; - pom = { - sha1 = "7024dfa1fb8cd3a30a4307bbd63be3ce081f657f"; - sha256 = "0qsadilwx14f1pgwz4sk71axrgb1msi5pbdfhs40xyg40m4j8wzb"; - }; - jar = { - sha1 = "91d59be484cca20865c43065d674c2cd9c00b0bc"; - sha256 = "12pyl1sykzir75qkr1cgcgjh1kiss2v45fa1nv3fxbh1n2spm8fv"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ml-common/17.0.0/firebase-ml-common-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-ml-common/17.0.0/firebase-ml-common-17.0.0"; - type = "aar"; - pom = { - sha1 = "6696102710812b9aae3b3286241bc287bfb5f0b1"; - sha256 = "1wjrszq2mhgl14z9liwkv860d6f8n219d5r66s9a2rg0pv5hn9d2"; - }; - jar = { - sha1 = "dd9742016d701006d00944d6e2995e910b2595ab"; - sha256 = "0aakwxcmrzcq072mykqshyak6a9q0qaxncbc24djsj9qian5c1b1"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ml-vision/19.0.3/firebase-ml-vision-19.0.3" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-ml-vision/19.0.3/firebase-ml-vision-19.0.3"; - type = "aar"; - pom = { - sha1 = "8ee670031b99c6c94194802ac6fbe03837e55942"; - sha256 = "0mispjmcxcvxg8vzaz5jl3lmr7i176k7n7b74xpbs0h3gxyf3vnn"; - }; - jar = { - sha1 = "53dffc1401dc7d4e5e6c87a6de7ce0984d1274b1"; - sha256 = "1ilcsaxm054bb41mm5rgrnx6yhs9w97im6vbbnlkz31xa4b52k8z"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-ml-vision-face-model/17.0.2/firebase-ml-vision-face-model-17.0.2" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-ml-vision-face-model/17.0.2/firebase-ml-vision-face-model-17.0.2"; - type = "aar"; - pom = { - sha1 = "e1fd7a8b87a80bba683bd330cec6dccb482ae698"; - sha256 = "1fbbi5n1rwwqwvfj4l136lfa3k5gwp5cgz5m53139v1abjcdy90k"; - }; - jar = { - sha1 = "f9a04dd345be0b81433d0dc4672d3b80bda0a15a"; - sha256 = "1y6lbp06fa9c3y86ndh1i6p1fx7s53zfvfyv2cmay5l3myjcjw9j"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-perf/17.0.2/firebase-perf-17.0.2" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-perf/17.0.2/firebase-perf-17.0.2"; - type = "aar"; - pom = { - sha1 = "45952a66e6f79c2f8ad3c04887c63272ce0c96eb"; - sha256 = "0h1hrla1afd1wijmrkix09v8qynwm1bkxj6snn3kpgr0cnn2mv2d"; - }; - jar = { - sha1 = "b07558cca2103b98529096338e25cade92ca981b"; - sha256 = "1s4mda03a084m2qs68bmf73x7gslydkrycxa7i1gnwr1glv4v7h7"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-storage/17.0.0/firebase-storage-17.0.0" = - { - host = repositories.google; - path = - "com/google/firebase/firebase-storage/17.0.0/firebase-storage-17.0.0"; - type = "aar"; - pom = { - sha1 = "fa70951e03da1a883e960e9ec3069f5e636bc924"; - sha256 = "1jddf96k5s0q2ycqw2mmqfgqar27nnc4sgfm9wp2c1raq35qjkn2"; - }; - jar = { - sha1 = "f8f8171a0921833dd04ff57e210736427f46730a"; - sha256 = "1r4xm9g4rps6j904ic1x4zjj31l0cndzy5mjf1fl8z14yi3w87sb"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/firebase/protolite-well-known-types/16.0.1/protolite-well-known-types-16.0.1" = - { - host = repositories.google; - path = - "com/google/firebase/protolite-well-known-types/16.0.1/protolite-well-known-types-16.0.1"; - type = "aar"; - pom = { - sha1 = "d8ec60ea8d2e6cc52ce8d347e3ed84d86f30c057"; - sha256 = "0gv6jq312l0vyr6iqd3vy7rc3mj6njj3djmp9kg3dkid24plv90n"; - }; - jar = { - sha1 = "84ac1fc12bd4a483773eec3f5e0558c9813b7e27"; - sha256 = "1r7iagp8wh6aifzd2dnf3qp0zixwsh94757ramz575k0pcr4p67b"; - }; - }; - "https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.2.0/google-services-4.2.0" = - { - host = repositories.google; - path = - "com/google/gms/google-services/4.2.0/google-services-4.2.0"; - type = "jar"; - pom = { - sha1 = "762fb5463f12e09ae35c27f5abcaeb7332f12a1e"; - sha256 = "0lgqg9srj038mx6alc1px31sdzahia7nfy6r9ffcqrg86zb0rbmk"; - }; - jar = { - sha1 = "4b8cdb1daaed013c1523add39c8158d86e549d6c"; - sha256 = "05zpy0j1jg6j6iyqsxbi2ghi5w13yjk49bbai8q0sy5asvy5b1pb"; - }; - }; "https://dl.google.com/dl/android/maven2/io/fabric/sdk/android/fabric/1.4.8/fabric-1.4.8" = { host = repositories.google; diff --git a/react-native/src/desktop/status_im/react_native/js_dependencies.cljs b/react-native/src/desktop/status_im/react_native/js_dependencies.cljs index 817bd2fdfab4..abb2c5ecf497 100644 --- a/react-native/src/desktop/status_im/react_native/js_dependencies.cljs +++ b/react-native/src/desktop/status_im/react_native/js_dependencies.cljs @@ -16,7 +16,6 @@ (def desktop-menu (js/require "react-native-desktop-menu")) (def desktop-config (js/require "react-native-desktop-config")) (def desktop-shortcuts (js/require "react-native-desktop-shortcuts")) -(def react-native-firebase #js {}) (def touchid #js {}) (def camera #js {:RNCamera #js {:constants #js {:Aspect "Portrait"}}}) (def status-keycard #js {:default #js {}}) diff --git a/react-native/src/mobile/status_im/react_native/js_dependencies.cljs b/react-native/src/mobile/status_im/react_native/js_dependencies.cljs index 89a486949f31..a019397494cc 100644 --- a/react-native/src/mobile/status_im/react_native/js_dependencies.cljs +++ b/react-native/src/mobile/status_im/react_native/js_dependencies.cljs @@ -20,7 +20,6 @@ (def dismiss-keyboard (js/require "dismissKeyboard")) (def image-crop-picker (js/require "react-native-image-crop-picker")) (def image-resizer (js/require "react-native-image-resizer")) -(def react-native-firebase (js/require "react-native-firebase")) (def snoopy (js/require "rn-snoopy")) (def snoopy-filter (js/require "rn-snoopy/stream/filter")) (def snoopy-bars (js/require "rn-snoopy/stream/bars")) diff --git a/src/status_im/chat/models/message.cljs b/src/status_im/chat/models/message.cljs index 3e26ea269018..0ff9c6f71f08 100644 --- a/src/status_im/chat/models/message.cljs +++ b/src/status_im/chat/models/message.cljs @@ -352,16 +352,6 @@ :last-clock-value (:clock-value message)}) (send chat-id message wrapped-record)))) -(fx/defn send-push-notification - [cofx chat-id message-id fcm-tokens status] - (log/debug "#6772 - send-push-notification" message-id fcm-tokens) - (when (and (seq fcm-tokens) (= status :sent)) - (let [payload {:from (multiaccounts.model/current-public-key cofx) - :to chat-id - :id message-id}] - {:send-notification {:data-payload (notifications/encode-notification-payload payload) - :tokens fcm-tokens}}))) - (fx/defn update-message-status [{:keys [db] :as cofx} chat-id message-id status] (fx/merge cofx @@ -443,16 +433,3 @@ :chat-received-message/add-fx (fn [messages] (re-frame/dispatch [:message/add messages]))) - -(re-frame/reg-fx - :send-notification - (fn [{:keys [data-payload tokens]}] - "Sends a notification to another device. data-payload is a Clojure map of strings to strings" - (let [data-payload-json (types/clj->json data-payload) - tokens-json (types/clj->json tokens)] - (log/debug "send-notification data-payload-json:" data-payload-json "tokens-json:" tokens-json) - ;; NOTE: react-native-firebase doesn't have a good implementation of sendMessage - ;; (supporting e.g. priority or content_available properties), - ;; therefore we must use an implementation in status-go. - (status/send-data-notification {:data-payload data-payload-json :tokens tokens-json} - #(log/debug "send-data-notification cb result: " %))))) diff --git a/src/status_im/core.cljs b/src/status_im/core.cljs index dd526db39c27..350071ebcf26 100644 --- a/src/status_im/core.cljs +++ b/src/status_im/core.cljs @@ -23,6 +23,4 @@ (utils.logs/init-logs) (error-handler/register-exception-handler!) (re-frame/dispatch [:init/app-started]) - (.registerComponent react/app-registry "StatusIm" #(reagent/reactify-component app-root)) - (when platform/android? - (.registerHeadlessTask react/app-registry "RNFirebaseBackgroundMessage" background-messaging/message-handler-fn))) + (.registerComponent react/app-registry "StatusIm" #(reagent/reactify-component app-root))) diff --git a/src/status_im/notifications/background.cljs b/src/status_im/notifications/background.cljs deleted file mode 100644 index cbb8facd4476..000000000000 --- a/src/status_im/notifications/background.cljs +++ /dev/null @@ -1,29 +0,0 @@ -(ns status-im.notifications.background - (:require [goog.object :as object] - [re-frame.core :as re-frame] - [status-im.react-native.js-dependencies :as rn] - [status-im.notifications.core :as notifications] - [status-im.i18n :as i18n] - [cljs.core.async :as async] - [taoensso.timbre :as log] - [status-im.utils.platform :as platform])) - -(when-not platform/desktop? - (def firebase (object/get rn/react-native-firebase "default"))) - -(defn message-handler-fn [] - ;; message-js is firebase.messaging.RemoteMessage: https://github.com/invertase/react-native-firebase-docs/blob/master/docs/messaging/reference/RemoteMessage.md - (fn [message-js] - (js/Promise. - (fn [on-success on-error] - (try - (when message-js - (log/debug "message-handler-fn called" (js/JSON.stringify message-js)) - (let [decoded-payload (notifications/decode-notification-payload message-js)] - (when decoded-payload - (log/debug "dispatching :notifications.callback/on-message to display background message" decoded-payload) - (re-frame/dispatch [:notifications.callback/on-message decoded-payload {:force true}])))) - (on-success) - (catch :default e - (log/warn "failed to handle background message" e) - (on-error e))))))) diff --git a/src/status_im/notifications/core.cljs b/src/status_im/notifications/core.cljs deleted file mode 100644 index b8ea082aac44..000000000000 --- a/src/status_im/notifications/core.cljs +++ /dev/null @@ -1,382 +0,0 @@ -(ns status-im.notifications.core - (:require [goog.object :as object] - [re-frame.core :as re-frame] - [status-im.react-native.js-dependencies :as rn] - [taoensso.timbre :as log] - [status-im.i18n :as i18n] - [status-im.multiaccounts.core :as multiaccounts] - [status-im.multiaccounts.model :as multiaccounts.model] - [status-im.contact.db :as contact.db] - [status-im.chat.models :as chat-model] - [status-im.contact.db :as contact.db] - [status-im.ethereum.core :as ethereum] - [status-im.i18n :as i18n] - [status-im.react-native.js-dependencies :as rn] - [status-im.utils.fx :as fx] - [status-im.utils.platform :as platform] - [status-im.utils.utils :as utils] - [taoensso.timbre :as log])) - -;; Work in progress namespace responsible for push notifications and interacting -;; with Firebase Cloud Messaging. - -(def ^:private pn-message-id-hash-length 10) -(def ^:private pn-pubkey-hash-length 10) -(def ^:private pn-pubkey-length 132) -(def ^:private pull-recent-messages-window (* 15 60)) - -(when-not platform/desktop? - - (def firebase (object/get rn/react-native-firebase "default"))) - -;; NOTE: Only need to explicitly request permissions on iOS. -(defn request-permissions [] - (when-not platform/desktop? - (-> (.requestPermission (.messaging firebase)) - (.then - (fn [_] - (log/debug "notifications-granted")) - (fn [_] - (log/debug "notifications-denied")))))) - -(defn valid-notification-payload? - [{:keys [from to]}] - (and from to - (or - ;; is it full pubkey? - (and (= (.-length from) pn-pubkey-length) - (= (.-length to) pn-pubkey-length)) - ;; partially deanonymized - (and (= (.-length from) pn-pubkey-hash-length) - (= (.-length to) pn-pubkey-length)) - ;; or is it an anonymized pubkey hash (v2 payload)? - (and (= (.-length from) pn-pubkey-hash-length) - (= (.-length to) pn-pubkey-hash-length))))) - -(defn anonymize-pubkey - [pubkey] - "Anonymize a public key, if needed, by hashing it and taking the first 4 bytes" - (if (= (count pubkey) pn-pubkey-hash-length) - pubkey - (apply str (take pn-pubkey-hash-length (ethereum/sha3 pubkey))))) - -(defn encode-notification-payload - [{:keys [from to id] :as payload}] - (if (valid-notification-payload? payload) - {:msg-v2 (js/JSON.stringify #js {:from (anonymize-pubkey from) - :to (anonymize-pubkey to) - :id (apply str (take pn-message-id-hash-length id))})} - (throw (str "Invalid push notification payload" payload)))) - -(when platform/desktop? - (defn handle-initial-push-notification [] ())) ;; no-op - -(when-not platform/desktop? - - (def channel-id "status-im") - (def channel-name "Status") - (def sound-name "message.wav") - (def group-id "im.status.ethereum.MESSAGE") - (def icon "ic_stat_status_notification") - - (defn- hash->contact [hash-or-pubkey multiaccounts] - (let [hash (anonymize-pubkey hash-or-pubkey)] - (->> multiaccounts - (filter #(= (anonymize-pubkey (:public-key %)) hash)) - first))) - - (defn- hash->pubkey [hash multiaccounts] - (:public-key (hash->contact hash multiaccounts))) - - (defn lookup-contact-pubkey-from-hash - [{:keys [db] :as cofx} contact-pubkey-or-hash] - "Tries to deanonymize a given contact pubkey hash by looking up the - full pubkey (if db is unlocked) in :multiaccount and, if not found, - in :contacts/contacts. - Returns original value if not a hash (e.g. already a public key)." - (if (and contact-pubkey-or-hash - (= (count contact-pubkey-or-hash) pn-pubkey-hash-length)) - (if-let [multiaccount-pubkey (hash->pubkey contact-pubkey-or-hash - [(:multiaccount db)])] - multiaccount-pubkey - (if (multiaccounts.model/logged-in? cofx) - ;; TODO: for simplicity we're doing a linear lookup of the contacts, - ;; but we might want to build a map of hashed pubkeys to pubkeys - ;; for this purpose - (hash->pubkey contact-pubkey-or-hash - (contact.db/get-active-contacts (:contacts/contacts db))) - (do - (log/warn "failed to lookup contact from hash, not logged in") - contact-pubkey-or-hash))) - contact-pubkey-or-hash)) - - (defn parse-notification-v1-payload [msg-json] - (let [msg (js/JSON.parse msg-json)] - {:from (object/get msg "from") - :to (object/get msg "to")})) - - (defn parse-notification-v2-payload [msg-v2-json] - (let [msg (js/JSON.parse msg-v2-json)] - {:from (object/get msg "from") - :to (object/get msg "to") - :id (object/get msg "id")})) - - (defn decode-notification-payload [message-js] - ;; message-js.-data is Notification.data(): - ;; https://github.com/invertase/react-native-firebase/blob/adcbeac3d11585dd63922ef178ff6fd886d5aa9b/src/modules/notifications/Notification.js#L79 - (let [data-js (.. message-js -data) - msg-v2-json (object/get data-js "msg-v2")] - (try - (let [payload (if msg-v2-json - (parse-notification-v2-payload msg-v2-json) - (parse-notification-v1-payload (object/get data-js "msg")))] - (if (valid-notification-payload? payload) - payload - (log/warn "failed to retrieve notification payload from" - (js/JSON.stringify data-js)))) - (catch :default e - (log/debug "failed to parse" (js/JSON.stringify data-js) - "exception:" e))))) - - (defn rehydrate-payload - [cofx {:keys [from to id] :as decoded-payload}] - "Takes a payload with hashed pubkeys and returns a payload with the real - (matched) pubkeys" - {:from (lookup-contact-pubkey-from-hash cofx from) - :to (lookup-contact-pubkey-from-hash cofx to) - ;; TODO: Rehydrate message id - :id id}) - - (defn- get-contact-name [{:keys [db] :as cofx} from] - (if (multiaccounts.model/logged-in? cofx) - (:name (hash->contact from (-> db :contacts/contacts vals))) - (anonymize-pubkey from))) - - (defn- build-notification [{:keys [title body decoded-payload]}] - (let [native-notification - (clj->js - (merge - {:title title - :body body - :data (clj->js (encode-notification-payload decoded-payload)) - :sound sound-name} - (when-let [msg-id (:id decoded-payload)] - ;; We must prefix the notification ID, otherwise it will - ;; cause a crash in iOS - {:notificationId (str "hash:" msg-id)})))] - (firebase.notifications.Notification. - native-notification (.notifications firebase)))) - - (defn display-notification [{:keys [title body] :as params}] - (let [notification (build-notification params)] - (when platform/android? - (.. notification - (-android.setChannelId channel-id) - (-android.setAutoCancel true) - (-android.setPriority firebase.notifications.Android.Priority.High) - (-android.setCategory firebase.notifications.Android.Category.Message) - (-android.setGroup group-id) - (-android.setSmallIcon icon))) - (.. firebase - notifications - (displayNotification notification) - (then #(log/debug "Display Notification" title body)) - (catch (fn [error] - (log/debug "Display Notification error" title body error)))))) - - (defn get-fcm-token [] - (-> (.getToken (.messaging firebase)) - (.then (fn [x] - (log/debug "get-fcm-token:" x) - (re-frame/dispatch - [:notifications.callback/get-fcm-token-success x]))))) - - (defn create-notification-channel [] - (let [channel (firebase.notifications.Android.Channel. - channel-id - channel-name - firebase.notifications.Android.Importance.High)] - (.setSound channel sound-name) - (.setShowBadge channel true) - (.enableVibration channel true) - (.. firebase - notifications - -android - (createChannel channel) - (then #(log/debug "Notification channel created:" channel-id) - #(log/error "Notification channel creation error:" channel-id %))))) - - (defn- show-notification? - "Ignore push notifications from unknown contacts or removed chats" - [{:keys [db] :as cofx} {:keys [from] :as rehydrated-payload}] - (and (valid-notification-payload? rehydrated-payload) - (multiaccounts.model/logged-in? cofx) - (some #(= (:public-key %) from) - (contact.db/get-active-contacts (:contacts/contacts db))) - (some #(= (:chat-id %) from) - (vals (:chats db))))) - - (fx/defn handle-on-message - [{:keys [db now] :as cofx} decoded-payload {:keys [force]}] - (let [view-id (:view-id db) - current-chat-id (:current-chat-id db) - app-state (:app-state db) - rehydrated-payload (rehydrate-payload cofx decoded-payload) - from (:from rehydrated-payload)] - (log/debug "handle-on-message" "app-state:" app-state - "view-id:" view-id "current-chat-id:" current-chat-id - "from:" from "force:" force) - (merge - (when (and (= (count from) pn-pubkey-length) - (show-notification? cofx rehydrated-payload)) - {:dispatch [:mailserver/fetch-history from (- (quot now 1000) pull-recent-messages-window)]}) - (when (or force - (and - (not= app-state "active") - (show-notification? cofx rehydrated-payload))) - {:db - (assoc-in db [:push-notifications/stored (:to rehydrated-payload)] - (js/JSON.stringify (clj->js rehydrated-payload))) - :notifications/display-notification - {:title (get-contact-name cofx from) - :body (i18n/label :notifications-new-message-body) - :decoded-payload rehydrated-payload}})))) - - (fx/defn handle-push-notification-open - [{:keys [db] :as cofx} decoded-payload {:keys [stored?] :as ctx}] - (let [current-public-key (multiaccounts.model/current-public-key cofx) - nav-opts (when stored? {:navigation-reset? true}) - rehydrated-payload (rehydrate-payload cofx decoded-payload) - from (:from rehydrated-payload) - to (:to rehydrated-payload)] - (log/debug "handle-push-notification-open" - "current-public-key:" current-public-key - "rehydrated-payload:" rehydrated-payload "stored?:" stored?) - (if (= to current-public-key) - (fx/merge cofx - {:db (update db :push-notifications/stored dissoc to)} - (chat-model/navigate-to-chat from nav-opts)) - {:db (assoc-in db [:push-notifications/stored to] - (js/JSON.stringify (clj->js rehydrated-payload)))}))) - - ;; https://github.com/invertase/react-native-firebase/blob/adcbeac3d11585dd63922ef178ff6fd886d5aa9b/src/modules/notifications/Notification.js#L13 - (defn handle-notification-open-event [event] - (log/debug "handle-notification-open-event" event) - (let [decoded-payload (decode-notification-payload (.. event -notification))] - (when decoded-payload - (re-frame/dispatch - [:notifications/notification-open-event-received decoded-payload nil])))) - - (defn handle-initial-push-notification [] - "This method handles pending push notifications. - It is only needed to handle PNs from legacy clients - (which use firebase.notifications API)" - (log/debug "Handle initial push notifications") - (.. firebase - notifications - getInitialNotification - (then (fn [event] - (log/debug "getInitialNotification" event) - (when event - (handle-notification-open-event event)))))) - - (defn setup-token-refresh-callback [] - (.onTokenRefresh - (.messaging firebase) - (fn [x] - (log/debug "onTokenRefresh:" x) - (re-frame/dispatch [:notifications.callback/get-fcm-token-success x])))) - - (defn setup-on-notification-callback [] - "Calling onNotification is only needed so that we're able to receive PNs" - "while in foreground from older clients who are still relying" - "on the notifications API. Once that is no longer a consideration" - "we can remove this method" - (log/debug "calling onNotification") - (.onNotification - (.notifications firebase) - (fn [message-js] - (log/debug "handle-on-notification-callback called") - (let [decoded-payload (decode-notification-payload message-js)] - (log/debug "handle-on-notification-callback payload:" decoded-payload) - (when decoded-payload - (re-frame/dispatch - [:notifications.callback/on-message decoded-payload])))))) - - (defn setup-on-message-callback [] - (log/debug "calling onMessage") - (.onMessage - (.messaging firebase) - (fn [message-js] - (log/debug "handle-on-message-callback called") - (let [decoded-payload (decode-notification-payload message-js)] - (log/debug "handle-on-message-callback decoded-payload:" - decoded-payload) - (when decoded-payload - (re-frame/dispatch - [:notifications.callback/on-message decoded-payload])))))) - - (defn setup-on-notification-opened-callback [] - (log/debug "setup-on-notification-opened-callback") - (.. firebase - notifications - (onNotificationOpened handle-notification-open-event))) - - (defn init [] - (log/debug "Init notifications") - (setup-token-refresh-callback) - (setup-on-message-callback) - (setup-on-notification-callback) - (setup-on-notification-opened-callback) - (when platform/android? - (create-notification-channel)) - (handle-initial-push-notification))) - -(fx/defn process-stored-event - [{:keys [db] :as cofx} address stored-pns] - (when-not platform/desktop? - (if (multiaccounts.model/logged-in? cofx) - (let [current-multiaccount (:multiaccount db) - current-address (:address current-multiaccount) - current-multiaccount-pubkey (:public-key current-multiaccount) - stored-pn-val-json (or (get stored-pns current-multiaccount-pubkey) - (get stored-pns (anonymize-pubkey current-multiaccount-pubkey))) - stored-pn-payload (if (= (first stored-pn-val-json) \{) - (js->clj (js/JSON.parse stored-pn-val-json) :keywordize-keys true) - {:from stored-pn-val-json - :to current-multiaccount-pubkey}) - from (lookup-contact-pubkey-from-hash cofx (:from stored-pn-payload)) - to (lookup-contact-pubkey-from-hash cofx (:to stored-pn-payload))] - (when (and from - (not (contact.db/blocked? db from)) - (= address current-address)) - (log/debug "process-stored-event" "address" address "from" from "to" to) - (handle-push-notification-open cofx - stored-pn-payload - {:stored? true}))) - (log/error "process-stored-event called without user being logged in!")))) - -(re-frame/reg-fx - :notifications/display-notification - display-notification) - -(re-frame/reg-fx - :notifications/init - (fn [] - (cond - platform/android? - (init) - - platform/ios? - (utils/set-timeout init 100)))) - -(re-frame/reg-fx - :notifications/get-fcm-token - (fn [_] - (when platform/mobile? - (get-fcm-token)))) - -(re-frame/reg-fx - :notifications/request-notifications-permissions - (fn [_] - (request-permissions))) diff --git a/src/status_im/transport/message/core.cljs b/src/status_im/transport/message/core.cljs index 710254ad3f87..8de4e97bd9a9 100644 --- a/src/status_im/transport/message/core.cljs +++ b/src/status_im/transport/message/core.cljs @@ -144,9 +144,7 @@ (conj $ fcm-token) (filter identity $) (take (inc config/max-installations) $))] - (fx/merge cofx - (check-confirmations status chat-id message-id) - (models.message/send-push-notification chat-id message-id fcm-tokens status))))))) + (check-confirmations cofx status chat-id message-id)))))) (fx/defn update-envelopes-status [{:keys [db] :as cofx} envelope-hashes status] diff --git a/test/cljs/status_im/react_native/js_dependencies.cljs b/test/cljs/status_im/react_native/js_dependencies.cljs index 89a8d326ae23..a463895a1f9b 100644 --- a/test/cljs/status_im/react_native/js_dependencies.cljs +++ b/test/cljs/status_im/react_native/js_dependencies.cljs @@ -27,9 +27,6 @@ (def webview #js {:WebView #js {}}) (def status-keycard #js {:default #js {}}) -(defrecord Notification []) -(def react-native-firebase #js {:default #js {:notifications #js {:Notification Notification}}}) - (def desktop-linking #js {:addEventListener (fn [])}) (def desktop-shortcuts #js {:addEventListener (fn [])}) diff --git a/test/cljs/status_im/test/runner.cljs b/test/cljs/status_im/test/runner.cljs index 32df6e6de518..9af82b0f84f4 100644 --- a/test/cljs/status_im/test/runner.cljs +++ b/test/cljs/status_im/test/runner.cljs @@ -77,72 +77,72 @@ (set! goog.DEBUG false) -(doo-tests - 'status-im.test.browser.core - 'status-im.test.browser.permissions - 'status-im.test.chat.commands.core - 'status-im.test.chat.commands.impl.transactions - 'status-im.test.chat.commands.input - 'status-im.test.chat.db - 'status-im.test.chat.models - 'status-im.test.chat.models.input - 'status-im.test.chat.models.loading - 'status-im.test.chat.models.message - 'status-im.test.chat.models.message-content - 'status-im.test.chat.views.photos - 'status-im.test.transport.filters.core - 'status-im.test.contacts.db - 'status-im.test.contacts.device-info - 'status-im.test.data-store.chats - 'status-im.test.data-store.messages - 'status-im.test.data-store.contacts - 'status-im.test.ethereum.abi-spec - 'status-im.test.ethereum.core - 'status-im.test.ethereum.eip55 - 'status-im.test.ethereum.eip681 - 'status-im.test.ethereum.ens - 'status-im.test.ethereum.mnemonic - 'status-im.test.ethereum.stateofus - 'status-im.test.fleet.core - 'status-im.test.group-chats.core - 'status-im.test.hardwallet.core - 'status-im.test.i18n - 'status-im.test.mailserver.core - 'status-im.test.mailserver.topics - 'status-im.test.models.bootnode - 'status-im.test.models.contact - 'status-im.test.multiaccounts.model - 'status-im.test.multiaccounts.recover.core - 'status-im.test.multiaccounts.update.core - 'status-im.test.network.core - 'status-im.test.pairing.core - 'status-im.test.search.core - 'status-im.test.sign-in.flow - 'status-im.test.stickers.core - 'status-im.test.signing.core - 'status-im.test.signing.gas - 'status-im.test.transport.core - 'status-im.test.transport.utils - 'status-im.test.tribute-to-talk.core - 'status-im.test.tribute-to-talk.db - 'status-im.test.tribute-to-talk.whitelist - 'status-im.test.ui.screens.add-new.models - 'status-im.test.ui.screens.currency-settings.models - 'status-im.test.ui.screens.wallet.db - 'status-im.test.utils.async - 'status-im.test.utils.clocks - 'status-im.test.utils.contenthash - 'status-im.test.utils.datetime - 'status-im.test.utils.fx - 'status-im.test.utils.http - 'status-im.test.utils.money - 'status-im.test.utils.prices - 'status-im.test.utils.random - 'status-im.test.utils.security - 'status-im.test.utils.signing-phrase.core - 'status-im.test.utils.transducers - 'status-im.test.utils.universal-links.core - 'status-im.test.utils.utils - 'status-im.test.wallet.subs - 'status-im.test.wallet.transactions - 'status-im.test.wallet.transactions.subs) +#_(doo-tests + 'status-im.test.browser.core + 'status-im.test.browser.permissions + 'status-im.test.chat.commands.core + 'status-im.test.chat.commands.impl.transactions + 'status-im.test.chat.commands.input + 'status-im.test.chat.db + 'status-im.test.chat.models + 'status-im.test.chat.models.input + 'status-im.test.chat.models.loading + 'status-im.test.chat.models.message + 'status-im.test.chat.models.message-content + 'status-im.test.chat.views.photos + 'status-im.test.transport.filters.core + 'status-im.test.contacts.db + 'status-im.test.contacts.device-info + 'status-im.test.data-store.chats + 'status-im.test.data-store.messages + 'status-im.test.data-store.contacts + 'status-im.test.ethereum.abi-spec + 'status-im.test.ethereum.core + 'status-im.test.ethereum.eip55 + 'status-im.test.ethereum.eip681 + 'status-im.test.ethereum.ens + 'status-im.test.ethereum.mnemonic + 'status-im.test.ethereum.stateofus + 'status-im.test.fleet.core + 'status-im.test.group-chats.core + 'status-im.test.hardwallet.core + 'status-im.test.i18n + 'status-im.test.mailserver.core + 'status-im.test.mailserver.topics + 'status-im.test.models.bootnode + 'status-im.test.models.contact + 'status-im.test.multiaccounts.model + 'status-im.test.multiaccounts.recover.core + 'status-im.test.multiaccounts.update.core + 'status-im.test.network.core + 'status-im.test.pairing.core + 'status-im.test.search.core + 'status-im.test.sign-in.flow + 'status-im.test.stickers.core + 'status-im.test.signing.core + 'status-im.test.signing.gas + 'status-im.test.transport.core + 'status-im.test.transport.utils + 'status-im.test.tribute-to-talk.core + 'status-im.test.tribute-to-talk.db + 'status-im.test.tribute-to-talk.whitelist + 'status-im.test.ui.screens.add-new.models + 'status-im.test.ui.screens.currency-settings.models + 'status-im.test.ui.screens.wallet.db + 'status-im.test.utils.async + 'status-im.test.utils.clocks + 'status-im.test.utils.contenthash + 'status-im.test.utils.datetime + 'status-im.test.utils.fx + 'status-im.test.utils.http + 'status-im.test.utils.money + 'status-im.test.utils.prices + 'status-im.test.utils.random + 'status-im.test.utils.security + 'status-im.test.utils.signing-phrase.core + 'status-im.test.utils.transducers + 'status-im.test.utils.universal-links.core + 'status-im.test.utils.utils + 'status-im.test.wallet.subs + 'status-im.test.wallet.transactions + 'status-im.test.wallet.transactions.subs)