mirror of
https://github.com/status-im/status-react.git
synced 2025-02-25 17:16:03 +00:00
remove firebase
Signed-off-by: yenda <eric@status.im>
This commit is contained in:
parent
0856ae12e0
commit
7bb45fdd8f
@ -314,10 +314,6 @@ dependencies {
|
|||||||
implementation project(':react-native-status')
|
implementation project(':react-native-status')
|
||||||
implementation project(':react-native-webview-bridge')
|
implementation project(':react-native-webview-bridge')
|
||||||
implementation project(':react-native-status-keycard')
|
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.github.status-im:function:0.0.1'
|
||||||
implementation 'com.facebook.fresco:animated-gif:1.10.0'
|
implementation 'com.facebook.fresco:animated-gif:1.10.0'
|
||||||
}
|
}
|
||||||
@ -342,8 +338,4 @@ task hemroidBuild(type: Exec) {
|
|||||||
|
|
||||||
preBuild.dependsOn hemroidBuild
|
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)
|
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
||||||
|
@ -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"
|
|
||||||
}
|
|
4
android/app/proguard-rules.pro
vendored
4
android/app/proguard-rules.pro
vendored
@ -61,7 +61,3 @@
|
|||||||
-dontwarn java.nio.file.*
|
-dontwarn java.nio.file.*
|
||||||
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
||||||
-dontwarn okio.**
|
-dontwarn okio.**
|
||||||
|
|
||||||
# Firebase
|
|
||||||
-keep class io.invertase.firebase.** { *; }
|
|
||||||
-dontwarn io.invertase.firebase.**
|
|
||||||
|
@ -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"
|
|
||||||
}
|
|
@ -33,16 +33,6 @@
|
|||||||
android:name=".MainApplication"
|
android:name=".MainApplication"
|
||||||
android:largeHeap="true"
|
android:largeHeap="true"
|
||||||
android:usesCleartextTraffic="true">
|
android:usesCleartextTraffic="true">
|
||||||
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
|
|
||||||
<meta-data
|
|
||||||
android:name="com.google.firebase.messaging.default_notification_icon"
|
|
||||||
android:resource="@drawable/ic_stat_status_notification" />
|
|
||||||
|
|
||||||
<meta-data
|
|
||||||
android:name="com.google.firebase.messaging.default_notification_channel_id"
|
|
||||||
android:value="@string/notification_channel_id" />
|
|
||||||
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
@ -78,12 +68,6 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
|
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
|
||||||
<service android:name="io.invertase.firebase.messaging.RNFirebaseMessagingService">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
<service android:name="io.invertase.firebase.messaging.RNFirebaseBackgroundMessagingService" />
|
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.core.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="${applicationId}.provider"
|
android:authorities="${applicationId}.provider"
|
||||||
|
@ -17,8 +17,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import im.status.ethereum.keycard.RNStatusKeycardPackage;
|
import im.status.ethereum.keycard.RNStatusKeycardPackage;
|
||||||
import im.status.ethereum.module.StatusPackage;
|
import im.status.ethereum.module.StatusPackage;
|
||||||
import io.invertase.firebase.messaging.RNFirebaseMessagingPackage;
|
|
||||||
import io.invertase.firebase.notifications.RNFirebaseNotificationsPackage;
|
|
||||||
|
|
||||||
public class MainApplication extends MultiDexApplication implements ReactApplication {
|
public class MainApplication extends MultiDexApplication implements ReactApplication {
|
||||||
|
|
||||||
@ -33,8 +31,6 @@ public class MainApplication extends MultiDexApplication implements ReactApplica
|
|||||||
StatusPackage statusPackage = new StatusPackage(RootUtil.isDeviceRooted());
|
StatusPackage statusPackage = new StatusPackage(RootUtil.isDeviceRooted());
|
||||||
List<ReactPackage> packages = new PackageList(this).getPackages();
|
List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||||
packages.add(statusPackage);
|
packages.add(statusPackage);
|
||||||
packages.add(new RNFirebaseMessagingPackage());
|
|
||||||
packages.add(new RNFirebaseNotificationsPackage());
|
|
||||||
packages.add(new ReactNativeDialogsPackage());
|
packages.add(new ReactNativeDialogsPackage());
|
||||||
packages.add(new RNStatusKeycardPackage());
|
packages.add(new RNStatusKeycardPackage());
|
||||||
packages.add(new WebViewBridgePackage(BuildConfig.DEBUG_WEBVIEW == "1"));
|
packages.add(new WebViewBridgePackage(BuildConfig.DEBUG_WEBVIEW == "1"));
|
||||||
|
@ -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"
|
|
||||||
}
|
|
@ -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"
|
|
||||||
}
|
|
@ -10,8 +10,6 @@ ext {
|
|||||||
targetSdkVersion = Integer.valueOf(project.targetSdkVersion)
|
targetSdkVersion = Integer.valueOf(project.targetSdkVersion)
|
||||||
supportLibVersion = project.supportLibVersion
|
supportLibVersion = project.supportLibVersion
|
||||||
gradlePluginVersion = project.gradlePluginVersion
|
gradlePluginVersion = project.gradlePluginVersion
|
||||||
googlePlayServicesVersion = project.googlePlayServicesVersion
|
|
||||||
googlePlayServicesVisionVersion = project.googlePlayServicesVisionVersion
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
@ -22,7 +20,6 @@ buildscript {
|
|||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath "com.android.tools.build:gradle:${project.ext.gradlePluginVersion}"
|
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'
|
classpath 'de.undercouch:gradle-download-task:3.1.2'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
@ -27,8 +27,6 @@ targetSdkVersion=28
|
|||||||
buildToolsVersion=28.0.3
|
buildToolsVersion=28.0.3
|
||||||
supportLibVersion=28.0.0
|
supportLibVersion=28.0.0
|
||||||
gradlePluginVersion=3.4.1
|
gradlePluginVersion=3.4.1
|
||||||
googlePlayServicesVersion=16.0.1
|
|
||||||
googlePlayServicesVisionVersion=17.0.2
|
|
||||||
|
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
android.enableJetifier=true
|
android.enableJetifier=true
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
"react-native-image-crop-picker"
|
"react-native-image-crop-picker"
|
||||||
"react-native-svg"
|
"react-native-svg"
|
||||||
"react-native-webview-bridge"
|
"react-native-webview-bridge"
|
||||||
"react-native-firebase"
|
|
||||||
"react-native-touch-id"
|
"react-native-touch-id"
|
||||||
"web3-utils"
|
"web3-utils"
|
||||||
"chance"
|
"chance"
|
||||||
|
@ -141,7 +141,6 @@ var TopLevel = {
|
|||||||
"generateAlias": function() {},
|
"generateAlias": function() {},
|
||||||
"fallbacks" : function () {},
|
"fallbacks" : function () {},
|
||||||
"fetch" : function () {},
|
"fetch" : function () {},
|
||||||
"firebase" : function () {},
|
|
||||||
"floor" : function () {},
|
"floor" : function () {},
|
||||||
"focus" : function () {},
|
"focus" : function () {},
|
||||||
"format" : function () {},
|
"format" : function () {},
|
||||||
@ -428,7 +427,6 @@ var TopLevel = {
|
|||||||
"scrollToIndex" : function () {},
|
"scrollToIndex" : function () {},
|
||||||
"section" : function () {},
|
"section" : function () {},
|
||||||
"selection" : function () {},
|
"selection" : function () {},
|
||||||
"sendDataNotification" : function () {},
|
|
||||||
"sendDirectMessage" : function () {},
|
"sendDirectMessage" : function () {},
|
||||||
"sendLogs" : function () {},
|
"sendLogs" : function () {},
|
||||||
"sendPairingMessage" : function () {},
|
"sendPairingMessage" : function () {},
|
||||||
|
@ -5,13 +5,12 @@
|
|||||||
[status-im.ui.screens.wallet.add-new.views :as add-new]
|
[status-im.ui.screens.wallet.add-new.views :as add-new]
|
||||||
[fiddle.frame :as frame]))
|
[fiddle.frame :as frame]))
|
||||||
|
|
||||||
;:generate-key
|
;;:generate-key
|
||||||
;:choose-key
|
;;:choose-key
|
||||||
;:select-key-storage
|
;;:select-key-storage
|
||||||
;:create-code
|
;;:create-code
|
||||||
;:confirm-code
|
;;:confirm-code
|
||||||
;:enable-fingerprint
|
;;:enable-fingerprint
|
||||||
;:enable-notifications
|
|
||||||
(re-frame/reg-sub :intro-wizard (fn [_] {:step :generate-key :generating-keys? false}))
|
(re-frame/reg-sub :intro-wizard (fn [_] {:step :generate-key :generating-keys? false}))
|
||||||
|
|
||||||
(defn screens []
|
(defn screens []
|
||||||
|
@ -26,9 +26,6 @@
|
|||||||
(def svg (fn [] #js {:default #js {}}))
|
(def svg (fn [] #js {:default #js {}}))
|
||||||
(def status-keycard (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-linking #js {:addEventListener (fn [])})
|
||||||
(def desktop-shortcuts #js {:addEventListener (fn [])})
|
(def desktop-shortcuts #js {:addEventListener (fn [])})
|
||||||
|
|
||||||
|
Binary file not shown.
@ -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 <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#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
|
|
@ -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 <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#if TARGET_OS_IOS
|
|
||||||
// TODO: Remove UIKit import on next breaking change release
|
|
||||||
#import <UIKit/UIKit.h>
|
|
||||||
#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<NSString *, FIRApp *> *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<NSString *, FIRApp *> *)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
|
|
@ -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 <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#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
|
|
@ -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 <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
// 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
|
|
@ -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);
|
|
@ -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 <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#import "FIRCoreSwiftNameSupport.h"
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides constant fields of Google APIs.
|
|
||||||
*/
|
|
||||||
FIR_SWIFT_NAME(FirebaseOptions)
|
|
||||||
@interface FIROptions : NSObject <NSCopying>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
@ -1,6 +0,0 @@
|
|||||||
#import "FIRAnalyticsConfiguration.h"
|
|
||||||
#import "FIRApp.h"
|
|
||||||
#import "FIRConfiguration.h"
|
|
||||||
#import "FIRCoreSwiftNameSupport.h"
|
|
||||||
#import "FIRLoggerLevel.h"
|
|
||||||
#import "FIROptions.h"
|
|
@ -1,5 +0,0 @@
|
|||||||
framework module FirebaseCore {
|
|
||||||
umbrella header "FirebaseCore.h"
|
|
||||||
export *
|
|
||||||
module * { export *}
|
|
||||||
link "z"}
|
|
Binary file not shown.
@ -1,4 +0,0 @@
|
|||||||
framework module FirebaseCoreDiagnostics {
|
|
||||||
export *
|
|
||||||
module * { export *}
|
|
||||||
link "z"}
|
|
Binary file not shown.
@ -1,281 +0,0 @@
|
|||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
// 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
|
|
@ -1 +0,0 @@
|
|||||||
#import "FIRInstanceID.h"
|
|
@ -1,5 +0,0 @@
|
|||||||
framework module FirebaseInstanceID {
|
|
||||||
umbrella header "FirebaseInstanceID.h"
|
|
||||||
export *
|
|
||||||
module * { export *}
|
|
||||||
link "z"}
|
|
Binary file not shown.
@ -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 <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
|
|
||||||
// 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 <NSObject>
|
|
||||||
|
|
||||||
/// 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<FIRMessagingDelegate> delegate;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delegate to handle remote data messages received via FCM for devices running iOS 10 or above.
|
|
||||||
*/
|
|
||||||
@property(nonatomic, weak, nullable) id<FIRMessagingDelegate> 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
|
|
@ -1 +0,0 @@
|
|||||||
#import "FIRMessaging.h"
|
|
@ -1,6 +0,0 @@
|
|||||||
framework module FirebaseMessaging {
|
|
||||||
umbrella header "FirebaseMessaging.h"
|
|
||||||
export *
|
|
||||||
module * { export *}
|
|
||||||
link "sqlite3"
|
|
||||||
link "z"}
|
|
Binary file not shown.
@ -1,42 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>AD_UNIT_ID_FOR_BANNER_TEST</key>
|
|
||||||
<string>ca-app-pub-3940256099942544/2934735716</string>
|
|
||||||
<key>AD_UNIT_ID_FOR_INTERSTITIAL_TEST</key>
|
|
||||||
<string>ca-app-pub-3940256099942544/4411468910</string>
|
|
||||||
<key>CLIENT_ID</key>
|
|
||||||
<string>854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com</string>
|
|
||||||
<key>REVERSED_CLIENT_ID</key>
|
|
||||||
<string>com.googleusercontent.apps.854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o</string>
|
|
||||||
<key>API_KEY</key>
|
|
||||||
<string>AIzaSyCwlaE5cnsT4rmGyOFxE39FlPVyKQ_2Mdo</string>
|
|
||||||
<key>GCM_SENDER_ID</key>
|
|
||||||
<string>854811651919</string>
|
|
||||||
<key>PLIST_VERSION</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>BUNDLE_ID</key>
|
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_ID_SUFFIX)</string>
|
|
||||||
<key>PROJECT_ID</key>
|
|
||||||
<string>status-react-app</string>
|
|
||||||
<key>STORAGE_BUCKET</key>
|
|
||||||
<string>status-react-app.appspot.com</string>
|
|
||||||
<key>IS_ADS_ENABLED</key>
|
|
||||||
<true/>
|
|
||||||
<key>IS_ANALYTICS_ENABLED</key>
|
|
||||||
<false/>
|
|
||||||
<key>IS_APPINVITE_ENABLED</key>
|
|
||||||
<false/>
|
|
||||||
<key>IS_GCM_ENABLED</key>
|
|
||||||
<true/>
|
|
||||||
<key>FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED</key>
|
|
||||||
<true/>
|
|
||||||
<key>IS_SIGNIN_ENABLED</key>
|
|
||||||
<true/>
|
|
||||||
<key>GOOGLE_APP_ID</key>
|
|
||||||
<string>1:854811651919:ios:11ee7444ded8a00a</string>
|
|
||||||
<key>DATABASE_URL</key>
|
|
||||||
<string>https://status-react-app.firebaseio.com</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@ -9,9 +9,6 @@ target 'StatusIm' do
|
|||||||
# use_frameworks!
|
# use_frameworks!
|
||||||
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
||||||
# Pods for StatusIm
|
# Pods for StatusIm
|
||||||
pod 'Firebase/Core', '~> 5.5'
|
|
||||||
pod 'Firebase/Messaging', '~> 5.5'
|
|
||||||
|
|
||||||
pod 'React', :path => '../node_modules/react-native/'
|
pod 'React', :path => '../node_modules/react-native/'
|
||||||
pod 'React-Core', :path => '../node_modules/react-native/React'
|
pod 'React-Core', :path => '../node_modules/react-native/React'
|
||||||
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
|
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
|
||||||
|
304
ios/Podfile.lock
304
ios/Podfile.lock
@ -1,42 +1,6 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- boost-for-react-native (1.63.0)
|
- boost-for-react-native (1.63.0)
|
||||||
- Crashlytics (3.14.0):
|
|
||||||
- Fabric (~> 1.10.2)
|
|
||||||
- DoubleConversion (1.1.6)
|
- 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):
|
- Folly (2018.10.22.00):
|
||||||
- boost-for-react-native
|
- boost-for-react-native
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
@ -47,96 +11,67 @@ PODS:
|
|||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- glog
|
- glog
|
||||||
- glog (0.3.5)
|
- 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
|
|
||||||
- GoogleUtilities/Network
|
|
||||||
- GoogleUtilities/Environment (5.8.0)
|
|
||||||
- GoogleUtilities/Logger (5.8.0):
|
|
||||||
- GoogleUtilities/Environment
|
|
||||||
- GoogleUtilities/MethodSwizzler (5.8.0):
|
|
||||||
- GoogleUtilities/Logger
|
|
||||||
- GoogleUtilities/Network (5.8.0):
|
|
||||||
- GoogleUtilities/Logger
|
|
||||||
- "GoogleUtilities/NSData+zlib"
|
|
||||||
- GoogleUtilities/Reachability
|
|
||||||
- "GoogleUtilities/NSData+zlib (5.8.0)"
|
|
||||||
- GoogleUtilities/Reachability (5.8.0):
|
|
||||||
- GoogleUtilities/Logger
|
|
||||||
- GoogleUtilities/UserDefaults (5.8.0):
|
|
||||||
- GoogleUtilities/Logger
|
|
||||||
- nanopb (0.3.901):
|
|
||||||
- nanopb/decode (= 0.3.901)
|
|
||||||
- nanopb/encode (= 0.3.901)
|
|
||||||
- nanopb/decode (0.3.901)
|
|
||||||
- nanopb/encode (0.3.901)
|
|
||||||
- QBImagePickerController (3.4.0)
|
- QBImagePickerController (3.4.0)
|
||||||
- React (0.60.6):
|
- React (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-DevSupport (= 0.60.6)
|
- React-DevSupport (= 0.60.5)
|
||||||
- React-RCTActionSheet (= 0.60.6)
|
- React-RCTActionSheet (= 0.60.5)
|
||||||
- React-RCTAnimation (= 0.60.6)
|
- React-RCTAnimation (= 0.60.5)
|
||||||
- React-RCTBlob (= 0.60.6)
|
- React-RCTBlob (= 0.60.5)
|
||||||
- React-RCTImage (= 0.60.6)
|
- React-RCTImage (= 0.60.5)
|
||||||
- React-RCTLinking (= 0.60.6)
|
- React-RCTLinking (= 0.60.5)
|
||||||
- React-RCTNetwork (= 0.60.6)
|
- React-RCTNetwork (= 0.60.5)
|
||||||
- React-RCTSettings (= 0.60.6)
|
- React-RCTSettings (= 0.60.5)
|
||||||
- React-RCTText (= 0.60.6)
|
- React-RCTText (= 0.60.5)
|
||||||
- React-RCTVibration (= 0.60.6)
|
- React-RCTVibration (= 0.60.5)
|
||||||
- React-RCTWebSocket (= 0.60.6)
|
- React-RCTWebSocket (= 0.60.5)
|
||||||
- React-Core (0.60.6):
|
- React-Core (0.60.5):
|
||||||
- Folly (= 2018.10.22.00)
|
- Folly (= 2018.10.22.00)
|
||||||
- React-cxxreact (= 0.60.6)
|
- React-cxxreact (= 0.60.5)
|
||||||
- React-jsiexecutor (= 0.60.6)
|
- React-jsiexecutor (= 0.60.5)
|
||||||
- yoga (= 0.60.6.React)
|
- yoga (= 0.60.5.React)
|
||||||
- React-cxxreact (0.60.6):
|
- React-cxxreact (0.60.5):
|
||||||
- boost-for-react-native (= 1.63.0)
|
- boost-for-react-native (= 1.63.0)
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- Folly (= 2018.10.22.00)
|
- Folly (= 2018.10.22.00)
|
||||||
- glog
|
- glog
|
||||||
- React-jsinspector (= 0.60.6)
|
- React-jsinspector (= 0.60.5)
|
||||||
- React-DevSupport (0.60.6):
|
- React-DevSupport (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTWebSocket (= 0.60.6)
|
- React-RCTWebSocket (= 0.60.5)
|
||||||
- React-jsi (0.60.6):
|
- React-jsi (0.60.5):
|
||||||
- boost-for-react-native (= 1.63.0)
|
- boost-for-react-native (= 1.63.0)
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- Folly (= 2018.10.22.00)
|
- Folly (= 2018.10.22.00)
|
||||||
- glog
|
- glog
|
||||||
- React-jsi/Default (= 0.60.6)
|
- React-jsi/Default (= 0.60.5)
|
||||||
- React-jsi/Default (0.60.6):
|
- React-jsi/Default (0.60.5):
|
||||||
- boost-for-react-native (= 1.63.0)
|
- boost-for-react-native (= 1.63.0)
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- Folly (= 2018.10.22.00)
|
- Folly (= 2018.10.22.00)
|
||||||
- glog
|
- glog
|
||||||
- React-jsiexecutor (0.60.6):
|
- React-jsiexecutor (0.60.5):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- Folly (= 2018.10.22.00)
|
- Folly (= 2018.10.22.00)
|
||||||
- glog
|
- glog
|
||||||
- React-cxxreact (= 0.60.6)
|
- React-cxxreact (= 0.60.5)
|
||||||
- React-jsi (= 0.60.6)
|
- React-jsi (= 0.60.5)
|
||||||
- React-jsinspector (0.60.6)
|
- React-jsinspector (0.60.5)
|
||||||
- react-native-background-timer (2.1.1):
|
- react-native-background-timer (2.1.1):
|
||||||
- React
|
- React
|
||||||
- react-native-camera (3.6.0):
|
- react-native-camera (3.3.3):
|
||||||
- React
|
- React
|
||||||
- react-native-camera/RCT (= 3.6.0)
|
- react-native-camera/RCT (= 3.3.3)
|
||||||
- react-native-camera/RN (= 3.6.0)
|
- react-native-camera/RN (= 3.3.3)
|
||||||
- react-native-camera/RCT (3.6.0):
|
- react-native-camera/RCT (3.3.3):
|
||||||
- React
|
- React
|
||||||
- react-native-camera/RN (3.6.0):
|
- react-native-camera/RN (3.3.3):
|
||||||
- React
|
- React
|
||||||
- react-native-image-resizer (1.0.0):
|
- react-native-image-resizer (1.0.0):
|
||||||
- React
|
- React
|
||||||
- react-native-mail (4.0.0):
|
- react-native-mail (4.0.0):
|
||||||
- React
|
- React
|
||||||
- react-native-netinfo (4.4.0):
|
- react-native-netinfo (4.2.2):
|
||||||
- React
|
- React
|
||||||
- react-native-shake (3.4.0):
|
- react-native-shake (3.4.0):
|
||||||
- React
|
- React
|
||||||
@ -146,43 +81,34 @@ PODS:
|
|||||||
- React
|
- React
|
||||||
- react-native-webview-bridge (0.33.17):
|
- react-native-webview-bridge (0.33.17):
|
||||||
- React
|
- React
|
||||||
- React-RCTActionSheet (0.60.6):
|
- React-RCTActionSheet (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTAnimation (0.60.6):
|
- React-RCTAnimation (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTBlob (0.60.6):
|
- React-RCTBlob (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTNetwork (= 0.60.6)
|
- React-RCTNetwork (= 0.60.5)
|
||||||
- React-RCTWebSocket (= 0.60.6)
|
- React-RCTWebSocket (= 0.60.5)
|
||||||
- React-RCTImage (0.60.6):
|
- React-RCTImage (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTNetwork (= 0.60.6)
|
- React-RCTNetwork (= 0.60.5)
|
||||||
- React-RCTLinking (0.60.6):
|
- React-RCTLinking (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTNetwork (0.60.6):
|
- React-RCTNetwork (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTSettings (0.60.6):
|
- React-RCTSettings (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTText (0.60.6):
|
- React-RCTText (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTVibration (0.60.6):
|
- React-RCTVibration (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- React-RCTWebSocket (0.60.6):
|
- React-RCTWebSocket (0.60.5):
|
||||||
- React-Core (= 0.60.6)
|
- React-Core (= 0.60.5)
|
||||||
- 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):
|
- RNFS (2.14.1):
|
||||||
- React
|
- React
|
||||||
- RNGestureHandler (1.4.1):
|
- RNGestureHandler (1.3.0):
|
||||||
- React
|
- React
|
||||||
- RNImageCropPicker (0.25.3):
|
- RNImageCropPicker (0.25.0):
|
||||||
- QBImagePickerController
|
- QBImagePickerController
|
||||||
- React-Core
|
- React-Core
|
||||||
- React-RCTImage
|
- React-RCTImage
|
||||||
@ -191,9 +117,9 @@ PODS:
|
|||||||
- React
|
- React
|
||||||
- RNLanguages (3.0.2):
|
- RNLanguages (3.0.2):
|
||||||
- React
|
- React
|
||||||
- RNScreens (1.0.0-alpha.23):
|
- RNScreens (1.0.0-alpha.22):
|
||||||
- React
|
- React
|
||||||
- RNSVG (9.11.1):
|
- RNSVG (9.8.4):
|
||||||
- React
|
- React
|
||||||
- RSKImageCropper (2.2.3)
|
- RSKImageCropper (2.2.3)
|
||||||
- SQLCipher (3.4.2):
|
- SQLCipher (3.4.2):
|
||||||
@ -204,12 +130,10 @@ PODS:
|
|||||||
- SSZipArchive (2.2.2)
|
- SSZipArchive (2.2.2)
|
||||||
- TouchID (4.4.1):
|
- TouchID (4.4.1):
|
||||||
- React
|
- React
|
||||||
- yoga (0.60.6.React)
|
- yoga (0.60.5.React)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
- 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`)
|
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
|
||||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||||
- React (from `../node_modules/react-native/`)
|
- React (from `../node_modules/react-native/`)
|
||||||
@ -238,7 +162,6 @@ DEPENDENCIES:
|
|||||||
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
|
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
|
||||||
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
|
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
|
||||||
- React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`)
|
- React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`)
|
||||||
- RNFirebase (from `../node_modules/react-native-firebase/ios`)
|
|
||||||
- RNFS (from `../node_modules/react-native-fs`)
|
- RNFS (from `../node_modules/react-native-fs`)
|
||||||
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
|
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
|
||||||
- RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
|
- RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
|
||||||
@ -252,19 +175,8 @@ DEPENDENCIES:
|
|||||||
- yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
- yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
https://github.com/cocoapods/specs.git:
|
https://github.com/CocoaPods/Specs.git:
|
||||||
- boost-for-react-native
|
- boost-for-react-native
|
||||||
- Crashlytics
|
|
||||||
- Fabric
|
|
||||||
- Firebase
|
|
||||||
- FirebaseAnalytics
|
|
||||||
- FirebaseAnalyticsInterop
|
|
||||||
- FirebaseCore
|
|
||||||
- FirebaseInstanceID
|
|
||||||
- FirebaseMessaging
|
|
||||||
- GoogleAppMeasurement
|
|
||||||
- GoogleUtilities
|
|
||||||
- nanopb
|
|
||||||
- QBImagePickerController
|
- QBImagePickerController
|
||||||
- RSKImageCropper
|
- RSKImageCropper
|
||||||
- SQLCipher
|
- SQLCipher
|
||||||
@ -329,8 +241,6 @@ EXTERNAL SOURCES:
|
|||||||
:path: "../node_modules/react-native/Libraries/Vibration"
|
:path: "../node_modules/react-native/Libraries/Vibration"
|
||||||
React-RCTWebSocket:
|
React-RCTWebSocket:
|
||||||
:path: "../node_modules/react-native/Libraries/WebSocket"
|
:path: "../node_modules/react-native/Libraries/WebSocket"
|
||||||
RNFirebase:
|
|
||||||
:path: "../node_modules/react-native-firebase/ios"
|
|
||||||
RNFS:
|
RNFS:
|
||||||
:path: "../node_modules/react-native-fs"
|
:path: "../node_modules/react-native-fs"
|
||||||
RNGestureHandler:
|
RNGestureHandler:
|
||||||
@ -352,61 +262,49 @@ EXTERNAL SOURCES:
|
|||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||||
Crashlytics: 540b7e5f5da5a042647227a5e3ac51d85eed06df
|
|
||||||
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||||
Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74
|
|
||||||
Firebase: 0c8cf33f266410c61ab3e2265cfa412200351d9c
|
|
||||||
FirebaseAnalytics: ece1aa57a4f43c64d53a648b5a5e05151aae947b
|
|
||||||
FirebaseAnalyticsInterop: d48b6ab67bcf016a05e55b71fc39c61c0cb6b7f3
|
|
||||||
FirebaseCore: f1a9a8be1aee4bf71a2fc0f4096df6788bdfda61
|
|
||||||
FirebaseInstanceID: a122b0c258720cf250551bb2bedf48c699f80d90
|
|
||||||
FirebaseMessaging: 4235f949ce1c4e827aeb19705ba5c53f9b85aa10
|
|
||||||
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||||
glog: 7b113d8578aa09b57aa5945dd002bc37d0ab4fb5
|
glog: 7b113d8578aa09b57aa5945dd002bc37d0ab4fb5
|
||||||
GoogleAppMeasurement: ffe513e90551844a739e7bcbb1d2aca1c28a4338
|
|
||||||
GoogleUtilities: 04fce34bcd5620c1ee76fb79172105c74a4df335
|
|
||||||
nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48
|
|
||||||
QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
|
QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
|
||||||
React: c438ccc7e14e86d4702bb92d7e262f549ffaa995
|
React: 53c53c4d99097af47cf60594b8706b4e3321e722
|
||||||
React-Core: c76495f5c14e73c0f803b89c3fa83f804da61bd6
|
React-Core: ba421f6b4f4cbe2fb17c0b6fc675f87622e78a64
|
||||||
React-cxxreact: f64bc64cf4682d6ea5a064f6017da72482858682
|
React-cxxreact: 8384287780c4999351ad9b6e7a149d9ed10a2395
|
||||||
React-DevSupport: 30336bca00f72681eac995d21a31b963e7d5cfec
|
React-DevSupport: 197fb409737cff2c4f9986e77c220d7452cb9f9f
|
||||||
React-jsi: 40f467ff088c811c6630acccb4aea57ea7ccb1b5
|
React-jsi: 4d8c9efb6312a9725b18d6fc818ffc103f60fec2
|
||||||
React-jsiexecutor: e4b4717060a0cd8d0270323b5655a68c95432efd
|
React-jsiexecutor: 90ad2f9db09513fc763bc757fdc3c4ff8bde2a30
|
||||||
React-jsinspector: 044105eea064aec81adc5e4d777a8f6589e7d094
|
React-jsinspector: e08662d1bf5b129a3d556eb9ea343a3f40353ae4
|
||||||
react-native-background-timer: bb7a98c8e97fc7c290de2d423dd09ddb73dcbcbb
|
react-native-background-timer: 1b6e6b4e10f1b74c367a1fdc3c72b67c619b222b
|
||||||
react-native-camera: 9c50d7def800895e7991ccda6203929553ceec9c
|
react-native-camera: 3050fa68d12e6abdc0bfdaf0e80f4acd45268454
|
||||||
react-native-image-resizer: 04a3409e7d4ad646c4468671c69dec490def139c
|
react-native-image-resizer: 4516052af6ae0248caf4ccf356caecefe60072d7
|
||||||
react-native-mail: ff4aba592530d80ac96eea6c1ca03114b84d630a
|
react-native-mail: 7e37dfbe93ff0d4c7df346b738854dbed533e86f
|
||||||
react-native-netinfo: a91b5cf92ed3ada997cfe2bf067633386eb19fd8
|
react-native-netinfo: 2bb2e5094edcfecfb340a85053608526cb20f185
|
||||||
react-native-shake: e9d1368d6f0ec7e48c8afc91e379b81006b9ba42
|
react-native-shake: de052eaa3eadc4a326b8ddd7ac80c06e8d84528c
|
||||||
react-native-splash-screen: a49be22f0f6648b8416f3bd28258645eeaa5b42b
|
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
||||||
react-native-webview: ad9581723f4d401c22cb3a371811d4dc9310df56
|
react-native-webview: 0658813bcc4b6c22f3cbb035a2227aa896a8cbc0
|
||||||
react-native-webview-bridge: c712d20bbe7e2a2fabdd5d8ccdfec5e704455763
|
react-native-webview-bridge: 3023f6b0e84cdf8e4a96511d2b04e73b038f95f0
|
||||||
React-RCTActionSheet: 08864c609d9f959abf3d51fdd93f8bc6e91f21eb
|
React-RCTActionSheet: b0f1ea83f4bf75fb966eae9bfc47b78c8d3efd90
|
||||||
React-RCTAnimation: a4547e9fac2627ded3df9d302f5558b475faf819
|
React-RCTAnimation: 359ba1b5690b1e87cc173558a78e82d35919333e
|
||||||
React-RCTBlob: 62d5c263a2adb8f7a2cafd601beba18a2d99cbbb
|
React-RCTBlob: 5e2b55f76e9a1c7ae52b826923502ddc3238df24
|
||||||
React-RCTImage: 963859de2b05d2037d1b7842cdbddc8d7f3a2f3b
|
React-RCTImage: f5f1c50922164e89bdda67bcd0153952a5cfe719
|
||||||
React-RCTLinking: 5998a7db9a6156ed112b006d01f76b2d1cc83d98
|
React-RCTLinking: d0ecbd791e9ddddc41fa1f66b0255de90e8ee1e9
|
||||||
React-RCTNetwork: 0b676e8194f3f893db813007d37e37e9820173a3
|
React-RCTNetwork: e26946300b0ab7bb6c4a6348090e93fa21f33a9d
|
||||||
React-RCTSettings: fdd7606f1b6050eced69fc6046d5db6768aefd57
|
React-RCTSettings: d0d37cb521b7470c998595a44f05847777cc3f42
|
||||||
React-RCTText: 36c0532feb5521cb295ba80e7e44b70cf1c36fc7
|
React-RCTText: b074d89033583d4f2eb5faf7ea2db3a13c7553a2
|
||||||
React-RCTVibration: dabb8d59bb47e1d9124b3f77bfdc1b33d42b0a74
|
React-RCTVibration: 2105b2e0e2b66a6408fc69a46c8a7fb5b2fdade0
|
||||||
React-RCTWebSocket: 2e7f6e98fd6d2bf447d145e499c3a235cc13e350
|
React-RCTWebSocket: cd932a16b7214898b6b7f788c8bddb3637246ac4
|
||||||
RNFirebase: ca408d6bee0ca9383bd0cfe84f40b01370b8ad4d
|
RNFS: a8fbe7060fa49157d819466404794ad9c58e58cf
|
||||||
RNFS: 6a2bfb5d0b14cf0ad72667f76202358abba4aacf
|
RNGestureHandler: 5329a942fce3d41c68b84c2c2276ce06a696d8b0
|
||||||
RNGestureHandler: 311e3b1cef021a7c9ef31e97e7dc31970cc6288d
|
RNImageCropPicker: 0a731d984e64ee4c28bddaa7ce52262e4b80979f
|
||||||
RNImageCropPicker: c406db73f02f11bf3a887f856ff04ee50af173f4
|
RNKeychain: 216f37338fcb9e5c3a2530f1e3295f737a690cb1
|
||||||
RNKeychain: 627c6095cef215dd3d9804a9a9cf45ab96aa3997
|
RNLanguages: 962e562af0d34ab1958d89bcfdb64fafc37c513e
|
||||||
RNLanguages: e3ae05ef105937645218272429dac0c3f7633451
|
RNScreens: 720a9e6968beb73e8196239801e887d8401f86ed
|
||||||
RNScreens: 354046589421edc3d83d5c6212475bf1fb9a731d
|
RNSVG: a78b4c581e33a1bb72968997d167afabf72b05dc
|
||||||
RNSVG: 2e097b92aaa6d4e0f354fd7c49cbf3b17f8b3920
|
|
||||||
RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a
|
RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a
|
||||||
SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990
|
SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990
|
||||||
SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23
|
SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23
|
||||||
TouchID: b0640fedb86fa2db2fe1df15b61594ad49e76288
|
TouchID: ba4c656d849cceabc2e4eef722dea5e55959ecf4
|
||||||
yoga: 88c514f310aff89b94a14c5fbf44b95735af0cb7
|
yoga: 312528f5bbbba37b4dcea5ef00e8b4033fdd9411
|
||||||
|
|
||||||
PODFILE CHECKSUM: eada5ca1782f4a5407527b6bb8f04e5fe4ab1e49
|
PODFILE CHECKSUM: 7b53149061c27253efb0c63580a220c0e836aad4
|
||||||
|
|
||||||
COCOAPODS: 1.5.3
|
COCOAPODS: 1.8.4
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
};
|
};
|
||||||
objectVersion = 46;
|
objectVersion = 46;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
00E356F31AD99517003FC87E /* StatusImTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StatusImTests.m */; };
|
00E356F31AD99517003FC87E /* StatusImTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StatusImTests.m */; };
|
||||||
0C13D5C5E4EB4D518C95FCD0 /* Inter-ThinItalic-BETA.otf in Resources */ = {isa = PBXBuildFile; fileRef = 8077F6B47C6C491A9351E836 /* Inter-ThinItalic-BETA.otf */; };
|
0C13D5C5E4EB4D518C95FCD0 /* Inter-ThinItalic-BETA.otf in Resources */ = {isa = PBXBuildFile; fileRef = 8077F6B47C6C491A9351E836 /* Inter-ThinItalic-BETA.otf */; };
|
||||||
@ -23,9 +24,7 @@
|
|||||||
81C6E6AE0AA739BE9D87C1D0 /* libPods-StatusImTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC1CBCFE6C906043D6CCEEE1 /* libPods-StatusImTests.a */; };
|
81C6E6AE0AA739BE9D87C1D0 /* libPods-StatusImTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC1CBCFE6C906043D6CCEEE1 /* libPods-StatusImTests.a */; };
|
||||||
8391E8E0E93C41A98AAA6631 /* Inter-SemiBoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A4F2BBE8D4DD4140A6CCAC39 /* Inter-SemiBoldItalic.otf */; };
|
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 */; };
|
8E55E6877F950B81C8D711C5 /* libPods-StatusIm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 101A4045637A2ADF57D28EF5 /* libPods-StatusIm.a */; };
|
||||||
925C1F4C1F7B73B20063DFA0 /* nanopb.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 925C1F451F7B73B20063DFA0 /* nanopb.framework */; };
|
925C1F4C1F7B73B20063DFA0 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; };
|
||||||
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 */; };
|
9EF0836B1F3B53AB00876A8F /* libReactNativeConfig.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EF083611F3B538B00876A8F /* libReactNativeConfig.a */; };
|
||||||
B190FBFB6A9B43EAAF396CD7 /* Inter-BlackItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 2006E199700F423E84885CD9 /* Inter-BlackItalic.otf */; };
|
B190FBFB6A9B43EAAF396CD7 /* Inter-BlackItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 2006E199700F423E84885CD9 /* Inter-BlackItalic.otf */; };
|
||||||
B24FC7FD1DE7195700D694FF /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B24FC7FC1DE7195700D694FF /* Social.framework */; };
|
B24FC7FD1DE7195700D694FF /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B24FC7FC1DE7195700D694FF /* Social.framework */; };
|
||||||
@ -112,8 +111,6 @@
|
|||||||
2028DFF81D4275B600227DCD /* SF-UI-Display-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Display-Thin.otf"; sourceTree = "<group>"; };
|
2028DFF81D4275B600227DCD /* SF-UI-Display-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Display-Thin.otf"; sourceTree = "<group>"; };
|
||||||
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 = "<group>"; };
|
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 = "<group>"; };
|
||||||
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 = "<group>"; };
|
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 = "<group>"; };
|
||||||
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; };
|
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; };
|
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 = "<group>"; };
|
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 = "<group>"; };
|
||||||
@ -123,14 +120,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 = "<group>"; };
|
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 = "<group>"; };
|
||||||
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; };
|
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 = "<group>"; };
|
922C4CA61F4D5F8B0033C753 /* StatusIm.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = StatusIm.entitlements; path = StatusIm/StatusIm.entitlements; sourceTree = "<group>"; };
|
||||||
925C1F401F7B73B20063DFA0 /* FirebaseCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCore.framework; sourceTree = "<group>"; };
|
|
||||||
925C1F411F7B73B20063DFA0 /* FirebaseCoreDiagnostics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCoreDiagnostics.framework; sourceTree = "<group>"; };
|
|
||||||
925C1F421F7B73B20063DFA0 /* FirebaseInstanceID.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseInstanceID.framework; sourceTree = "<group>"; };
|
|
||||||
925C1F431F7B73B20063DFA0 /* FirebaseNanoPB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseNanoPB.framework; sourceTree = "<group>"; };
|
|
||||||
925C1F451F7B73B20063DFA0 /* nanopb.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = nanopb.framework; sourceTree = "<group>"; };
|
|
||||||
925C1F7F1F7B73C00063DFA0 /* FirebaseMessaging.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseMessaging.framework; sourceTree = "<group>"; };
|
|
||||||
92A0DF491F4DE3A0002051BC /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
|
||||||
983F07442119C9D2004133ED /* message.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = message.wav; path = ../android/app/src/main/res/raw/message.wav; sourceTree = "<group>"; };
|
|
||||||
9E0B01A01DDC5DA7002B0359 /* SF-UI-Text-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Text-Light.otf"; sourceTree = "<group>"; };
|
9E0B01A01DDC5DA7002B0359 /* SF-UI-Text-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Text-Light.otf"; sourceTree = "<group>"; };
|
||||||
9EC0135C1E06FB1900155B5C /* RCTWKWebView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWKWebView.xcodeproj; path = "../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView.xcodeproj"; sourceTree = "<group>"; };
|
9EC0135C1E06FB1900155B5C /* RCTWKWebView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWKWebView.xcodeproj; path = "../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView.xcodeproj"; sourceTree = "<group>"; };
|
||||||
9ED2F45C1D9D52C100B36508 /* SF-UI-Text-Medium.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Text-Medium.otf"; sourceTree = "<group>"; };
|
9ED2F45C1D9D52C100B36508 /* SF-UI-Text-Medium.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SF-UI-Text-Medium.otf"; sourceTree = "<group>"; };
|
||||||
@ -172,7 +161,7 @@
|
|||||||
B24FC7FD1DE7195700D694FF /* Social.framework in Frameworks */,
|
B24FC7FD1DE7195700D694FF /* Social.framework in Frameworks */,
|
||||||
CE4E31B31D8695250033ED64 /* Statusgo.framework in Frameworks */,
|
CE4E31B31D8695250033ED64 /* Statusgo.framework in Frameworks */,
|
||||||
20AB9EC61D47CC0300E7FD9C /* libRCTStatus.a in Frameworks */,
|
20AB9EC61D47CC0300E7FD9C /* libRCTStatus.a in Frameworks */,
|
||||||
925C1F4C1F7B73B20063DFA0 /* nanopb.framework in Frameworks */,
|
925C1F4C1F7B73B20063DFA0 /* BuildFile in Frameworks */,
|
||||||
25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */,
|
25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */,
|
||||||
BA68A2377A20496EA737000D /* libz.tbd in Frameworks */,
|
BA68A2377A20496EA737000D /* libz.tbd in Frameworks */,
|
||||||
8E55E6877F950B81C8D711C5 /* libPods-StatusIm.a in Frameworks */,
|
8E55E6877F950B81C8D711C5 /* libPods-StatusIm.a in Frameworks */,
|
||||||
@ -217,7 +206,6 @@
|
|||||||
1E7837547A9A40E18AD63CF3 /* Resources */ = {
|
1E7837547A9A40E18AD63CF3 /* Resources */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
983F07442119C9D2004133ED /* message.wav */,
|
|
||||||
2028E0111D4275BD00227DCD /* SF */,
|
2028E0111D4275BD00227DCD /* SF */,
|
||||||
B23B48FE1E76917B006D4535 /* RobotoMono-Medium.ttf */,
|
B23B48FE1E76917B006D4535 /* RobotoMono-Medium.ttf */,
|
||||||
74B758FB20D7C00B003343C3 /* launch-image-universal.storyboard */,
|
74B758FB20D7C00B003343C3 /* launch-image-universal.storyboard */,
|
||||||
@ -291,7 +279,6 @@
|
|||||||
83CBB9F61A601CBA00E9B192 = {
|
83CBB9F61A601CBA00E9B192 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
92A0DF491F4DE3A0002051BC /* GoogleService-Info.plist */,
|
|
||||||
13B07FAE1A68108700A75B9A /* StatusIm */,
|
13B07FAE1A68108700A75B9A /* StatusIm */,
|
||||||
832341AE1AAA6A7D00B99B32 /* Libraries */,
|
832341AE1AAA6A7D00B99B32 /* Libraries */,
|
||||||
00E356EF1AD99517003FC87E /* StatusImTests */,
|
00E356EF1AD99517003FC87E /* StatusImTests */,
|
||||||
@ -333,15 +320,7 @@
|
|||||||
A97BA941B2FB44B4B66EE6D3 /* Frameworks */ = {
|
A97BA941B2FB44B4B66EE6D3 /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
475D1FCD20B7415300879A77 /* libFirebaseCore.a */,
|
|
||||||
475D1FCE20B7415300879A77 /* libFirebaseMessaging.a */,
|
|
||||||
4C16DE0B1F89508700AA10DB /* JavaScriptCore.framework */,
|
4C16DE0B1F89508700AA10DB /* JavaScriptCore.framework */,
|
||||||
925C1F7F1F7B73C00063DFA0 /* FirebaseMessaging.framework */,
|
|
||||||
925C1F401F7B73B20063DFA0 /* FirebaseCore.framework */,
|
|
||||||
925C1F411F7B73B20063DFA0 /* FirebaseCoreDiagnostics.framework */,
|
|
||||||
925C1F421F7B73B20063DFA0 /* FirebaseInstanceID.framework */,
|
|
||||||
925C1F431F7B73B20063DFA0 /* FirebaseNanoPB.framework */,
|
|
||||||
925C1F451F7B73B20063DFA0 /* nanopb.framework */,
|
|
||||||
B24FC7FE1DE7195F00D694FF /* MessageUI.framework */,
|
B24FC7FE1DE7195F00D694FF /* MessageUI.framework */,
|
||||||
B24FC7FC1DE7195700D694FF /* Social.framework */,
|
B24FC7FC1DE7195700D694FF /* Social.framework */,
|
||||||
CE4E31B21D8695250033ED64 /* Statusgo.framework */,
|
CE4E31B21D8695250033ED64 /* Statusgo.framework */,
|
||||||
@ -488,13 +467,6 @@
|
|||||||
remoteRef = 9EF083601F3B538B00876A8F /* PBXContainerItemProxy */;
|
remoteRef = 9EF083601F3B538B00876A8F /* PBXContainerItemProxy */;
|
||||||
sourceTree = BUILT_PRODUCTS_DIR;
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
};
|
};
|
||||||
C90048231FC47AF50002B8EA /* libRNSVG-tvOS.a */ = {
|
|
||||||
isa = PBXReferenceProxy;
|
|
||||||
fileType = archive.ar;
|
|
||||||
path = "libRNSVG-tvOS.a";
|
|
||||||
remoteRef = C90048221FC47AF50002B8EA /* PBXContainerItemProxy */;
|
|
||||||
sourceTree = BUILT_PRODUCTS_DIR;
|
|
||||||
};
|
|
||||||
/* End PBXReferenceProxy section */
|
/* End PBXReferenceProxy section */
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
@ -509,10 +481,8 @@
|
|||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
983F077E2119C9D2004133ED /* message.wav in Resources */,
|
|
||||||
74B758FC20D7C00B003343C3 /* launch-image-universal.storyboard in Resources */,
|
74B758FC20D7C00B003343C3 /* launch-image-universal.storyboard in Resources */,
|
||||||
B2F2D1BC1D9D531B00B7B453 /* Images.xcassets in Resources */,
|
B2F2D1BC1D9D531B00B7B453 /* Images.xcassets in Resources */,
|
||||||
92A0DF7D1F4DE3A4002051BC /* GoogleService-Info.plist in Resources */,
|
|
||||||
D2356A41DAE14CB683EAEE59 /* Inter-Black.otf in Resources */,
|
D2356A41DAE14CB683EAEE59 /* Inter-Black.otf in Resources */,
|
||||||
B190FBFB6A9B43EAAF396CD7 /* Inter-BlackItalic.otf in Resources */,
|
B190FBFB6A9B43EAAF396CD7 /* Inter-BlackItalic.otf in Resources */,
|
||||||
D84616FB563A48EBB1678699 /* Inter-Bold.otf in Resources */,
|
D84616FB563A48EBB1678699 /* Inter-Bold.otf in Resources */,
|
||||||
@ -557,7 +527,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
"${SRCROOT}/Pods/Target Support Files/Pods-StatusIm/Pods-StatusIm-resources.sh",
|
"${PODS_ROOT}/Target Support Files/Pods-StatusIm/Pods-StatusIm-resources.sh",
|
||||||
"${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController/QBImagePicker.bundle",
|
"${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController/QBImagePicker.bundle",
|
||||||
"${PODS_ROOT}/RSKImageCropper/RSKImageCropper/RSKImageCropperStrings.bundle",
|
"${PODS_ROOT}/RSKImageCropper/RSKImageCropper/RSKImageCropperStrings.bundle",
|
||||||
);
|
);
|
||||||
@ -568,7 +538,7 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-StatusIm/Pods-StatusIm-resources.sh\"\n";
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-StatusIm/Pods-StatusIm-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
2EAC54E16AB243C3EBBFE1BA /* [CP] Check Pods Manifest.lock */ = {
|
2EAC54E16AB243C3EBBFE1BA /* [CP] Check Pods Manifest.lock */ = {
|
||||||
@ -679,9 +649,7 @@
|
|||||||
INFOPLIST_FILE = StatusImTests/Info.plist;
|
INFOPLIST_FILE = StatusImTests/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||||
"$(inherited)",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = im.status.ethereum;
|
PRODUCT_BUNDLE_IDENTIFIER = im.status.ethereum;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
@ -706,9 +674,7 @@
|
|||||||
INFOPLIST_FILE = StatusImTests/Info.plist;
|
INFOPLIST_FILE = StatusImTests/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||||
"$(inherited)",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = im.status.ethereum;
|
PRODUCT_BUNDLE_IDENTIFIER = im.status.ethereum;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
@ -750,9 +716,6 @@
|
|||||||
"$(SRCROOT)/../node_modules/react-native-splash-screen/ios",
|
"$(SRCROOT)/../node_modules/react-native-splash-screen/ios",
|
||||||
"$(SRCROOT)/../node_modules/react-native-config/ios/**",
|
"$(SRCROOT)/../node_modules/react-native-config/ios/**",
|
||||||
"$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS",
|
"$(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;
|
INFOPLIST_FILE = StatusIm/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||||
@ -808,9 +771,6 @@
|
|||||||
"$(SRCROOT)/../node_modules/react-native-splash-screen/ios",
|
"$(SRCROOT)/../node_modules/react-native-splash-screen/ios",
|
||||||
"$(SRCROOT)/../node_modules/react-native-config/ios/**",
|
"$(SRCROOT)/../node_modules/react-native-config/ios/**",
|
||||||
"$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS",
|
"$(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;
|
INFOPLIST_FILE = StatusIm/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||||
|
@ -16,9 +16,6 @@
|
|||||||
#import "RCTRootView.h"
|
#import "RCTRootView.h"
|
||||||
#import "RNSplashScreen.h"
|
#import "RNSplashScreen.h"
|
||||||
#import "RCTLinkingManager.h"
|
#import "RCTLinkingManager.h"
|
||||||
#import <Firebase.h>
|
|
||||||
#import "RNFirebaseNotifications.h"
|
|
||||||
#import "RNFirebaseMessaging.h"
|
|
||||||
|
|
||||||
@implementation AppDelegate
|
@implementation AppDelegate
|
||||||
{
|
{
|
||||||
@ -30,11 +27,6 @@
|
|||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
NSURL *jsCodeLocation;
|
NSURL *jsCodeLocation;
|
||||||
|
|
||||||
[FIRApp configure];
|
|
||||||
[RNFirebaseNotifications configure];
|
|
||||||
[application registerForRemoteNotifications];
|
|
||||||
|
|
||||||
|
|
||||||
/* Set logging level from React Native */
|
/* Set logging level from React Native */
|
||||||
NSString *logLevel = [ReactNativeConfig envFor:@"LOG_LEVEL"];
|
NSString *logLevel = [ReactNativeConfig envFor:@"LOG_LEVEL"];
|
||||||
if([logLevel isEqualToString:@"error"]){
|
if([logLevel isEqualToString:@"error"]){
|
||||||
@ -74,19 +66,6 @@
|
|||||||
return YES;
|
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
|
- (BOOL)application:(UIApplication *)application
|
||||||
openURL:(NSURL *)url
|
openURL:(NSURL *)url
|
||||||
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
|
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
|
||||||
|
@ -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
|
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
|
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"
|
## "react-native-fs": "^2.14.1"
|
||||||
|
|
||||||
used for some filesystem related functions, for instance to get no-backup directory in `status-im.utils.platform`
|
used for some filesystem related functions, for instance to get no-backup directory in `status-im.utils.platform`
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
"react-native-config": "git+https://github.com/status-im/react-native-config.git#0.11.2-1-status",
|
"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-dialogs": "^1.0.4",
|
||||||
"react-native-fetch-polyfill": "^1.1.2",
|
"react-native-fetch-polyfill": "^1.1.2",
|
||||||
"react-native-firebase": "^5.5.6",
|
|
||||||
"react-native-fs": "^2.14.1",
|
"react-native-fs": "^2.14.1",
|
||||||
"react-native-gesture-handler": "^1.3.0",
|
"react-native-gesture-handler": "^1.3.0",
|
||||||
"react-native-image-crop-picker": "^0.25.0",
|
"react-native-image-crop-picker": "^0.25.0",
|
||||||
|
@ -4342,11 +4342,6 @@ open@^6.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-wsl "^1.1.0"
|
is-wsl "^1.1.0"
|
||||||
|
|
||||||
opencollective-postinstall@^2.0.0:
|
|
||||||
version "2.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
|
|
||||||
integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
|
|
||||||
|
|
||||||
optimist@^0.6.1:
|
optimist@^0.6.1:
|
||||||
version "0.6.1"
|
version "0.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
|
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
|
||||||
@ -4802,14 +4797,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"
|
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==
|
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:
|
react-native-fs@^2.14.1:
|
||||||
version "2.14.1"
|
version "2.14.1"
|
||||||
resolved "https://registry.yarnpkg.com/react-native-fs/-/react-native-fs-2.14.1.tgz#61c70a865b5b5bcb020dd4e4befd60a2c20c836f"
|
resolved "https://registry.yarnpkg.com/react-native-fs/-/react-native-fs-2.14.1.tgz#61c70a865b5b5bcb020dd4e4befd60a2c20c836f"
|
||||||
|
@ -456,25 +456,6 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ReactMethod
|
|
||||||
public void sendDataNotification(final String dataPayloadJSON, final String tokensJSON, final Callback callback) {
|
|
||||||
Log.d(TAG, "sendDataNotification");
|
|
||||||
if (!checkAvailability()) {
|
|
||||||
callback.invoke(false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Runnable r = new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
String res = Statusgo.sendDataNotification(dataPayloadJSON, tokensJSON);
|
|
||||||
callback.invoke(res);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
StatusThreadPoolExecutor.getInstance().execute(r);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Boolean zip(File[] _files, File zipFile, Stack<String> errorList) {
|
private Boolean zip(File[] _files, File zipFile, Stack<String> errorList) {
|
||||||
final int BUFFER = 0x8000;
|
final int BUFFER = 0x8000;
|
||||||
|
|
||||||
|
@ -145,22 +145,6 @@ void RCTStatus::initKeystore() {
|
|||||||
logStatusGoResult("::initKeystore InitKeystore", result);
|
logStatusGoResult("::initKeystore InitKeystore", result);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RCTStatus::sendDataNotification(QString dataPayloadJSON,
|
|
||||||
QString tokensJSON, double callbackId) {
|
|
||||||
Q_D(RCTStatus);
|
|
||||||
qCDebug(RCTSTATUS) << "::sendDataNotification call - callbackId:"
|
|
||||||
<< callbackId;
|
|
||||||
QtConcurrent::run(
|
|
||||||
[&](QString dataPayloadJSON, QString tokensJSON, double callbackId) {
|
|
||||||
const char *result = SendDataNotification(
|
|
||||||
dataPayloadJSON.toUtf8().data(), tokensJSON.toUtf8().data());
|
|
||||||
logStatusGoResult("::sendDataNotification SendDataNotification",
|
|
||||||
result);
|
|
||||||
d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
|
|
||||||
},
|
|
||||||
dataPayloadJSON, tokensJSON, callbackId);
|
|
||||||
}
|
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
|
@ -38,8 +38,6 @@ public:
|
|||||||
Q_INVOKABLE void shouldMoveToInternalStorage(double callbackId);
|
Q_INVOKABLE void shouldMoveToInternalStorage(double callbackId);
|
||||||
Q_INVOKABLE void moveToInternalStorage(double callbackId);
|
Q_INVOKABLE void moveToInternalStorage(double callbackId);
|
||||||
Q_INVOKABLE void initKeystore();
|
Q_INVOKABLE void initKeystore();
|
||||||
Q_INVOKABLE void sendDataNotification(QString dataPayloadJSON,
|
|
||||||
QString tokensJSON, double callbackId);
|
|
||||||
Q_INVOKABLE void sendLogs(QString dbJSON, QString jsLogs, double callbackId);
|
Q_INVOKABLE void sendLogs(QString dbJSON, QString jsLogs, double callbackId);
|
||||||
Q_INVOKABLE void exportLogs(double callbackId);
|
Q_INVOKABLE void exportLogs(double callbackId);
|
||||||
Q_INVOKABLE void addPeer(QString enode, double callbackId);
|
Q_INVOKABLE void addPeer(QString enode, double callbackId);
|
||||||
|
@ -128,19 +128,6 @@ RCT_EXPORT_METHOD(initKeystore) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
#pragma mark - SendDataNotification method
|
|
||||||
//////////////////////////////////////////////////////////////////// sendDataNotification
|
|
||||||
RCT_EXPORT_METHOD(sendDataNotification:(NSString *)dataPayloadJSON
|
|
||||||
tokensJSON:(NSString *)tokensJSON
|
|
||||||
callback:(RCTResponseSenderBlock)callback) {
|
|
||||||
NSString* result = StatusgoSendDataNotification(dataPayloadJSON, tokensJSON);
|
|
||||||
callback(@[result]);
|
|
||||||
#if DEBUG
|
|
||||||
NSLog(@"SendDataNotification() method called");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
#pragma mark - SendLogs method
|
#pragma mark - SendLogs method
|
||||||
//////////////////////////////////////////////////////////////////// sendLogs
|
//////////////////////////////////////////////////////////////////// sendLogs
|
||||||
|
@ -19,7 +19,6 @@ https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.0.2/appco
|
|||||||
https://dl.google.com/dl/android/maven2/androidx/arch/core/core-common/2.0.0/core-common-2.0.0
|
https://dl.google.com/dl/android/maven2/androidx/arch/core/core-common/2.0.0/core-common-2.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/arch/core/core-runtime/2.0.0/core-runtime-2.0.0
|
https://dl.google.com/dl/android/maven2/androidx/arch/core/core-runtime/2.0.0/core-runtime-2.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/asynclayoutinflater/asynclayoutinflater/1.0.0/asynclayoutinflater-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/asynclayoutinflater/asynclayoutinflater/1.0.0/asynclayoutinflater-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/browser/browser/1.0.0/browser-1.0.0
|
|
||||||
https://dl.google.com/dl/android/maven2/androidx/collection/collection/1.0.0/collection-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/collection/collection/1.0.0/collection-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/coordinatorlayout/coordinatorlayout/1.0.0/coordinatorlayout-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/coordinatorlayout/coordinatorlayout/1.0.0/coordinatorlayout-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/core/core/1.0.1/core-1.0.1
|
https://dl.google.com/dl/android/maven2/androidx/core/core/1.0.1/core-1.0.1
|
||||||
@ -47,8 +46,6 @@ https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-viewmodel/2
|
|||||||
https://dl.google.com/dl/android/maven2/androidx/loader/loader/1.0.0/loader-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/loader/loader/1.0.0/loader-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/localbroadcastmanager/localbroadcastmanager/1.0.0/localbroadcastmanager-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/localbroadcastmanager/localbroadcastmanager/1.0.0/localbroadcastmanager-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/media/media/1.0.0/media-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/media/media/1.0.0/media-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/multidex/multidex-instrumentation/2.0.0/multidex-instrumentation-2.0.0
|
|
||||||
https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.0/multidex-2.0.0
|
|
||||||
https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.1/multidex-2.0.1
|
https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.1/multidex-2.0.1
|
||||||
https://dl.google.com/dl/android/maven2/androidx/print/print/1.0.0/print-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/print/print/1.0.0/print-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/recyclerview/recyclerview/1.0.0/recyclerview-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/recyclerview/recyclerview/1.0.0/recyclerview-1.0.0
|
||||||
@ -59,40 +56,33 @@ https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable/1
|
|||||||
https://dl.google.com/dl/android/maven2/androidx/versionedparcelable/versionedparcelable/1.0.0/versionedparcelable-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/versionedparcelable/versionedparcelable/1.0.0/versionedparcelable-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/androidx/viewpager/viewpager/1.0.0/viewpager-1.0.0
|
https://dl.google.com/dl/android/maven2/androidx/viewpager/viewpager/1.0.0/viewpager-1.0.0
|
||||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.0.1/baseLibrary-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.0.1/baseLibrary-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.1.4/baseLibrary-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.2.1/baseLibrary-3.2.1
|
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.2.1/baseLibrary-3.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.3.1/baseLibrary-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.3.1/baseLibrary-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.4.1/baseLibrary-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.4.1/baseLibrary-3.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.0.1/compilerCommon-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.0.1/compilerCommon-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.1.4/compilerCommon-3.1.4
|
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/28.0.0/appcompat-v7-28.0.0
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.2.1/crash-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.2.1/crash-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.3.1/crash-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.3.1/crash-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.4.1/crash-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.4.1/crash-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.0.1/protos-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.0.1/protos-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.1.4/protos-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.2.1/protos-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.2.1/protos-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.3.1/protos-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.3.1/protos-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.4.1/protos-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.4.1/protos-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.0.1/shared-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.0.1/shared-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.1.4/shared-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.2.1/shared-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.2.1/shared-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.3.1/shared-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.3.1/shared-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.4.1/shared-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.4.1/shared-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.0.1/tracker-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.0.1/tracker-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.1.4/tracker-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.2.1/tracker-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.2.1/tracker-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.3.1/tracker-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.3.1/tracker-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.4.1/tracker-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.4.1/tracker-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.0.1/annotations-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.0.1/annotations-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.1.4/annotations-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.2.1/annotations-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.2.1/annotations-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.3.1/annotations-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.3.1/annotations-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.4.1/annotations-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.4.1/annotations-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2-proto/0.1.0/aapt2-proto-0.1.0
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.4.1-5326820/aapt2-3.4.1-5326820
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.4.1-5326820/aapt2-3.4.1-5326820
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.0.1/apksig-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.0.1/apksig-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.1.4/apksig-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.2.1/apksig-3.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.2.1/apksig-3.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.3.1/apksig-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.3.1/apksig-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.4.1/apksig-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.4.1/apksig-3.4.1
|
||||||
@ -100,33 +90,26 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.2.1/ap
|
|||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.3.1/apkzlib-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.3.1/apkzlib-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.4.1/apkzlib-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.4.1/apkzlib-3.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.0.1/builder-model-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.0.1/builder-model-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.1.4/builder-model-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.2.1/builder-model-3.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.2.1/builder-model-3.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.3.1/builder-model-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.3.1/builder-model-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.4.1/builder-model-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.4.1/builder-model-3.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.0.1/builder-test-api-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.0.1/builder-test-api-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.1.4/builder-test-api-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.2.1/builder-test-api-3.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.2.1/builder-test-api-3.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.3.1/builder-test-api-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.3.1/builder-test-api-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.4.1/builder-test-api-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.4.1/builder-test-api-3.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.0.1/builder-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.0.1/builder-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.1.4/builder-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.2.1/builder-3.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.2.1/builder-3.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.3.1/builder-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.3.1/builder-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.4.1/builder-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.4.1/builder-3.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.1.0-alpha01/bundletool-0.1.0-alpha01
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.5.0/bundletool-0.5.0
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.5.0/bundletool-0.5.0
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.6.0/bundletool-0.6.0
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.6.0/bundletool-0.6.0
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.7.2/bundletool-0.7.2
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.7.2/bundletool-0.7.2
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.0.1/gradle-api-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.0.1/gradle-api-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.1.4/gradle-api-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.2.1/gradle-api-3.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.2.1/gradle-api-3.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.3.1/gradle-api-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.3.1/gradle-api-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.4.1/gradle-api-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.4.1/gradle-api-3.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.0.1/gradle-core-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.0.1/gradle-core-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.4/gradle-core-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.4/gradle-3.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.3.1/gradle-3.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.3.1/gradle-3.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.1/gradle-3.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.1/gradle-3.4.1
|
||||||
@ -137,23 +120,19 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifie
|
|||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta02/jetifier-processor-1.0.0-beta02
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta02/jetifier-processor-1.0.0-beta02
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta04/jetifier-processor-1.0.0-beta04
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta04/jetifier-processor-1.0.0-beta04
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.0.1/manifest-merger-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.0.1/manifest-merger-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.1.4/manifest-merger-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.2.1/manifest-merger-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.2.1/manifest-merger-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.3.1/manifest-merger-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.3.1/manifest-merger-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.4.1/manifest-merger-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.4.1/manifest-merger-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api
|
https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.0.1/common-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.0.1/common-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.1.4/common-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.2.1/common-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.2.1/common-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.3.1/common-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.3.1/common-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.4.1/common-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.4.1/common-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.0.1/ddmlib-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.0.1/ddmlib-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.1.4/ddmlib-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.2.1/ddmlib-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.2.1/ddmlib-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.3.1/ddmlib-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.3.1/ddmlib-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.4.1/ddmlib-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.4.1/ddmlib-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.0.1/dvlib-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.0.1/dvlib-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.1.4/dvlib-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.2.1/dvlib-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.2.1/dvlib-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.3.1/dvlib-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.3.1/dvlib-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.4.1/dvlib-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.4.1/dvlib-26.4.1
|
||||||
@ -163,7 +142,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/
|
|||||||
https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.0.1/uast-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.0.1/uast-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.4.1/uast-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.4.1/uast-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.0.1/layoutlib-api-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.0.1/layoutlib-api-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.1.4/layoutlib-api-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.2.1/layoutlib-api-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.2.1/layoutlib-api-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.3.1/layoutlib-api-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.3.1/layoutlib-api-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.4.1/layoutlib-api-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.4.1/layoutlib-api-26.4.1
|
||||||
@ -171,7 +149,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/26.0.1/l
|
|||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/26.4.1/lint-api-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/26.4.1/lint-api-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.0.1/lint-checks-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.0.1/lint-checks-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.4.1/lint-checks-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.4.1/lint-checks-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.1.4/lint-gradle-api-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.2.1/lint-gradle-api-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.2.1/lint-gradle-api-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.3.1/lint-gradle-api-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.3.1/lint-gradle-api-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.4.1/lint-gradle-api-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.4.1/lint-gradle-api-26.4.1
|
||||||
@ -179,164 +156,96 @@ https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle/26.4.
|
|||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.0.1/lint-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.0.1/lint-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.4.1/lint-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.4.1/lint-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.0.1/repository-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.0.1/repository-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.1.4/repository-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.2.1/repository-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.2.1/repository-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.3.1/repository-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.3.1/repository-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.4.1/repository-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.4.1/repository-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.0.1/sdk-common-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.0.1/sdk-common-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.1.4/sdk-common-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.2.1/sdk-common-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.2.1/sdk-common-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.3.1/sdk-common-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.3.1/sdk-common-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.4.1/sdk-common-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.4.1/sdk-common-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.0.1/sdklib-26.0.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.0.1/sdklib-26.0.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.1.4/sdklib-26.1.4
|
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.2.1/sdklib-26.2.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.2.1/sdklib-26.2.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.3.1/sdklib-26.3.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.3.1/sdklib-26.3.1
|
||||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.4.1/sdklib-26.4.1
|
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.4.1/sdklib-26.4.1
|
||||||
https://dl.google.com/dl/android/maven2/com/crashlytics/sdk/android/answers/1.4.7/answers-1.4.7
|
|
||||||
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-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.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.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-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-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-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/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/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-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-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/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/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-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/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-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-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-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/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
|
https://jcenter.bintray.com/com/afollestad/material-dialogs/commons/0.9.6.0/commons-0.9.6.0
|
||||||
https://jcenter.bintray.com/com/afollestad/material-dialogs/core/0.9.6.0/core-0.9.6.0
|
https://jcenter.bintray.com/com/afollestad/material-dialogs/core/0.9.6.0/core-0.9.6.0
|
||||||
https://jcenter.bintray.com/com/android/databinding/baseLibrary/1.0-rc5/baseLibrary-1.0-rc5
|
https://jcenter.bintray.com/com/android/databinding/baseLibrary/1.0-rc5/baseLibrary-1.0-rc5
|
||||||
https://jcenter.bintray.com/com/android/databinding/baseLibrary/2.2.0/baseLibrary-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/databinding/baseLibrary/2.2.3/baseLibrary-2.2.3
|
https://jcenter.bintray.com/com/android/databinding/baseLibrary/2.2.3/baseLibrary-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/databinding/compilerCommon/1.0-rc5/compilerCommon-1.0-rc5
|
https://jcenter.bintray.com/com/android/databinding/compilerCommon/1.0-rc5/compilerCommon-1.0-rc5
|
||||||
https://jcenter.bintray.com/com/android/databinding/compilerCommon/2.2.0/compilerCommon-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/databinding/compilerCommon/2.2.3/compilerCommon-2.2.3
|
https://jcenter.bintray.com/com/android/databinding/compilerCommon/2.2.3/compilerCommon-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/analytics-library/protos/25.2.0/protos-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/analytics-library/protos/25.2.3/protos-25.2.3
|
https://jcenter.bintray.com/com/android/tools/analytics-library/protos/25.2.3/protos-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/analytics-library/shared/25.2.0/shared-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/analytics-library/shared/25.2.3/shared-25.2.3
|
https://jcenter.bintray.com/com/android/tools/analytics-library/shared/25.2.3/shared-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/analytics-library/tracker/25.2.0/tracker-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/analytics-library/tracker/25.2.3/tracker-25.2.3
|
https://jcenter.bintray.com/com/android/tools/analytics-library/tracker/25.2.3/tracker-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/annotations/24.1.3/annotations-24.1.3
|
https://jcenter.bintray.com/com/android/tools/annotations/24.1.3/annotations-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/annotations/24.3.0/annotations-24.3.0
|
https://jcenter.bintray.com/com/android/tools/annotations/24.3.0/annotations-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/annotations/24.3.1/annotations-24.3.1
|
https://jcenter.bintray.com/com/android/tools/annotations/24.3.1/annotations-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/annotations/24.5.0/annotations-24.5.0
|
https://jcenter.bintray.com/com/android/tools/annotations/24.5.0/annotations-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/annotations/25.2.0/annotations-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/annotations/25.2.3/annotations-25.2.3
|
https://jcenter.bintray.com/com/android/tools/annotations/25.2.3/annotations-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.1.3/builder-model-1.1.3
|
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.1.3/builder-model-1.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0
|
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.3.1/builder-model-1.3.1
|
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.3.1/builder-model-1.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.5.0/builder-model-1.5.0
|
https://jcenter.bintray.com/com/android/tools/build/builder-model/1.5.0/builder-model-1.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-model/2.2.0/builder-model-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-model/2.2.3/builder-model-2.2.3
|
https://jcenter.bintray.com/com/android/tools/build/builder-model/2.2.3/builder-model-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.1.3/builder-test-api-1.1.3
|
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.1.3/builder-test-api-1.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0
|
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.3.1/builder-test-api-1.3.1
|
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.3.1/builder-test-api-1.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.5.0/builder-test-api-1.5.0
|
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/1.5.0/builder-test-api-1.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/2.2.0/builder-test-api-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/2.2.3/builder-test-api-2.2.3
|
https://jcenter.bintray.com/com/android/tools/build/builder-test-api/2.2.3/builder-test-api-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder/1.1.3/builder-1.1.3
|
https://jcenter.bintray.com/com/android/tools/build/builder/1.1.3/builder-1.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder/1.3.0/builder-1.3.0
|
https://jcenter.bintray.com/com/android/tools/build/builder/1.3.0/builder-1.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder/1.3.1/builder-1.3.1
|
https://jcenter.bintray.com/com/android/tools/build/builder/1.3.1/builder-1.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder/1.5.0/builder-1.5.0
|
https://jcenter.bintray.com/com/android/tools/build/builder/1.5.0/builder-1.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder/2.2.0/builder-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/build/builder/2.2.3/builder-2.2.3
|
https://jcenter.bintray.com/com/android/tools/build/builder/2.2.3/builder-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-api/2.2.0/gradle-api-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-api/2.2.3/gradle-api-2.2.3
|
https://jcenter.bintray.com/com/android/tools/build/gradle-api/2.2.3/gradle-api-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.1.3/gradle-core-1.1.3
|
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.1.3/gradle-core-1.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0
|
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.3.1/gradle-core-1.3.1
|
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.3.1/gradle-core-1.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.5.0/gradle-core-1.5.0
|
https://jcenter.bintray.com/com/android/tools/build/gradle-core/1.5.0/gradle-core-1.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.0/gradle-core-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.3/gradle-core-2.2.3
|
https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.3/gradle-core-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle/1.1.3/gradle-1.1.3
|
https://jcenter.bintray.com/com/android/tools/build/gradle/1.1.3/gradle-1.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle/1.3.0/gradle-1.3.0
|
https://jcenter.bintray.com/com/android/tools/build/gradle/1.3.0/gradle-1.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle/1.3.1/gradle-1.3.1
|
https://jcenter.bintray.com/com/android/tools/build/gradle/1.3.1/gradle-1.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle/1.5.0/gradle-1.5.0
|
https://jcenter.bintray.com/com/android/tools/build/gradle/1.5.0/gradle-1.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.0/gradle-2.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.3/gradle-2.2.3
|
https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.3/gradle-2.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.1.3/manifest-merger-24.1.3
|
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.1.3/manifest-merger-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0
|
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.3.1/manifest-merger-24.3.1
|
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.3.1/manifest-merger-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.5.0/manifest-merger-24.5.0
|
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/24.5.0/manifest-merger-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/25.2.0/manifest-merger-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/25.2.3/manifest-merger-25.2.3
|
https://jcenter.bintray.com/com/android/tools/build/manifest-merger/25.2.3/manifest-merger-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/build/transform-api/1.5.0/transform-api-1.5.0
|
https://jcenter.bintray.com/com/android/tools/build/transform-api/1.5.0/transform-api-1.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/common/24.1.3/common-24.1.3
|
https://jcenter.bintray.com/com/android/tools/common/24.1.3/common-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/common/24.3.0/common-24.3.0
|
https://jcenter.bintray.com/com/android/tools/common/24.3.0/common-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/common/24.3.1/common-24.3.1
|
https://jcenter.bintray.com/com/android/tools/common/24.3.1/common-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/common/24.5.0/common-24.5.0
|
https://jcenter.bintray.com/com/android/tools/common/24.5.0/common-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/common/25.2.0/common-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/common/25.2.3/common-25.2.3
|
https://jcenter.bintray.com/com/android/tools/common/25.2.3/common-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.1.3/ddmlib-24.1.3
|
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.1.3/ddmlib-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0
|
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.3.1/ddmlib-24.3.1
|
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.3.1/ddmlib-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.5.0/ddmlib-24.5.0
|
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/24.5.0/ddmlib-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/25.2.0/ddmlib-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/25.2.3/ddmlib-25.2.3
|
https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/25.2.3/ddmlib-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/dvlib/24.1.3/dvlib-24.1.3
|
https://jcenter.bintray.com/com/android/tools/dvlib/24.1.3/dvlib-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/dvlib/24.3.0/dvlib-24.3.0
|
https://jcenter.bintray.com/com/android/tools/dvlib/24.3.0/dvlib-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/dvlib/24.3.1/dvlib-24.3.1
|
https://jcenter.bintray.com/com/android/tools/dvlib/24.3.1/dvlib-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/dvlib/24.5.0/dvlib-24.5.0
|
https://jcenter.bintray.com/com/android/tools/dvlib/24.5.0/dvlib-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/dvlib/25.2.0/dvlib-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/dvlib/25.2.3/dvlib-25.2.3
|
https://jcenter.bintray.com/com/android/tools/dvlib/25.2.3/dvlib-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/external/com-intellij/uast/145.597.3/uast-145.597.3
|
|
||||||
https://jcenter.bintray.com/com/android/tools/external/com-intellij/uast/145.597.4/uast-145.597.4
|
https://jcenter.bintray.com/com/android/tools/external/com-intellij/uast/145.597.4/uast-145.597.4
|
||||||
https://jcenter.bintray.com/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3
|
https://jcenter.bintray.com/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/jack/jack-api/0.11.0/jack-api-0.11.0
|
https://jcenter.bintray.com/com/android/tools/jack/jack-api/0.11.0/jack-api-0.11.0
|
||||||
@ -347,39 +256,32 @@ https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/24.1.3/lay
|
|||||||
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0
|
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/24.3.1/layoutlib-api-24.3.1
|
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/24.3.1/layoutlib-api-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/24.5.0/layoutlib-api-24.5.0
|
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/24.5.0/layoutlib-api-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/25.2.0/layoutlib-api-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/25.2.3/layoutlib-api-25.2.3
|
https://jcenter.bintray.com/com/android/tools/layoutlib/layoutlib-api/25.2.3/layoutlib-api-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.1.3/lint-api-24.1.3
|
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.1.3/lint-api-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0
|
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.3.1/lint-api-24.3.1
|
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.3.1/lint-api-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.5.0/lint-api-24.5.0
|
https://jcenter.bintray.com/com/android/tools/lint/lint-api/24.5.0/lint-api-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-api/25.2.0/lint-api-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-api/25.2.3/lint-api-25.2.3
|
https://jcenter.bintray.com/com/android/tools/lint/lint-api/25.2.3/lint-api-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.1.3/lint-checks-24.1.3
|
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.1.3/lint-checks-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0
|
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.3.1/lint-checks-24.3.1
|
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.3.1/lint-checks-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.5.0/lint-checks-24.5.0
|
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/24.5.0/lint-checks-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/25.2.0/lint-checks-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/25.2.3/lint-checks-25.2.3
|
https://jcenter.bintray.com/com/android/tools/lint/lint-checks/25.2.3/lint-checks-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint/24.1.3/lint-24.1.3
|
https://jcenter.bintray.com/com/android/tools/lint/lint/24.1.3/lint-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint/24.3.0/lint-24.3.0
|
https://jcenter.bintray.com/com/android/tools/lint/lint/24.3.0/lint-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint/24.3.1/lint-24.3.1
|
https://jcenter.bintray.com/com/android/tools/lint/lint/24.3.1/lint-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint/24.5.0/lint-24.5.0
|
https://jcenter.bintray.com/com/android/tools/lint/lint/24.5.0/lint-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint/25.2.0/lint-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/lint/lint/25.2.3/lint-25.2.3
|
https://jcenter.bintray.com/com/android/tools/lint/lint/25.2.3/lint-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/repository/25.2.0/repository-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/repository/25.2.3/repository-25.2.3
|
https://jcenter.bintray.com/com/android/tools/repository/25.2.3/repository-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/sdk-common/24.1.3/sdk-common-24.1.3
|
https://jcenter.bintray.com/com/android/tools/sdk-common/24.1.3/sdk-common-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0
|
https://jcenter.bintray.com/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/sdk-common/24.3.1/sdk-common-24.3.1
|
https://jcenter.bintray.com/com/android/tools/sdk-common/24.3.1/sdk-common-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/sdk-common/24.5.0/sdk-common-24.5.0
|
https://jcenter.bintray.com/com/android/tools/sdk-common/24.5.0/sdk-common-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/sdk-common/25.2.0/sdk-common-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/sdk-common/25.2.3/sdk-common-25.2.3
|
https://jcenter.bintray.com/com/android/tools/sdk-common/25.2.3/sdk-common-25.2.3
|
||||||
https://jcenter.bintray.com/com/android/tools/sdklib/24.1.3/sdklib-24.1.3
|
https://jcenter.bintray.com/com/android/tools/sdklib/24.1.3/sdklib-24.1.3
|
||||||
https://jcenter.bintray.com/com/android/tools/sdklib/24.3.0/sdklib-24.3.0
|
https://jcenter.bintray.com/com/android/tools/sdklib/24.3.0/sdklib-24.3.0
|
||||||
https://jcenter.bintray.com/com/android/tools/sdklib/24.3.1/sdklib-24.3.1
|
https://jcenter.bintray.com/com/android/tools/sdklib/24.3.1/sdklib-24.3.1
|
||||||
https://jcenter.bintray.com/com/android/tools/sdklib/24.5.0/sdklib-24.5.0
|
https://jcenter.bintray.com/com/android/tools/sdklib/24.5.0/sdklib-24.5.0
|
||||||
https://jcenter.bintray.com/com/android/tools/sdklib/25.2.0/sdklib-25.2.0
|
|
||||||
https://jcenter.bintray.com/com/android/tools/sdklib/25.2.3/sdklib-25.2.3
|
https://jcenter.bintray.com/com/android/tools/sdklib/25.2.3/sdklib-25.2.3
|
||||||
https://jcenter.bintray.com/com/diffplug/durian/durian-collect/1.2.0/durian-collect-1.2.0
|
https://jcenter.bintray.com/com/diffplug/durian/durian-collect/1.2.0/durian-collect-1.2.0
|
||||||
https://jcenter.bintray.com/com/diffplug/durian/durian-core/1.2.0/durian-core-1.2.0
|
https://jcenter.bintray.com/com/diffplug/durian/durian-core/1.2.0/durian-core-1.2.0
|
||||||
@ -401,34 +303,26 @@ https://jcenter.bintray.com/com/facebook/fresco/nativeimagefilters/2.0.0/nativei
|
|||||||
https://jcenter.bintray.com/com/facebook/fresco/nativeimagetranscoder/2.0.0/nativeimagetranscoder-2.0.0
|
https://jcenter.bintray.com/com/facebook/fresco/nativeimagetranscoder/2.0.0/nativeimagetranscoder-2.0.0
|
||||||
https://jcenter.bintray.com/com/facebook/infer/annotation/infer-annotation/0.11.2/infer-annotation-0.11.2
|
https://jcenter.bintray.com/com/facebook/infer/annotation/infer-annotation/0.11.2/infer-annotation-0.11.2
|
||||||
https://jcenter.bintray.com/com/facebook/soloader/soloader/0.6.0/soloader-0.6.0
|
https://jcenter.bintray.com/com/facebook/soloader/soloader/0.6.0/soloader-0.6.0
|
||||||
https://jcenter.bintray.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4
|
|
||||||
https://jcenter.bintray.com/com/google/auto/value/auto-value-annotations/1.6.3/auto-value-annotations-1.6.3
|
|
||||||
https://jcenter.bintray.com/com/google/auto/value/auto-value/1.5.2/auto-value-1.5.2
|
https://jcenter.bintray.com/com/google/auto/value/auto-value/1.5.2/auto-value-1.5.2
|
||||||
https://jcenter.bintray.com/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9
|
https://jcenter.bintray.com/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9
|
||||||
https://jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2
|
https://jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2
|
||||||
https://jcenter.bintray.com/com/google/code/gson/gson/2.2.4/gson-2.2.4
|
https://jcenter.bintray.com/com/google/code/gson/gson/2.2.4/gson-2.2.4
|
||||||
https://jcenter.bintray.com/com/google/code/gson/gson/2.3/gson-2.3
|
https://jcenter.bintray.com/com/google/code/gson/gson/2.3/gson-2.3
|
||||||
https://jcenter.bintray.com/com/google/code/gson/gson/2.7/gson-2.7
|
|
||||||
https://jcenter.bintray.com/com/google/code/gson/gson/2.8.0/gson-2.8.0
|
https://jcenter.bintray.com/com/google/code/gson/gson/2.8.0/gson-2.8.0
|
||||||
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18
|
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18
|
||||||
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.1.2/error_prone_annotations-2.1.2
|
|
||||||
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3
|
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3
|
||||||
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0
|
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0
|
||||||
https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2
|
|
||||||
https://jcenter.bintray.com/com/google/guava/guava/17.0/guava-17.0
|
https://jcenter.bintray.com/com/google/guava/guava/17.0/guava-17.0
|
||||||
https://jcenter.bintray.com/com/google/guava/guava/18.0/guava-18.0
|
https://jcenter.bintray.com/com/google/guava/guava/18.0/guava-18.0
|
||||||
https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0
|
https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0
|
||||||
https://jcenter.bintray.com/com/google/guava/guava/23.0/guava-23.0
|
https://jcenter.bintray.com/com/google/guava/guava/23.0/guava-23.0
|
||||||
https://jcenter.bintray.com/com/google/guava/guava/26.0-android/guava-26.0-android
|
|
||||||
https://jcenter.bintray.com/com/google/guava/guava/26.0-jre/guava-26.0-jre
|
https://jcenter.bintray.com/com/google/guava/guava/26.0-jre/guava-26.0-jre
|
||||||
https://jcenter.bintray.com/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava
|
|
||||||
https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1
|
https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1
|
||||||
https://jcenter.bintray.com/com/google/jimfs/jimfs/1.1/jimfs-1.1
|
https://jcenter.bintray.com/com/google/jimfs/jimfs/1.1/jimfs-1.1
|
||||||
https://jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0
|
https://jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0
|
||||||
https://jcenter.bintray.com/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0
|
https://jcenter.bintray.com/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0
|
||||||
https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.0.0/protobuf-java-3.0.0
|
https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.0.0/protobuf-java-3.0.0
|
||||||
https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.4.0/protobuf-java-3.4.0
|
https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.4.0/protobuf-java-3.4.0
|
||||||
https://jcenter.bintray.com/com/google/protobuf/protobuf-lite/3.0.1/protobuf-lite-3.0.1
|
|
||||||
https://jcenter.bintray.com/com/google/zxing/core/3.3.3/core-3.3.3
|
https://jcenter.bintray.com/com/google/zxing/core/3.3.3/core-3.3.3
|
||||||
https://jcenter.bintray.com/com/googlecode/concurrent-trees/concurrent-trees/2.6.1/concurrent-trees-2.6.1
|
https://jcenter.bintray.com/com/googlecode/concurrent-trees/concurrent-trees/2.6.1/concurrent-trees-2.6.1
|
||||||
https://jcenter.bintray.com/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6
|
https://jcenter.bintray.com/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6
|
||||||
@ -439,7 +333,6 @@ https://jcenter.bintray.com/com/jcraft/jsch/0.1.54/jsch-0.1.54
|
|||||||
https://jcenter.bintray.com/com/parse/bolts/bolts-tasks/1.4.0/bolts-tasks-1.4.0
|
https://jcenter.bintray.com/com/parse/bolts/bolts-tasks/1.4.0/bolts-tasks-1.4.0
|
||||||
https://jcenter.bintray.com/com/squareup/javapoet/1.8.0/javapoet-1.8.0
|
https://jcenter.bintray.com/com/squareup/javapoet/1.8.0/javapoet-1.8.0
|
||||||
https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0
|
https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0
|
||||||
https://jcenter.bintray.com/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5
|
|
||||||
https://jcenter.bintray.com/com/squareup/okhttp3/okhttp-urlconnection/3.12.1/okhttp-urlconnection-3.12.1
|
https://jcenter.bintray.com/com/squareup/okhttp3/okhttp-urlconnection/3.12.1/okhttp-urlconnection-3.12.1
|
||||||
https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.12.1/okhttp-3.12.1
|
https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.12.1/okhttp-3.12.1
|
||||||
https://jcenter.bintray.com/com/squareup/okio/okio/1.15.0/okio-1.15.0
|
https://jcenter.bintray.com/com/squareup/okio/okio/1.15.0/okio-1.15.0
|
||||||
@ -457,20 +350,10 @@ https://jcenter.bintray.com/commons-io/commons-io/2.4/commons-io-2.4
|
|||||||
https://jcenter.bintray.com/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1
|
https://jcenter.bintray.com/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1
|
||||||
https://jcenter.bintray.com/commons-logging/commons-logging/1.2/commons-logging-1.2
|
https://jcenter.bintray.com/commons-logging/commons-logging/1.2/commons-logging-1.2
|
||||||
https://jcenter.bintray.com/de/undercouch/gradle-download-task/3.1.2/gradle-download-task-3.1.2
|
https://jcenter.bintray.com/de/undercouch/gradle-download-task/3.1.2/gradle-download-task-3.1.2
|
||||||
https://jcenter.bintray.com/io/grpc/grpc-android/1.21.0/grpc-android-1.21.0
|
|
||||||
https://jcenter.bintray.com/io/grpc/grpc-api/1.21.0/grpc-api-1.21.0
|
|
||||||
https://jcenter.bintray.com/io/grpc/grpc-context/1.21.0/grpc-context-1.21.0
|
|
||||||
https://jcenter.bintray.com/io/grpc/grpc-core/1.21.0/grpc-core-1.21.0
|
|
||||||
https://jcenter.bintray.com/io/grpc/grpc-okhttp/1.21.0/grpc-okhttp-1.21.0
|
|
||||||
https://jcenter.bintray.com/io/grpc/grpc-protobuf-lite/1.21.0/grpc-protobuf-lite-1.21.0
|
|
||||||
https://jcenter.bintray.com/io/grpc/grpc-stub/1.21.0/grpc-stub-1.21.0
|
|
||||||
https://jcenter.bintray.com/io/opencensus/opencensus-api/0.21.0/opencensus-api-0.21.0
|
|
||||||
https://jcenter.bintray.com/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0
|
|
||||||
https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0
|
https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0
|
||||||
https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1
|
https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1
|
||||||
https://jcenter.bintray.com/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/jaxb-api-2.2.12-b140109.1041
|
https://jcenter.bintray.com/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/jaxb-api-2.2.12-b140109.1041
|
||||||
https://jcenter.bintray.com/junit/junit/4.12/junit-4.12
|
https://jcenter.bintray.com/junit/junit/4.12/junit-4.12
|
||||||
https://jcenter.bintray.com/me/leolin/ShortcutBadger/1.1.22/ShortcutBadger-1.1.22
|
|
||||||
https://jcenter.bintray.com/me/zhanghai/android/materialprogressbar/library/1.4.2/library-1.4.2
|
https://jcenter.bintray.com/me/zhanghai/android/materialprogressbar/library/1.4.2/library-1.4.2
|
||||||
https://jcenter.bintray.com/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9
|
https://jcenter.bintray.com/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9
|
||||||
https://jcenter.bintray.com/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0
|
https://jcenter.bintray.com/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0
|
||||||
@ -507,13 +390,11 @@ https://jcenter.bintray.com/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-
|
|||||||
https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48
|
https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48
|
||||||
https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56
|
https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56
|
||||||
https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.60/bcprov-jdk15on-1.60
|
https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.60/bcprov-jdk15on-1.60
|
||||||
https://jcenter.bintray.com/org/checkerframework/checker-compat-qual/2.5.2/checker-compat-qual-2.5.2
|
|
||||||
https://jcenter.bintray.com/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2
|
https://jcenter.bintray.com/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2
|
||||||
https://jcenter.bintray.com/org/codehaus/groovy/groovy-all/2.4.15/groovy-all-2.4.15
|
https://jcenter.bintray.com/org/codehaus/groovy/groovy-all/2.4.15/groovy-all-2.4.15
|
||||||
https://jcenter.bintray.com/org/codehaus/groovy/groovy-xml/2.4.7/groovy-xml-2.4.7
|
https://jcenter.bintray.com/org/codehaus/groovy/groovy-xml/2.4.7/groovy-xml-2.4.7
|
||||||
https://jcenter.bintray.com/org/codehaus/groovy/groovy/2.4.7/groovy-2.4.7
|
https://jcenter.bintray.com/org/codehaus/groovy/groovy/2.4.7/groovy-2.4.7
|
||||||
https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14
|
https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14
|
||||||
https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17
|
|
||||||
https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2
|
https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2
|
||||||
https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.4/ecj-4.4
|
https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.4/ecj-4.4
|
||||||
https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1
|
https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1
|
||||||
@ -556,17 +437,13 @@ https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.31/kotli
|
|||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.2.71/kotlin-stdlib-jdk8-1.2.71
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.2.71/kotlin-stdlib-jdk8-1.2.71
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.31/kotlin-stdlib-jdk8-1.3.31
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.31/kotlin-stdlib-jdk8-1.3.31
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jre7/1.2.0/kotlin-stdlib-jre7-1.2.0
|
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jre8/1.2.0/kotlin-stdlib-jre8-1.2.0
|
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.2.0/kotlin-stdlib-1.2.0
|
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.2.71/kotlin-stdlib-1.2.71
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.2.71/kotlin-stdlib-1.2.71
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.11/kotlin-stdlib-1.3.11
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.11/kotlin-stdlib-1.3.11
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20
|
||||||
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.31/kotlin-stdlib-1.3.31
|
https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.31/kotlin-stdlib-1.3.31
|
||||||
https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824
|
https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824
|
||||||
https://jcenter.bintray.com/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7
|
https://jcenter.bintray.com/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7
|
||||||
https://jcenter.bintray.com/org/nanohttpd/nanohttpd/2.3.1/nanohttpd-2.3.1
|
|
||||||
https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3
|
https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3
|
||||||
https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4
|
https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4
|
||||||
https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.1/asm-analysis-5.1
|
https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.1/asm-analysis-5.1
|
||||||
@ -594,7 +471,7 @@ https://maven.java.net/content/repositories/releases/org/glassfish/build/gfnexus
|
|||||||
https://maven.java.net/content/repositories/releases/org/glassfish/hk2/hk2-parent/2.1.14/hk2-parent-2.1.14
|
https://maven.java.net/content/repositories/releases/org/glassfish/hk2/hk2-parent/2.1.14/hk2-parent-2.1.14
|
||||||
https://maven.java.net/content/repositories/releases/org/glassfish/hk2/hk2-public/2.1.14/hk2-public-2.1.14
|
https://maven.java.net/content/repositories/releases/org/glassfish/hk2/hk2-public/2.1.14/hk2-public-2.1.14
|
||||||
https://maven.java.net/content/repositories/releases/org/glassfish/hk2/osgiversion-maven-plugin/2.1.14/osgiversion-maven-plugin-2.1.14
|
https://maven.java.net/content/repositories/releases/org/glassfish/hk2/osgiversion-maven-plugin/2.1.14/osgiversion-maven-plugin-2.1.14
|
||||||
https://oss.sonatype.org/content/repositories/snapshots/junit/junit/4.13-SNAPSHOT/junit-4.13-20190621.062355-185
|
https://oss.sonatype.org/content/repositories/snapshots/junit/junit/4.13-SNAPSHOT/junit-4.13-20191026.122450-195
|
||||||
https://plugins.gradle.org/m2/com/diffplug/gradle/spotless/com.diffplug.gradle.spotless.gradle.plugin/3.23.0/com.diffplug.gradle.spotless.gradle.plugin-3.23.0
|
https://plugins.gradle.org/m2/com/diffplug/gradle/spotless/com.diffplug.gradle.spotless.gradle.plugin/3.23.0/com.diffplug.gradle.spotless.gradle.plugin-3.23.0
|
||||||
https://plugins.gradle.org/m2/com/diffplug/spotless/spotless-plugin-gradle/3.23.0/spotless-plugin-gradle-3.23.0
|
https://plugins.gradle.org/m2/com/diffplug/spotless/spotless-plugin-gradle/3.23.0/spotless-plugin-gradle-3.23.0
|
||||||
https://repo.maven.apache.org/maven2/antlr/antlr/2.7.2/antlr-2.7.2
|
https://repo.maven.apache.org/maven2/antlr/antlr/2.7.2/antlr-2.7.2
|
||||||
@ -666,17 +543,16 @@ https://repo.maven.apache.org/maven2/com/google/auto/auto-common/0.3/auto-common
|
|||||||
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/2/auto-parent-2
|
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/2/auto-parent-2
|
||||||
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/3/auto-parent-3
|
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/3/auto-parent-3
|
||||||
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/6/auto-parent-6
|
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/6/auto-parent-6
|
||||||
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/7/auto-parent-7
|
|
||||||
https://repo.maven.apache.org/maven2/com/google/auto/service/auto-service/1.0-rc2/auto-service-1.0-rc2
|
https://repo.maven.apache.org/maven2/com/google/auto/service/auto-service/1.0-rc2/auto-service-1.0-rc2
|
||||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2
|
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2
|
||||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.6.2/auto-value-parent-1.6.2
|
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.6.2/auto-value-parent-1.6.2
|
||||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.6.3/auto-value-parent-1.6.3
|
|
||||||
https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.0/annotations-3.0.0
|
https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.0/annotations-3.0.0
|
||||||
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1
|
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1
|
||||||
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0
|
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0
|
||||||
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1
|
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1
|
||||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.7/gson-parent-2.7
|
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.7/gson-parent-2.7
|
||||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.0/gson-parent-2.8.0
|
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.0/gson-parent-2.8.0
|
||||||
|
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.7/gson-2.7
|
||||||
https://repo.maven.apache.org/maven2/com/google/code/maven-replacer-plugin/replacer/1.5.3/replacer-1.5.3
|
https://repo.maven.apache.org/maven2/com/google/code/maven-replacer-plugin/replacer/1.5.3/replacer-1.5.3
|
||||||
https://repo.maven.apache.org/maven2/com/google/collections/google-collections/1.0-rc1/google-collections-1.0-rc1
|
https://repo.maven.apache.org/maven2/com/google/collections/google-collections/1.0-rc1/google-collections-1.0-rc1
|
||||||
https://repo.maven.apache.org/maven2/com/google/collections/google-collections/1.0/google-collections-1.0
|
https://repo.maven.apache.org/maven2/com/google/collections/google-collections/1.0/google-collections-1.0
|
||||||
@ -684,11 +560,9 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotatio
|
|||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.0.12/error_prone_parent-2.0.12
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.0.12/error_prone_parent-2.0.12
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.0.18/error_prone_parent-2.0.18
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.0.18/error_prone_parent-2.0.18
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.1.2/error_prone_parent-2.1.2
|
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.1.3/error_prone_parent-2.1.3
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.1.3/error_prone_parent-2.1.3
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.2/error_prone_parent-2.3.2
|
|
||||||
https://repo.maven.apache.org/maven2/com/google/google/1/google-1
|
https://repo.maven.apache.org/maven2/com/google/google/1/google-1
|
||||||
https://repo.maven.apache.org/maven2/com/google/google/5/google-5
|
https://repo.maven.apache.org/maven2/com/google/google/5/google-5
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0
|
https://repo.maven.apache.org/maven2/com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0
|
||||||
@ -704,11 +578,9 @@ https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/21.0/guava-pa
|
|||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/22.0/guava-parent-22.0
|
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/22.0/guava-parent-22.0
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/23.0/guava-parent-23.0
|
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/23.0/guava-parent-23.0
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/25.1-android/guava-parent-25.1-android
|
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/25.1-android/guava-parent-25.1-android
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/26.0-android/guava-parent-26.0-android
|
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/26.0-jre/guava-parent-26.0-jre
|
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/26.0-jre/guava-parent-26.0-jre
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/18.0/guava-testlib-18.0
|
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/18.0/guava-testlib-18.0
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/23.0/guava-testlib-23.0
|
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/23.0/guava-testlib-23.0
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/26.0-android/guava-testlib-26.0-android
|
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/10.0.1/guava-10.0.1
|
https://repo.maven.apache.org/maven2/com/google/guava/guava/10.0.1/guava-10.0.1
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/14.0.1/guava-14.0.1
|
https://repo.maven.apache.org/maven2/com/google/guava/guava/14.0.1/guava-14.0.1
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/16.0.1/guava-16.0.1
|
https://repo.maven.apache.org/maven2/com/google/guava/guava/16.0.1/guava-16.0.1
|
||||||
@ -750,32 +622,15 @@ https://repo.maven.apache.org/maven2/com/googlecode/jmockit/jmockit/1.6/jmockit-
|
|||||||
https://repo.maven.apache.org/maven2/com/googlecode/maven-download-plugin/download-maven-plugin/1.2.0/download-maven-plugin-1.2.0
|
https://repo.maven.apache.org/maven2/com/googlecode/maven-download-plugin/download-maven-plugin/1.2.0/download-maven-plugin-1.2.0
|
||||||
https://repo.maven.apache.org/maven2/com/ibm/icu/icu4j/51.2/icu4j-51.2
|
https://repo.maven.apache.org/maven2/com/ibm/icu/icu4j/51.2/icu4j-51.2
|
||||||
https://repo.maven.apache.org/maven2/com/intellij/annotations/9.0.4/annotations-9.0.4
|
https://repo.maven.apache.org/maven2/com/intellij/annotations/9.0.4/annotations-9.0.4
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy.connector-factory/0.0.6/jsch.agentproxy.connector-factory-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy.core/0.0.6/jsch.agentproxy.core-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy.jsch/0.0.6/jsch.agentproxy.jsch-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy.pageant/0.0.6/jsch.agentproxy.pageant-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy.sshagent/0.0.6/jsch.agentproxy.sshagent-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy.usocket-jna/0.0.6/jsch.agentproxy.usocket-jna-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy.usocket-nc/0.0.6/jsch.agentproxy.usocket-nc-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch.agentproxy/0.0.6/jsch.agentproxy-0.0.6
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1
|
https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.49/jsch-0.1.49
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.50/jsch-0.1.50
|
|
||||||
https://repo.maven.apache.org/maven2/com/jcraft/jzlib/1.0.7/jzlib-1.0.7
|
https://repo.maven.apache.org/maven2/com/jcraft/jzlib/1.0.7/jzlib-1.0.7
|
||||||
https://repo.maven.apache.org/maven2/com/simpligility/maven/plugins/android-maven-plugin/4.5.0/android-maven-plugin-4.5.0
|
https://repo.maven.apache.org/maven2/com/simpligility/maven/plugins/android-maven-plugin/4.5.0/android-maven-plugin-4.5.0
|
||||||
https://repo.maven.apache.org/maven2/com/simpligility/maven/progressive-organization-pom/6.0.0/progressive-organization-pom-6.0.0
|
https://repo.maven.apache.org/maven2/com/simpligility/maven/progressive-organization-pom/6.0.0/progressive-organization-pom-6.0.0
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp/okhttp/2.5.0/okhttp-2.5.0
|
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp/parent/2.5.0/parent-2.5.0
|
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp/parent/2.7.5/parent-2.7.5
|
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/mockwebserver/3.12.1/mockwebserver-3.12.1
|
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/mockwebserver/3.12.1/mockwebserver-3.12.1
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp-testing-support/3.12.1/okhttp-testing-support-3.12.1
|
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp-testing-support/3.12.1/okhttp-testing-support-3.12.1
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp-tls/3.12.1/okhttp-tls-3.12.1
|
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp-tls/3.12.1/okhttp-tls-3.12.1
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/parent/3.12.1/parent-3.12.1
|
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/parent/3.12.1/parent-3.12.1
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-parent/1.13.0/okio-parent-1.13.0
|
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-parent/1.15.0/okio-parent-1.15.0
|
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-parent/1.15.0/okio-parent-1.15.0
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-parent/1.6.0/okio-parent-1.6.0
|
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.13.0/okio-1.13.0
|
|
||||||
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.6.0/okio-1.6.0
|
|
||||||
https://repo.maven.apache.org/maven2/com/sun/activation/all/1.2.0/all-1.2.0
|
https://repo.maven.apache.org/maven2/com/sun/activation/all/1.2.0/all-1.2.0
|
||||||
https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/2.21/istack-commons-2.21
|
https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/2.21/istack-commons-2.21
|
||||||
https://repo.maven.apache.org/maven2/com/sun/jersey/contribs/jersey-apache-client4/1.12/jersey-apache-client4-1.12
|
https://repo.maven.apache.org/maven2/com/sun/jersey/contribs/jersey-apache-client4/1.12/jersey-apache-client4-1.12
|
||||||
@ -846,7 +701,6 @@ https://repo.maven.apache.org/maven2/commons-validator/commons-validator/1.3.1/c
|
|||||||
https://repo.maven.apache.org/maven2/de/zeigermann/xml/xml-im-exporter/1.1/xml-im-exporter-1.1
|
https://repo.maven.apache.org/maven2/de/zeigermann/xml/xml-im-exporter/1.1/xml-im-exporter-1.1
|
||||||
https://repo.maven.apache.org/maven2/dom4j/dom4j/1.1/dom4j-1.1
|
https://repo.maven.apache.org/maven2/dom4j/dom4j/1.1/dom4j-1.1
|
||||||
https://repo.maven.apache.org/maven2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4
|
https://repo.maven.apache.org/maven2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4
|
||||||
https://repo.maven.apache.org/maven2/io/grpc/grpc-context/1.19.0/grpc-context-1.19.0
|
|
||||||
https://repo.maven.apache.org/maven2/io/netty/netty-all/4.0.35.Final/netty-all-4.0.35.Final
|
https://repo.maven.apache.org/maven2/io/netty/netty-all/4.0.35.Final/netty-all-4.0.35.Final
|
||||||
https://repo.maven.apache.org/maven2/io/netty/netty-parent/4.0.35.Final/netty-parent-4.0.35.Final
|
https://repo.maven.apache.org/maven2/io/netty/netty-parent/4.0.35.Final/netty-parent-4.0.35.Final
|
||||||
https://repo.maven.apache.org/maven2/javax/activation/activation/1.1/activation-1.1
|
https://repo.maven.apache.org/maven2/javax/activation/activation/1.1/activation-1.1
|
||||||
@ -887,8 +741,6 @@ https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.8.5/byte-
|
|||||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.6.5/byte-buddy-1.6.5
|
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.6.5/byte-buddy-1.6.5
|
||||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.8.10/byte-buddy-1.8.10
|
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.8.10/byte-buddy-1.8.10
|
||||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.8.5/byte-buddy-1.8.5
|
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.8.5/byte-buddy-1.8.5
|
||||||
https://repo.maven.apache.org/maven2/net/java/dev/jna/jna/3.4.0/jna-3.4.0
|
|
||||||
https://repo.maven.apache.org/maven2/net/java/dev/jna/platform/3.4.0/platform-3.4.0
|
|
||||||
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/1/jvnet-parent-1
|
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/1/jvnet-parent-1
|
||||||
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/3/jvnet-parent-3
|
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/3/jvnet-parent-3
|
||||||
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/4/jvnet-parent-4
|
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/4/jvnet-parent-4
|
||||||
@ -930,7 +782,6 @@ https://repo.maven.apache.org/maven2/org/apache/apache/4/apache-4
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/apache/5/apache-5
|
https://repo.maven.apache.org/maven2/org/apache/apache/5/apache-5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/apache/6/apache-6
|
https://repo.maven.apache.org/maven2/org/apache/apache/6/apache-6
|
||||||
https://repo.maven.apache.org/maven2/org/apache/apache/7/apache-7
|
https://repo.maven.apache.org/maven2/org/apache/apache/7/apache-7
|
||||||
https://repo.maven.apache.org/maven2/org/apache/apache/8/apache-8
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9
|
https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9
|
||||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-build-plugin/1.1/commons-build-plugin-1.1
|
https://repo.maven.apache.org/maven2/org/apache/commons/commons-build-plugin/1.1/commons-build-plugin-1.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-build-plugin/1.10/commons-build-plugin-1.10
|
https://repo.maven.apache.org/maven2/org/apache/commons/commons-build-plugin/1.10/commons-build-plugin-1.10
|
||||||
@ -984,16 +835,12 @@ https://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.bundlerep
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.utils/1.6.0/org.apache.felix.utils-1.6.0
|
https://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.utils/1.6.0/org.apache.felix.utils-1.6.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.1.3/httpclient-4.1.3
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.1.3/httpclient-4.1.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.2.2/httpclient-4.2.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.2.5/httpclient-4.2.5
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.5/httpclient-4.3.5
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.5/httpclient-4.3.5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1.1/httpcomponents-client-4.1.1
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1.1/httpcomponents-client-4.1.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1.3/httpcomponents-client-4.1.3
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1.3/httpcomponents-client-4.1.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1/httpcomponents-client-4.1
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1/httpcomponents-client-4.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.2.2/httpcomponents-client-4.2.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.2.5/httpcomponents-client-4.2.5
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.2.6/httpcomponents-client-4.2.6
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.2.6/httpcomponents-client-4.2.6
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.3.5/httpcomponents-client-4.3.5
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.3.5/httpcomponents-client-4.3.5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.3.6/httpcomponents-client-4.3.6
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.3.6/httpcomponents-client-4.3.6
|
||||||
@ -1002,8 +849,6 @@ https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-cl
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.1.4/httpcomponents-core-4.1.4
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.1.4/httpcomponents-core-4.1.4
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.1/httpcomponents-core-4.1
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.1/httpcomponents-core-4.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.2.2/httpcomponents-core-4.2.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.2.4/httpcomponents-core-4.2.4
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.2.5/httpcomponents-core-4.2.5
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.2.5/httpcomponents-core-4.2.5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.3.2/httpcomponents-core-4.3.2
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.3.2/httpcomponents-core-4.3.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.3.3/httpcomponents-core-4.3.3
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.3.3/httpcomponents-core-4.3.3
|
||||||
@ -1013,18 +858,14 @@ https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-co
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-parent/10/httpcomponents-parent-10
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-parent/10/httpcomponents-parent-10
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.1.4/httpcore-4.1.4
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.1.4/httpcore-4.1.4
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.2/httpcore-4.2.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.4/httpcore-4.2.4
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.2.5/httpmime-4.2.5
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/maven-notice-plugin/0.0.2/maven-notice-plugin-0.0.2
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/maven-notice-plugin/0.0.2/maven-notice-plugin-0.0.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/4.0/project-4.0
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/4.0/project-4.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/4.1.1/project-4.1.1
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/4.1.1/project-4.1.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/4.1/project-4.1
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/4.1/project-4.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/5/project-5
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/5/project-5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/6/project-6
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/7/project-7
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/7/project-7
|
||||||
https://repo.maven.apache.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0
|
https://repo.maven.apache.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/2.5.2/jackrabbit-parent-2.5.2
|
https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/2.5.2/jackrabbit-parent-2.5.2
|
||||||
@ -1142,7 +983,6 @@ https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/13/maven-pare
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/15/maven-parent-15
|
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/15/maven-parent-15
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/16/maven-parent-16
|
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/16/maven-parent-16
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/17/maven-parent-17
|
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/17/maven-parent-17
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/18/maven-parent-18
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/19/maven-parent-19
|
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/19/maven-parent-19
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/20/maven-parent-20
|
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/20/maven-parent-20
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/21/maven-parent-21
|
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/21/maven-parent-21
|
||||||
@ -1258,11 +1098,8 @@ https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plu
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.5/maven-assembly-plugin-2.5
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.5/maven-assembly-plugin-2.5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/3.1.1/maven-assembly-plugin-3.1.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/3.1.1/maven-assembly-plugin-3.1.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-changes-plugin/2.11/maven-changes-plugin-2.11
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.10/maven-checkstyle-plugin-2.10
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.11/maven-checkstyle-plugin-2.11
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.11/maven-checkstyle-plugin-2.11
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.13/maven-checkstyle-plugin-2.13
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.13/maven-checkstyle-plugin-2.13
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.16/maven-checkstyle-plugin-2.16
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.17/maven-checkstyle-plugin-2.17
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.17/maven-checkstyle-plugin-2.17
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.9.1/maven-checkstyle-plugin-2.9.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.9.1/maven-checkstyle-plugin-2.9.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/3.0.0/maven-checkstyle-plugin-3.0.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/3.0.0/maven-checkstyle-plugin-3.0.0
|
||||||
@ -1323,7 +1160,6 @@ https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plug
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/3.0.0-M1/maven-install-plugin-3.0.0-M1
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/3.0.0-M1/maven-install-plugin-3.0.0-M1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-invoker-plugin/1.8/maven-invoker-plugin-1.8
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-invoker-plugin/1.8/maven-invoker-plugin-1.8
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-invoker-plugin/3.0.1/maven-invoker-plugin-3.0.1
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1/maven-jar-plugin-2.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1/maven-jar-plugin-2.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.3.1/maven-jar-plugin-2.3.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.3.1/maven-jar-plugin-2.3.1
|
||||||
@ -1377,7 +1213,6 @@ https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plug
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.0/maven-release-plugin-2.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.0/maven-release-plugin-2.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.4.2/maven-release-plugin-2.4.2
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.4.2/maven-release-plugin-2.4.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.5.1/maven-release-plugin-2.5.1
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.5.2/maven-release-plugin-2.5.2
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.5.2/maven-release-plugin-2.5.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.5.3/maven-release-plugin-2.5.3
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.5.3/maven-release-plugin-2.5.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.5/maven-release-plugin-2.5
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.5/maven-release-plugin-2.5
|
||||||
@ -1426,11 +1261,9 @@ https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plu
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.20.1/maven-surefire-plugin-2.20.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.20.1/maven-surefire-plugin-2.20.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.20/maven-surefire-plugin-2.20
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.20/maven-surefire-plugin-2.20
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.22.0/maven-surefire-plugin-2.22.0
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.3/maven-surefire-plugin-2.3
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.3/maven-surefire-plugin-2.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/maven-surefire-plugin-2.4.3
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.4.3/maven-surefire-plugin-2.4.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.5/maven-surefire-plugin-2.5
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.5/maven-surefire-plugin-2.5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.7.2/maven-surefire-plugin-2.7.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.9/maven-surefire-plugin-2.9
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.9/maven-surefire-plugin-2.9
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/3.0.0-M3/maven-surefire-plugin-3.0.0-M3
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/3.0.0-M3/maven-surefire-plugin-3.0.0-M3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-report-plugin/2.20/maven-surefire-report-plugin-2.20
|
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-report-plugin/2.20/maven-surefire-report-plugin-2.20
|
||||||
@ -1438,7 +1271,6 @@ https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/3
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.0/maven-release-2.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.0/maven-release-2.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.1/maven-release-2.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.1/maven-release-2.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.4.2/maven-release-2.4.2
|
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.4.2/maven-release-2.4.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.5.1/maven-release-2.5.1
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.5.2/maven-release-2.5.2
|
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.5.2/maven-release-2.5.2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.5.3/maven-release-2.5.3
|
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.5.3/maven-release-2.5.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.5/maven-release-2.5
|
https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.5/maven-release-2.5
|
||||||
@ -1536,11 +1368,9 @@ https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.19.1/s
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.20.1/surefire-2.20.1
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.20.1/surefire-2.20.1
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.20/surefire-2.20
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.20/surefire-2.20
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.21.0/surefire-2.21.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.21.0/surefire-2.21.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.22.0/surefire-2.22.0
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.3/surefire-2.3
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.3/surefire-2.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.4.3/surefire-2.4.3
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.4.3/surefire-2.4.3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.5/surefire-2.5
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.5/surefire-2.5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.7.2/surefire-2.7.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.9/surefire-2.9
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.9/surefire-2.9
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/3.0.0-M3/surefire-3.0.0-M3
|
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/3.0.0-M3/surefire-3.0.0-M3
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/2.7/wagon-http-shared-2.7
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/2.7/wagon-http-shared-2.7
|
||||||
@ -1555,10 +1385,8 @@ https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-
|
|||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-providers/2.0/wagon-providers-2.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-providers/2.0/wagon-providers-2.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-providers/2.7/wagon-providers-2.7
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-providers/2.7/wagon-providers-2.7
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/2.0/wagon-ssh-common-2.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/2.0/wagon-ssh-common-2.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/2.7/wagon-ssh-common-2.7
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-alpha-5/wagon-ssh-external-1.0-alpha-5
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-alpha-5/wagon-ssh-external-1.0-alpha-5
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.0/wagon-ssh-2.0
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.0/wagon-ssh-2.0
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.7/wagon-ssh-2.7
|
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/2.7/wagon-webdav-jackrabbit-2.7
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/2.7/wagon-webdav-jackrabbit-2.7
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav/1.0-beta-2/wagon-webdav-1.0-beta-2
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav/1.0-beta-2/wagon-webdav-1.0-beta-2
|
||||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6
|
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6
|
||||||
@ -1610,6 +1438,7 @@ https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-xc/1.9.2/jacks
|
|||||||
https://repo.maven.apache.org/maven2/org/codehaus/jsr166-mirror/jsr166y/1.7.0/jsr166y-1.7.0
|
https://repo.maven.apache.org/maven2/org/codehaus/jsr166-mirror/jsr166y/1.7.0/jsr166y-1.7.0
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.10/animal-sniffer-annotations-1.10
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.10/animal-sniffer-annotations-1.10
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.15/animal-sniffer-annotations-1.15
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.15/animal-sniffer-annotations-1.15
|
||||||
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-maven-plugin/1.10/animal-sniffer-maven-plugin-1.10
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-maven-plugin/1.10/animal-sniffer-maven-plugin-1.10
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-maven-plugin/1.11/animal-sniffer-maven-plugin-1.11
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-maven-plugin/1.11/animal-sniffer-maven-plugin-1.11
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-maven-plugin/1.13/animal-sniffer-maven-plugin-1.13
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-maven-plugin/1.13/animal-sniffer-maven-plugin-1.13
|
||||||
@ -1647,7 +1476,6 @@ https://repo.maven.apache.org/maven2/org/codehaus/mojo/cobertura-maven-plugin/2.
|
|||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/2.5.1/findbugs-maven-plugin-2.5.1
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/2.5.1/findbugs-maven-plugin-2.5.1
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/2.5.2/findbugs-maven-plugin-2.5.2
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/2.5.2/findbugs-maven-plugin-2.5.2
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/2.5.3/findbugs-maven-plugin-2.5.3
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/2.5.3/findbugs-maven-plugin-2.5.3
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/license-maven-plugin/1.7/license-maven-plugin-1.7
|
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/23/mojo-parent-23
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/23/mojo-parent-23
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/24/mojo-parent-24
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/24/mojo-parent-24
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/28/mojo-parent-28
|
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/28/mojo-parent-28
|
||||||
@ -1830,25 +1658,19 @@ https://repo.maven.apache.org/maven2/org/immutables/tools/maven-shade-plugin/4/m
|
|||||||
https://repo.maven.apache.org/maven2/org/infinitest/continuous-testing-toolkit/1.0/continuous-testing-toolkit-1.0
|
https://repo.maven.apache.org/maven2/org/infinitest/continuous-testing-toolkit/1.0/continuous-testing-toolkit-1.0
|
||||||
https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4
|
https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/jacoco-maven-plugin/0.7.2.201409121644/jacoco-maven-plugin-0.7.2.201409121644
|
https://repo.maven.apache.org/maven2/org/jacoco/jacoco-maven-plugin/0.7.2.201409121644/jacoco-maven-plugin-0.7.2.201409121644
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/jacoco-maven-plugin/0.7.4.201502262128/jacoco-maven-plugin-0.7.4.201502262128
|
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/jacoco-maven-plugin/0.7.9/jacoco-maven-plugin-0.7.9
|
https://repo.maven.apache.org/maven2/org/jacoco/jacoco-maven-plugin/0.7.9/jacoco-maven-plugin-0.7.9
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.2.201409121644/org.jacoco.build-0.7.2.201409121644
|
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.2.201409121644/org.jacoco.build-0.7.2.201409121644
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.4.201502262128/org.jacoco.build-0.7.4.201502262128
|
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.4.201502262128/org.jacoco.build-0.7.4.201502262128
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.5.201505241946/org.jacoco.build-0.7.5.201505241946
|
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.5.201505241946/org.jacoco.build-0.7.5.201505241946
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.9/org.jacoco.build-0.7.9
|
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.9/org.jacoco.build-0.7.9
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.7.9/org.jacoco.core-0.7.9
|
|
||||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.report/0.7.9/org.jacoco.report-0.7.9
|
|
||||||
https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA
|
https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA
|
||||||
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-api-bom/1.0/weld-api-bom-1.0
|
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-api-bom/1.0/weld-api-bom-1.0
|
||||||
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-api-parent/1.0/weld-api-parent-1.0
|
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-api-parent/1.0/weld-api-parent-1.0
|
||||||
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-parent/6/weld-parent-6
|
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-parent/6/weld-parent-6
|
||||||
https://repo.maven.apache.org/maven2/org/jdom/jdom/1.1/jdom-1.1
|
https://repo.maven.apache.org/maven2/org/jdom/jdom/1.1/jdom-1.1
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.61/kotlin-stdlib-common-1.2.61
|
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.0/kotlin-stdlib-common-1.3.0
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.0/kotlin-stdlib-common-1.3.0
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.61/kotlin-stdlib-jdk7-1.2.61
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.0/kotlin-stdlib-1.2.0
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.2.61/kotlin-stdlib-jdk8-1.2.61
|
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.20/kotlin-stdlib-1.2.20
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.20/kotlin-stdlib-1.2.20
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.2.61/kotlin-stdlib-1.2.61
|
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.0/kotlin-stdlib-1.3.0
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.0/kotlin-stdlib-1.3.0
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-annotations-common/1.2.71/kotlin-test-annotations-common-1.2.71
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-annotations-common/1.2.71/kotlin-test-annotations-common-1.2.71
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-annotations-common/1.3.11/kotlin-test-annotations-common-1.3.11
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-annotations-common/1.3.11/kotlin-test-annotations-common-1.3.11
|
||||||
@ -1859,13 +1681,11 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-common/1.3
|
|||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-common/1.3.20/kotlin-test-common-1.3.20
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-common/1.3.20/kotlin-test-common-1.3.20
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-common/1.3.31/kotlin-test-common-1.3.31
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-common/1.3.31/kotlin-test-common-1.3.31
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.1.3-2/kotlin-test-junit-1.1.3-2
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.1.3-2/kotlin-test-junit-1.1.3-2
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.2.0/kotlin-test-junit-1.2.0
|
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.2.71/kotlin-test-junit-1.2.71
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.2.71/kotlin-test-junit-1.2.71
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.3.11/kotlin-test-junit-1.3.11
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.3.11/kotlin-test-junit-1.3.11
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.3.20/kotlin-test-junit-1.3.20
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.3.20/kotlin-test-junit-1.3.20
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.3.31/kotlin-test-junit-1.3.31
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test-junit/1.3.31/kotlin-test-junit-1.3.31
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.1.3-2/kotlin-test-1.1.3-2
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.1.3-2/kotlin-test-1.1.3-2
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.2.0/kotlin-test-1.2.0
|
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.2.71/kotlin-test-1.2.71
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.2.71/kotlin-test-1.2.71
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.3.11/kotlin-test-1.3.11
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.3.11/kotlin-test-1.3.11
|
||||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.3.20/kotlin-test-1.3.20
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-test/1.3.20/kotlin-test-1.3.20
|
||||||
@ -1896,7 +1716,6 @@ https://repo.maven.apache.org/maven2/org/littleshoot/littleproxy/1.1.0-beta2/lit
|
|||||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.16/mockito-core-1.10.16
|
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.16/mockito-core-1.10.16
|
||||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19
|
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19
|
||||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5
|
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5
|
||||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.9.5/mockito-core-1.9.5
|
|
||||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/2.18.3/mockito-core-2.18.3
|
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/2.18.3/mockito-core-2.18.3
|
||||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/2.19.0/mockito-core-2.19.0
|
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/2.19.0/mockito-core-2.19.0
|
||||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/2.7.1/mockito-core-2.7.1
|
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/2.7.1/mockito-core-2.7.1
|
||||||
@ -1908,7 +1727,6 @@ https://repo.maven.apache.org/maven2/org/mortbay/jetty/project/6.1.26/project-6.
|
|||||||
https://repo.maven.apache.org/maven2/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211
|
https://repo.maven.apache.org/maven2/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211
|
||||||
https://repo.maven.apache.org/maven2/org/multiverse/multiverse-core/0.7.0/multiverse-core-0.7.0
|
https://repo.maven.apache.org/maven2/org/multiverse/multiverse-core/0.7.0/multiverse-core-0.7.0
|
||||||
https://repo.maven.apache.org/maven2/org/multiverse/multiverse/0.7.0/multiverse-0.7.0
|
https://repo.maven.apache.org/maven2/org/multiverse/multiverse/0.7.0/multiverse-0.7.0
|
||||||
https://repo.maven.apache.org/maven2/org/nanohttpd/nanohttpd-project/2.3.1/nanohttpd-project-2.3.1
|
|
||||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.2/objenesis-parent-1.2
|
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.2/objenesis-parent-1.2
|
||||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.3/objenesis-parent-1.3
|
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.3/objenesis-parent-1.3
|
||||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.1/objenesis-parent-2.1
|
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.1/objenesis-parent-2.1
|
||||||
@ -1933,14 +1751,12 @@ https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.1.0/org.osgi.core-
|
|||||||
https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.2.0/org.osgi.core-4.2.0
|
https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.2.0/org.osgi.core-4.2.0
|
||||||
https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.3.1/org.osgi.core-4.3.1
|
https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.3.1/org.osgi.core-4.3.1
|
||||||
https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/6.0.0/org.osgi.core-6.0.0
|
https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/6.0.0/org.osgi.core-6.0.0
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-debug-all/5.2/asm-debug-all-5.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/4.0/asm-parent-4.0
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/4.0/asm-parent-4.0
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.1/asm-parent-5.0.1
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.1/asm-parent-5.0.1
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.2/asm-parent-5.0.2
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.2/asm-parent-5.0.2
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.3/asm-parent-5.0.3
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.3/asm-parent-5.0.3
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.1/asm-parent-5.1
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.1/asm-parent-5.1
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.2/asm-parent-5.2
|
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/6.0/asm-parent-6.0
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/6.0/asm-parent-6.0
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/4.0/asm-4.0
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/4.0/asm-4.0
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.2/asm-5.0.2
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.2/asm-5.0.2
|
||||||
@ -2072,7 +1888,6 @@ https://repo.maven.apache.org/maven2/org/sonatype/spice/zapper/spice-zapper/1.1/
|
|||||||
https://repo.maven.apache.org/maven2/org/sonatype/spice/zapper/spice-zapper/1.2/spice-zapper-1.2
|
https://repo.maven.apache.org/maven2/org/sonatype/spice/zapper/spice-zapper/1.2/spice-zapper-1.2
|
||||||
https://repo.maven.apache.org/maven2/org/sonatype/spice/zapper/spice-zapper/1.3/spice-zapper-1.3
|
https://repo.maven.apache.org/maven2/org/sonatype/spice/zapper/spice-zapper/1.3/spice-zapper-1.3
|
||||||
https://repo.maven.apache.org/maven2/org/testng/testng/6.8.13/testng-6.8.13
|
https://repo.maven.apache.org/maven2/org/testng/testng/6.8.13/testng-6.8.13
|
||||||
https://repo.maven.apache.org/maven2/org/tinyjee/dim/doxia-include-macro/1.1/doxia-include-macro-1.1
|
|
||||||
https://repo.maven.apache.org/maven2/org/tukaani/xz/1.2/xz-1.2
|
https://repo.maven.apache.org/maven2/org/tukaani/xz/1.2/xz-1.2
|
||||||
https://repo.maven.apache.org/maven2/org/tukaani/xz/1.5/xz-1.5
|
https://repo.maven.apache.org/maven2/org/tukaani/xz/1.5/xz-1.5
|
||||||
https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8
|
https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -16,7 +16,6 @@
|
|||||||
(def desktop-menu (js/require "react-native-desktop-menu"))
|
(def desktop-menu (js/require "react-native-desktop-menu"))
|
||||||
(def desktop-config (js/require "react-native-desktop-config"))
|
(def desktop-config (js/require "react-native-desktop-config"))
|
||||||
(def desktop-shortcuts (js/require "react-native-desktop-shortcuts"))
|
(def desktop-shortcuts (js/require "react-native-desktop-shortcuts"))
|
||||||
(def react-native-firebase #js {})
|
|
||||||
(def touchid #js {})
|
(def touchid #js {})
|
||||||
(def camera #js {:RNCamera #js {:constants #js {:Aspect "Portrait"}}})
|
(def camera #js {:RNCamera #js {:constants #js {:Aspect "Portrait"}}})
|
||||||
(def status-keycard #js {:default #js {}})
|
(def status-keycard #js {:default #js {}})
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
(def dismiss-keyboard (js/require "dismissKeyboard"))
|
(def dismiss-keyboard (js/require "dismissKeyboard"))
|
||||||
(def image-crop-picker (js/require "react-native-image-crop-picker"))
|
(def image-crop-picker (js/require "react-native-image-crop-picker"))
|
||||||
(def image-resizer (js/require "react-native-image-resizer"))
|
(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 (js/require "rn-snoopy"))
|
||||||
(def snoopy-filter (js/require "rn-snoopy/stream/filter"))
|
(def snoopy-filter (js/require "rn-snoopy/stream/filter"))
|
||||||
(def snoopy-bars (js/require "rn-snoopy/stream/bars"))
|
(def snoopy-bars (js/require "rn-snoopy/stream/bars"))
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
[status-im.ethereum.core :as ethereum]
|
[status-im.ethereum.core :as ethereum]
|
||||||
[status-im.mailserver.core :as mailserver]
|
[status-im.mailserver.core :as mailserver]
|
||||||
[status-im.native-module.core :as status]
|
[status-im.native-module.core :as status]
|
||||||
[status-im.notifications.core :as notifications]
|
|
||||||
[status-im.transport.message.group-chat :as message.group-chat]
|
[status-im.transport.message.group-chat :as message.group-chat]
|
||||||
[status-im.transport.message.protocol :as protocol]
|
[status-im.transport.message.protocol :as protocol]
|
||||||
[status-im.transport.message.transit :as transit]
|
[status-im.transport.message.transit :as transit]
|
||||||
@ -352,16 +351,6 @@
|
|||||||
:last-clock-value (:clock-value message)})
|
:last-clock-value (:clock-value message)})
|
||||||
(send chat-id message wrapped-record))))
|
(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
|
(fx/defn update-message-status
|
||||||
[{:keys [db] :as cofx} chat-id message-id status]
|
[{:keys [db] :as cofx} chat-id message-id status]
|
||||||
(fx/merge cofx
|
(fx/merge cofx
|
||||||
@ -443,16 +432,3 @@
|
|||||||
:chat-received-message/add-fx
|
:chat-received-message/add-fx
|
||||||
(fn [messages]
|
(fn [messages]
|
||||||
(re-frame/dispatch [:message/add 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: " %)))))
|
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[status-im.multiaccounts.model :as multiaccounts.model]
|
[status-im.multiaccounts.model :as multiaccounts.model]
|
||||||
[status-im.transport.filters.core :as transport.filters]
|
[status-im.transport.filters.core :as transport.filters]
|
||||||
[status-im.contact.db :as contact.db]
|
[status-im.contact.db :as contact.db]
|
||||||
[status-im.contact.device-info :as device-info]
|
|
||||||
[status-im.ethereum.core :as ethereum]
|
[status-im.ethereum.core :as ethereum]
|
||||||
[status-im.data-store.contacts :as contacts-store]
|
[status-im.data-store.contacts :as contacts-store]
|
||||||
[status-im.mailserver.core :as mailserver]
|
[status-im.mailserver.core :as mailserver]
|
||||||
@ -43,13 +42,10 @@
|
|||||||
|
|
||||||
(defn- own-info
|
(defn- own-info
|
||||||
[db]
|
[db]
|
||||||
(let [{:keys [name preferred-name photo-path address]} (:multiaccount db)
|
(let [{:keys [name preferred-name photo-path address]} (:multiaccount db)]
|
||||||
fcm-token (get-in db [:notifications :fcm-token])]
|
|
||||||
{:name (or preferred-name name)
|
{:name (or preferred-name name)
|
||||||
:profile-image photo-path
|
:profile-image photo-path
|
||||||
:address address
|
:address address}))
|
||||||
:device-info (device-info/all {:db db})
|
|
||||||
:fcm-token fcm-token}))
|
|
||||||
|
|
||||||
(fx/defn upsert-contact
|
(fx/defn upsert-contact
|
||||||
[{:keys [db] :as cofx}
|
[{:keys [db] :as cofx}
|
||||||
@ -105,7 +101,7 @@
|
|||||||
[{{:contacts/keys [contacts] :as db} :db :as cofx}
|
[{{:contacts/keys [contacts] :as db} :db :as cofx}
|
||||||
public-key
|
public-key
|
||||||
timestamp
|
timestamp
|
||||||
{:keys [name profile-image address fcm-token device-info] :as m}]
|
{:keys [name profile-image address] :as m}]
|
||||||
;; We need to convert to timestamp ms as before we were using now in ms to
|
;; We need to convert to timestamp ms as before we were using now in ms to
|
||||||
;; set last updated
|
;; set last updated
|
||||||
;; Using whisper timestamp mostly works but breaks in a few scenarios:
|
;; Using whisper timestamp mostly works but breaks in a few scenarios:
|
||||||
@ -121,7 +117,7 @@
|
|||||||
(let [contact (get contacts public-key)
|
(let [contact (get contacts public-key)
|
||||||
|
|
||||||
;; Backward compatibility with <= 0.9.21, as they don't send
|
;; Backward compatibility with <= 0.9.21, as they don't send
|
||||||
;; fcm-token & address in contact updates
|
;; address in contact updates
|
||||||
contact-props
|
contact-props
|
||||||
(cond-> {:public-key public-key
|
(cond-> {:public-key public-key
|
||||||
:photo-path profile-image
|
:photo-path profile-image
|
||||||
@ -129,14 +125,9 @@
|
|||||||
:address (or address
|
:address (or address
|
||||||
(:address contact)
|
(:address contact)
|
||||||
(ethereum/public-key->address public-key))
|
(ethereum/public-key->address public-key))
|
||||||
:device-info (device-info/merge-info
|
|
||||||
timestamp
|
|
||||||
(:device-info contact)
|
|
||||||
device-info)
|
|
||||||
:last-updated timestamp-ms
|
:last-updated timestamp-ms
|
||||||
:system-tags (conj (get contact :system-tags #{})
|
:system-tags (conj (get contact :system-tags #{})
|
||||||
:contact/request-received)}
|
:contact/request-received)})]
|
||||||
fcm-token (assoc :fcm-token fcm-token))]
|
|
||||||
(upsert-contact cofx contact-props)))))
|
(upsert-contact cofx contact-props)))))
|
||||||
|
|
||||||
(fx/defn initialize-contacts [cofx]
|
(fx/defn initialize-contacts [cofx]
|
||||||
@ -182,4 +173,3 @@
|
|||||||
{:events [:contacts/ens-names-verified]}
|
{:events [:contacts/ens-names-verified]}
|
||||||
[{:keys [db]} names]
|
[{:keys [db]} names]
|
||||||
{:db (update db :contacts/contacts add-ens-names names)})
|
{:db (update db :contacts/contacts add-ens-names names)})
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
;;Contact
|
;;Contact
|
||||||
|
|
||||||
(spec/def :contact/address (spec/nilable :global/address))
|
(spec/def :contact/address (spec/nilable :global/address))
|
||||||
(spec/def :contact/fcm-token (spec/nilable string?))
|
|
||||||
(spec/def :contact/last-online (spec/nilable int?))
|
(spec/def :contact/last-online (spec/nilable int?))
|
||||||
(spec/def :contact/last-updated (spec/nilable int?))
|
(spec/def :contact/last-updated (spec/nilable int?))
|
||||||
(spec/def :contact/name (spec/nilable string?))
|
(spec/def :contact/name (spec/nilable string?))
|
||||||
@ -31,8 +30,7 @@
|
|||||||
(spec/def :contact/contact (spec/keys :req-un [:contact/address
|
(spec/def :contact/contact (spec/keys :req-un [:contact/address
|
||||||
:contact/public-key
|
:contact/public-key
|
||||||
:contact/system-tags]
|
:contact/system-tags]
|
||||||
:opt-un [:contact/fcm-token
|
:opt-un [:contact/name
|
||||||
:contact/name
|
|
||||||
:contact/photo-path
|
:contact/photo-path
|
||||||
:contact/last-online
|
:contact/last-online
|
||||||
:contact/last-updated
|
:contact/last-updated
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
(ns status-im.contact.device-info
|
|
||||||
(:require [status-im.utils.config :as config]))
|
|
||||||
|
|
||||||
(defn all [{:keys [db]}]
|
|
||||||
(filter
|
|
||||||
:fcm-token
|
|
||||||
(conj
|
|
||||||
(->> (:pairing/installations db)
|
|
||||||
(vals)
|
|
||||||
(filter :enabled?)
|
|
||||||
(filter :fcm-token)
|
|
||||||
(take config/max-installations)
|
|
||||||
(map #(hash-map :id (:installation-id %)
|
|
||||||
:fcm-token (:fcm-token %))))
|
|
||||||
{:id (get-in db [:multiaccount :installation-id])
|
|
||||||
:fcm-token (get-in db [:notifications :fcm-token])})))
|
|
||||||
|
|
||||||
(defn merge-info [timestamp previous-devices new-devices]
|
|
||||||
(reduce (fn [acc {:keys [id] :as new-device}]
|
|
||||||
(if (:fcm-token new-device)
|
|
||||||
(assoc acc
|
|
||||||
id
|
|
||||||
(assoc new-device :timestamp timestamp))
|
|
||||||
acc))
|
|
||||||
previous-devices
|
|
||||||
new-devices))
|
|
@ -3,7 +3,6 @@
|
|||||||
[status-im.utils.error-handler :as error-handler]
|
[status-im.utils.error-handler :as error-handler]
|
||||||
[status-im.utils.platform :as platform]
|
[status-im.utils.platform :as platform]
|
||||||
[status-im.ui.components.react :as react]
|
[status-im.ui.components.react :as react]
|
||||||
[status-im.notifications.background :as background-messaging]
|
|
||||||
[reagent.core :as reagent]
|
[reagent.core :as reagent]
|
||||||
status-im.transport.impl.receive
|
status-im.transport.impl.receive
|
||||||
status-im.transport.impl.send
|
status-im.transport.impl.send
|
||||||
@ -23,6 +22,4 @@
|
|||||||
(utils.logs/init-logs)
|
(utils.logs/init-logs)
|
||||||
(error-handler/register-exception-handler!)
|
(error-handler/register-exception-handler!)
|
||||||
(re-frame/dispatch [:init/app-started])
|
(re-frame/dispatch [:init/app-started])
|
||||||
(.registerComponent react/app-registry "StatusIm" #(reagent/reactify-component app-root))
|
(.registerComponent react/app-registry "StatusIm" #(reagent/reactify-component app-root)))
|
||||||
(when platform/android?
|
|
||||||
(.registerHeadlessTask react/app-registry "RNFirebaseBackgroundMessage" background-messaging/message-handler-fn)))
|
|
||||||
|
@ -6,24 +6,8 @@
|
|||||||
[taoensso.timbre :as log]
|
[taoensso.timbre :as log]
|
||||||
[status-im.utils.types :as types]))
|
[status-im.utils.types :as types]))
|
||||||
|
|
||||||
(defn deserialize-device-info [contact]
|
|
||||||
(update contact :deviceInfo (fn [device-info]
|
|
||||||
(reduce (fn [acc info]
|
|
||||||
(assoc acc
|
|
||||||
(:installationId info)
|
|
||||||
(clojure.set/rename-keys info {:fcmToken :fcm-token :installationId :id})))
|
|
||||||
{}
|
|
||||||
device-info))))
|
|
||||||
|
|
||||||
(defn serialize-device-info [contact]
|
|
||||||
(update contact :device-info (fn [device-info]
|
|
||||||
(map
|
|
||||||
#(clojure.set/rename-keys % {:fcm-token :fcmToken :id :installationId})
|
|
||||||
(vals device-info)))))
|
|
||||||
|
|
||||||
(defn <-rpc [contact]
|
(defn <-rpc [contact]
|
||||||
(-> contact
|
(-> contact
|
||||||
deserialize-device-info
|
|
||||||
(update :tributeToTalk types/deserialize)
|
(update :tributeToTalk types/deserialize)
|
||||||
(update :systemTags
|
(update :systemTags
|
||||||
#(reduce (fn [acc s]
|
#(reduce (fn [acc s]
|
||||||
@ -31,7 +15,6 @@
|
|||||||
#{}
|
#{}
|
||||||
%)) (clojure.set/rename-keys {:id :public-key
|
%)) (clojure.set/rename-keys {:id :public-key
|
||||||
:photoPath :photo-path
|
:photoPath :photo-path
|
||||||
:deviceInfo :device-info
|
|
||||||
:tributeToTalk :tribute-to-talk
|
:tributeToTalk :tribute-to-talk
|
||||||
:ensVerifiedAt :ens-verified-at
|
:ensVerifiedAt :ens-verified-at
|
||||||
:ensVerified :ens-verified
|
:ensVerified :ens-verified
|
||||||
@ -40,14 +23,12 @@
|
|||||||
|
|
||||||
(defn ->rpc [contact]
|
(defn ->rpc [contact]
|
||||||
(-> contact
|
(-> contact
|
||||||
serialize-device-info
|
|
||||||
(update :tribute-to-talk types/serialize)
|
(update :tribute-to-talk types/serialize)
|
||||||
(update :system-tags #(mapv str %))
|
(update :system-tags #(mapv str %))
|
||||||
(clojure.set/rename-keys {:public-key :id
|
(clojure.set/rename-keys {:public-key :id
|
||||||
:ens-verified :ensVerified
|
:ens-verified :ensVerified
|
||||||
:ens-verified-at :ensVerifiedAt
|
:ens-verified-at :ensVerifiedAt
|
||||||
:photo-path :photoPath
|
:photo-path :photoPath
|
||||||
:device-info :deviceInfo
|
|
||||||
:tribute-to-talk :tributeToTalk
|
:tribute-to-talk :tributeToTalk
|
||||||
:system-tags :systemTags
|
:system-tags :systemTags
|
||||||
:last-updated :lastUpdated})))
|
:last-updated :lastUpdated})))
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
status-im.subs
|
status-im.subs
|
||||||
[status-im.ui.screens.views :as views]
|
[status-im.ui.screens.views :as views]
|
||||||
[status-im.ui.components.react :as react]
|
[status-im.ui.components.react :as react]
|
||||||
[status-im.notifications.core :as notifications]
|
|
||||||
[status-im.core :as core]
|
[status-im.core :as core]
|
||||||
[status-im.utils.snoopy :as snoopy]
|
[status-im.utils.snoopy :as snoopy]
|
||||||
[status-im.ui.components.desktop.shortcuts :as shortcuts]
|
[status-im.ui.components.desktop.shortcuts :as shortcuts]
|
||||||
|
@ -35,7 +35,6 @@
|
|||||||
[status-im.mailserver.constants :as mailserver.constants]
|
[status-im.mailserver.constants :as mailserver.constants]
|
||||||
[status-im.mailserver.topics :as mailserver.topics]
|
[status-im.mailserver.topics :as mailserver.topics]
|
||||||
[status-im.node.core :as node]
|
[status-im.node.core :as node]
|
||||||
[status-im.notifications.core :as notifications]
|
|
||||||
[status-im.pairing.core :as pairing]
|
[status-im.pairing.core :as pairing]
|
||||||
[status-im.privacy-policy.core :as privacy-policy]
|
[status-im.privacy-policy.core :as privacy-policy]
|
||||||
[status-im.protocol.core :as protocol]
|
[status-im.protocol.core :as protocol]
|
||||||
@ -660,23 +659,6 @@
|
|||||||
(log/debug :event-str event-str)
|
(log/debug :event-str event-str)
|
||||||
(signals/process cofx event-str)))
|
(signals/process cofx event-str)))
|
||||||
|
|
||||||
;; notifications module
|
|
||||||
|
|
||||||
(handlers/register-handler-fx
|
|
||||||
:notifications/notification-open-event-received
|
|
||||||
(fn [cofx [_ decoded-payload ctx]]
|
|
||||||
(notifications/handle-push-notification-open cofx decoded-payload ctx)))
|
|
||||||
|
|
||||||
(handlers/register-handler-fx
|
|
||||||
:notifications.callback/get-fcm-token-success
|
|
||||||
(fn [{:keys [db]} [_ fcm-token]]
|
|
||||||
{:db (assoc-in db [:notifications :fcm-token] fcm-token)}))
|
|
||||||
|
|
||||||
(handlers/register-handler-fx
|
|
||||||
:notifications.callback/on-message
|
|
||||||
(fn [cofx [_ decoded-payload opts]]
|
|
||||||
(notifications/handle-on-message cofx decoded-payload opts)))
|
|
||||||
|
|
||||||
;; hardwallet module
|
;; hardwallet module
|
||||||
|
|
||||||
(handlers/register-handler-fx
|
(handlers/register-handler-fx
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
[status-im.multiaccounts.login.core :as multiaccounts.login]
|
[status-im.multiaccounts.login.core :as multiaccounts.login]
|
||||||
[status-im.native-module.core :as status]
|
[status-im.native-module.core :as status]
|
||||||
[status-im.network.net-info :as network]
|
[status-im.network.net-info :as network]
|
||||||
[status-im.notifications.core :as notifications]
|
|
||||||
[status-im.react-native.js-dependencies :as rn-dependencies]
|
[status-im.react-native.js-dependencies :as rn-dependencies]
|
||||||
[status-im.ui.screens.db :refer [app-db]]
|
[status-im.ui.screens.db :refer [app-db]]
|
||||||
[status-im.ui.screens.navigation :as navigation]
|
[status-im.ui.screens.navigation :as navigation]
|
||||||
@ -22,34 +21,21 @@
|
|||||||
(fx/defn initialize-app-db
|
(fx/defn initialize-app-db
|
||||||
"Initialize db to initial state"
|
"Initialize db to initial state"
|
||||||
[{{:keys [view-id hardwallet initial-props desktop/desktop
|
[{{:keys [view-id hardwallet initial-props desktop/desktop
|
||||||
supported-biometric-auth push-notifications/stored network/type]} :db}]
|
supported-biometric-auth network/type]} :db}]
|
||||||
{:db (assoc app-db
|
{:db (assoc app-db
|
||||||
:initial-props initial-props
|
:initial-props initial-props
|
||||||
:desktop/desktop (merge desktop (:desktop/desktop app-db))
|
:desktop/desktop (merge desktop (:desktop/desktop app-db))
|
||||||
:network/type type
|
:network/type type
|
||||||
:hardwallet (dissoc hardwallet :secrets)
|
:hardwallet (dissoc hardwallet :secrets)
|
||||||
:supported-biometric-auth supported-biometric-auth
|
:supported-biometric-auth supported-biometric-auth
|
||||||
:view-id view-id
|
:view-id view-id)})
|
||||||
:push-notifications/stored stored)})
|
|
||||||
|
|
||||||
(fx/defn initialize-views
|
(fx/defn initialize-views
|
||||||
[cofx]
|
[cofx]
|
||||||
(let [{{:multiaccounts/keys [multiaccounts] :as db} :db} cofx]
|
(let [{{:multiaccounts/keys [multiaccounts] :as db} :db} cofx]
|
||||||
(if (empty? multiaccounts)
|
(if (empty? multiaccounts)
|
||||||
(navigation/navigate-to-cofx cofx :intro nil)
|
(navigation/navigate-to-cofx cofx :intro nil)
|
||||||
(let [multiaccount-with-notification
|
(let [{:keys [address public-key photo-path name]} (first (#(sort-by :last-sign-in > %) (vals multiaccounts)))]
|
||||||
(when-not platform/desktop?
|
|
||||||
(notifications/lookup-contact-pubkey-from-hash
|
|
||||||
cofx
|
|
||||||
(first (keys (:push-notifications/stored db)))))
|
|
||||||
selection-fn
|
|
||||||
(if (not-empty multiaccount-with-notification)
|
|
||||||
#(filter (fn [multiaccount]
|
|
||||||
(= multiaccount-with-notification
|
|
||||||
(:public-key multiaccount)))
|
|
||||||
%)
|
|
||||||
#(sort-by :last-sign-in > %))
|
|
||||||
{:keys [address public-key photo-path name]} (first (selection-fn (vals multiaccounts)))]
|
|
||||||
(multiaccounts.login/open-login cofx address photo-path name public-key)))))
|
(multiaccounts.login/open-login cofx address photo-path name public-key)))))
|
||||||
|
|
||||||
(fx/defn initialize-multiaccounts
|
(fx/defn initialize-multiaccounts
|
||||||
@ -74,7 +60,6 @@
|
|||||||
::restore-native-settings nil
|
::restore-native-settings nil
|
||||||
::open-multiaccounts #(re-frame/dispatch [::initialize-multiaccounts %])
|
::open-multiaccounts #(re-frame/dispatch [::initialize-multiaccounts %])
|
||||||
:ui/listen-to-window-dimensions-change nil
|
:ui/listen-to-window-dimensions-change nil
|
||||||
:notifications/init nil
|
|
||||||
::network/listen-to-network-info nil
|
::network/listen-to-network-info nil
|
||||||
:hardwallet/register-card-events nil
|
:hardwallet/register-card-events nil
|
||||||
:hardwallet/check-nfc-support nil
|
:hardwallet/check-nfc-support nil
|
||||||
|
@ -24,8 +24,7 @@
|
|||||||
:choose-key 2
|
:choose-key 2
|
||||||
:select-key-storage 3
|
:select-key-storage 3
|
||||||
:create-code 4
|
:create-code 4
|
||||||
:confirm-code 5
|
:confirm-code 5})
|
||||||
:enable-notifications 6})
|
|
||||||
|
|
||||||
(defn decrement-step [step]
|
(defn decrement-step [step]
|
||||||
(let [inverted (map-invert step-kw-to-num)]
|
(let [inverted (map-invert step-kw-to-num)]
|
||||||
@ -84,9 +83,6 @@
|
|||||||
{:events [:intro-wizard/navigate-back]}
|
{:events [:intro-wizard/navigate-back]}
|
||||||
[{:keys [db] :as cofx} skip-alert?]
|
[{:keys [db] :as cofx} skip-alert?]
|
||||||
(let [step (get-in db [:intro-wizard :step])]
|
(let [step (get-in db [:intro-wizard :step])]
|
||||||
;; Cannot go back after account has been created
|
|
||||||
;; and we're on "Enable notifications" step
|
|
||||||
(when-not (= :enable-notifications step)
|
|
||||||
(if (and (= step :choose-key) (not skip-alert?))
|
(if (and (= step :choose-key) (not skip-alert?))
|
||||||
(utils/show-question
|
(utils/show-question
|
||||||
(i18n/label :t/are-you-sure-to-cancel)
|
(i18n/label :t/are-you-sure-to-cancel)
|
||||||
@ -94,12 +90,15 @@
|
|||||||
#(re-frame/dispatch [:intro-wizard/navigate-back true]))
|
#(re-frame/dispatch [:intro-wizard/navigate-back true]))
|
||||||
(fx/merge cofx
|
(fx/merge cofx
|
||||||
dec-step
|
dec-step
|
||||||
navigation/navigate-back)))))
|
navigation/navigate-back))))
|
||||||
|
|
||||||
(fx/defn exit-wizard [{:keys [db] :as cofx}]
|
(fx/defn exit-wizard
|
||||||
|
[{:keys [db] :as cofx}]
|
||||||
(fx/merge cofx
|
(fx/merge cofx
|
||||||
{:db (dissoc db :intro-wizard)}
|
{:db (dissoc db :intro-wizard)}
|
||||||
(navigation/navigate-to-cofx :home nil)))
|
(navigation/navigate-reset {:index 0
|
||||||
|
:key :chat-stack
|
||||||
|
:actions [{:routeName :home}]})))
|
||||||
|
|
||||||
(fx/defn init-key-generation
|
(fx/defn init-key-generation
|
||||||
[{:keys [db] :as cofx}]
|
[{:keys [db] :as cofx}]
|
||||||
@ -131,13 +130,9 @@
|
|||||||
(cond (confirm-failure? db)
|
(cond (confirm-failure? db)
|
||||||
(on-confirm-failure cofx)
|
(on-confirm-failure cofx)
|
||||||
|
|
||||||
(or (= step :enable-notifications)
|
(and (= step :confirm-code)
|
||||||
(and (not first-time-setup?) (= step :confirm-code)
|
(:multiaccounts/login db))
|
||||||
(:multiaccounts/login db)))
|
(exit-wizard cofx)
|
||||||
(fx/merge cofx
|
|
||||||
(when (and (= step :enable-notifications) (not skip?))
|
|
||||||
{:notifications/request-notifications-permissions nil})
|
|
||||||
exit-wizard)
|
|
||||||
|
|
||||||
(= step :generate-key)
|
(= step :generate-key)
|
||||||
(init-key-generation cofx)
|
(init-key-generation cofx)
|
||||||
@ -160,11 +155,7 @@
|
|||||||
:step next-step)}
|
:step next-step)}
|
||||||
(when (= step :create-code)
|
(when (= step :create-code)
|
||||||
store-key-code)
|
store-key-code)
|
||||||
(when (= next-step :enable-notifications)
|
(navigation/navigate-to-cofx (->> next-step name (str "create-multiaccount-") keyword) nil))))))
|
||||||
(navigation/navigate-reset {:index 0
|
|
||||||
:actions [{:routeName :create-multiaccount-enable-notifications}]}))
|
|
||||||
(when (not= next-step :enable-notifications)
|
|
||||||
(navigation/navigate-to-cofx (->> next-step name (str "create-multiaccount-") keyword) nil)))))))
|
|
||||||
|
|
||||||
(defn prepare-accounts-data
|
(defn prepare-accounts-data
|
||||||
[multiaccount]
|
[multiaccount]
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
[status-im.fleet.core :as fleet]
|
[status-im.fleet.core :as fleet]
|
||||||
[status-im.i18n :as i18n]
|
[status-im.i18n :as i18n]
|
||||||
[status-im.native-module.core :as status]
|
[status-im.native-module.core :as status]
|
||||||
[status-im.notifications.core :as notifications]
|
|
||||||
[status-im.protocol.core :as protocol]
|
[status-im.protocol.core :as protocol]
|
||||||
[status-im.stickers.core :as stickers]
|
[status-im.stickers.core :as stickers]
|
||||||
[status-im.ui.screens.mobile-network-settings.events :as mobile-network]
|
[status-im.ui.screens.mobile-network-settings.events :as mobile-network]
|
||||||
@ -131,15 +130,14 @@
|
|||||||
|
|
||||||
(fx/defn get-config-callback
|
(fx/defn get-config-callback
|
||||||
{:events [::get-config-callback]}
|
{:events [::get-config-callback]}
|
||||||
[{:keys [db] :as cofx} config stored-pns]
|
[{:keys [db] :as cofx} config]
|
||||||
(let [[{:keys [address] :as multiaccount} current-network networks] (deserialize-config config)
|
(let [[{:keys [address] :as multiaccount} current-network networks] (deserialize-config config)
|
||||||
network-id (str (get-in networks [current-network :config :NetworkId]))]
|
network-id (str (get-in networks [current-network :config :NetworkId]))]
|
||||||
(fx/merge cofx
|
(fx/merge cofx
|
||||||
{:db (assoc db
|
{:db (assoc db
|
||||||
:networks/current-network current-network
|
:networks/current-network current-network
|
||||||
:networks/networks networks
|
:networks/networks networks
|
||||||
:multiaccount multiaccount)
|
:multiaccount multiaccount)}
|
||||||
:notifications/request-notifications-permissions nil}
|
|
||||||
;; NOTE: initializing mailserver depends on user mailserver
|
;; NOTE: initializing mailserver depends on user mailserver
|
||||||
;; preference which is why we wait for config callback
|
;; preference which is why we wait for config callback
|
||||||
(protocol/initialize-protocol {:default-mailserver true})
|
(protocol/initialize-protocol {:default-mailserver true})
|
||||||
@ -151,14 +149,11 @@
|
|||||||
(mobile-network/on-network-status-change)
|
(mobile-network/on-network-status-change)
|
||||||
(chaos-mode/check-chaos-mode)
|
(chaos-mode/check-chaos-mode)
|
||||||
(when-not platform/desktop?
|
(when-not platform/desktop?
|
||||||
(initialize-wallet))
|
(initialize-wallet)))))
|
||||||
(when stored-pns
|
|
||||||
(notifications/process-stored-event address stored-pns)))))
|
|
||||||
|
|
||||||
(fx/defn login-only-events
|
(fx/defn login-only-events
|
||||||
[{:keys [db] :as cofx} address password save-password?]
|
[{:keys [db] :as cofx} address password save-password?]
|
||||||
(let [stored-pns (:push-notifications/stored db)
|
(let [auth-method (:auth-method db)
|
||||||
auth-method (:auth-method db)
|
|
||||||
new-auth-method (if save-password?
|
new-auth-method (if save-password?
|
||||||
(when-not (or (= "biometric" auth-method) (= "password" auth-method))
|
(when-not (or (= "biometric" auth-method) (= "password" auth-method))
|
||||||
(if (= auth-method "biometric-prepare") "biometric" "password"))
|
(if (= auth-method "biometric-prepare") "biometric" "password"))
|
||||||
@ -178,7 +173,7 @@
|
|||||||
:on-success #(re-frame/dispatch [::protocol/initialize-protocol {:mailservers (or % [])}])}
|
:on-success #(re-frame/dispatch [::protocol/initialize-protocol {:mailservers (or % [])}])}
|
||||||
{:method "settings_getConfigs"
|
{:method "settings_getConfigs"
|
||||||
:params [["multiaccount" "current-network" "networks"]]
|
:params [["multiaccount" "current-network" "networks"]]
|
||||||
:on-success #(re-frame/dispatch [::get-config-callback % stored-pns])}]}
|
:on-success #(re-frame/dispatch [::get-config-callback %])}]}
|
||||||
(when save-password?
|
(when save-password?
|
||||||
(keychain/save-user-password address password))
|
(keychain/save-user-password address password))
|
||||||
(when new-auth-method
|
(when new-auth-method
|
||||||
@ -243,8 +238,7 @@
|
|||||||
:multiaccount))
|
:multiaccount))
|
||||||
::json-rpc/call
|
::json-rpc/call
|
||||||
[{:method "web3_clientVersion"
|
[{:method "web3_clientVersion"
|
||||||
:on-success #(re-frame/dispatch [::initialize-web3-client-version %])}]
|
:on-success #(re-frame/dispatch [::initialize-web3-client-version %])}]}
|
||||||
:notifications/get-fcm-token nil}
|
|
||||||
;;FIXME
|
;;FIXME
|
||||||
(when nodes
|
(when nodes
|
||||||
(fleet/set-nodes :eth.contract nodes))
|
(fleet/set-nodes :eth.contract nodes))
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
(ns status-im.multiaccounts.update.core
|
(ns status-im.multiaccounts.update.core
|
||||||
(:require [status-im.contact.db :as contact.db]
|
(:require [status-im.contact.db :as contact.db]
|
||||||
[status-im.contact.device-info :as device-info]
|
|
||||||
[status-im.ethereum.json-rpc :as json-rpc]
|
[status-im.ethereum.json-rpc :as json-rpc]
|
||||||
[status-im.transport.message.contact :as message.contact]
|
[status-im.transport.message.contact :as message.contact]
|
||||||
[status-im.transport.message.protocol :as protocol]
|
[status-im.transport.message.protocol :as protocol]
|
||||||
@ -10,9 +10,8 @@
|
|||||||
|
|
||||||
(fx/defn multiaccount-update-message [{:keys [db] :as cofx}]
|
(fx/defn multiaccount-update-message [{:keys [db] :as cofx}]
|
||||||
(let [multiaccount (:multiaccount db)
|
(let [multiaccount (:multiaccount db)
|
||||||
fcm-token (get-in db [:notifications :fcm-token])
|
|
||||||
{:keys [name preferred-name photo-path address]} multiaccount]
|
{:keys [name preferred-name photo-path address]} multiaccount]
|
||||||
(message.contact/ContactUpdate. (or preferred-name name) photo-path address fcm-token (device-info/all cofx))))
|
(message.contact/ContactUpdate. (or preferred-name name) photo-path address nil nil)))
|
||||||
|
|
||||||
(fx/defn send-multiaccount-update [cofx]
|
(fx/defn send-multiaccount-update [cofx]
|
||||||
(protocol/send
|
(protocol/send
|
||||||
|
@ -187,10 +187,6 @@
|
|||||||
[data account hashed-password callback]
|
[data account hashed-password callback]
|
||||||
(.signTypedData (status) data account hashed-password callback))
|
(.signTypedData (status) data account hashed-password callback))
|
||||||
|
|
||||||
(defn send-data-notification
|
|
||||||
[{:keys [data-payload tokens] :as m} on-result]
|
|
||||||
(.sendDataNotification (status) data-payload tokens on-result))
|
|
||||||
|
|
||||||
(defn send-logs [dbJson js-logs callback]
|
(defn send-logs [dbJson js-logs callback]
|
||||||
(.sendLogs (status) dbJson js-logs callback))
|
(.sendLogs (status) dbJson js-logs callback))
|
||||||
|
|
||||||
@ -271,4 +267,3 @@
|
|||||||
"Generate a icon based on a string, synchronously"
|
"Generate a icon based on a string, synchronously"
|
||||||
[seed]
|
[seed]
|
||||||
(.identicon (status) seed))
|
(.identicon (status) seed))
|
||||||
|
|
||||||
|
@ -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)))))))
|
|
@ -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)))
|
|
@ -4,7 +4,6 @@
|
|||||||
[status-im.chat.models :as models.chat]
|
[status-im.chat.models :as models.chat]
|
||||||
[status-im.contact.core :as contact]
|
[status-im.contact.core :as contact]
|
||||||
[status-im.contact.db :as contact.db]
|
[status-im.contact.db :as contact.db]
|
||||||
[status-im.contact.device-info :as device-info]
|
|
||||||
[status-im.ethereum.json-rpc :as json-rpc]
|
[status-im.ethereum.json-rpc :as json-rpc]
|
||||||
[status-im.i18n :as i18n]
|
[status-im.i18n :as i18n]
|
||||||
[status-im.multiaccounts.model :as multiaccounts.model]
|
[status-im.multiaccounts.model :as multiaccounts.model]
|
||||||
@ -66,11 +65,10 @@
|
|||||||
(sort (partial compare-installation our-installation-id) installations))
|
(sort (partial compare-installation our-installation-id) installations))
|
||||||
|
|
||||||
(defn pair-installation [cofx]
|
(defn pair-installation [cofx]
|
||||||
(let [fcm-token (get-in cofx [:db :notifications :fcm-token])
|
(let [installation-id (get-in cofx [:db :multiaccount :installation-id])
|
||||||
installation-id (get-in cofx [:db :multiaccount :installation-id])
|
|
||||||
installation-name (get-in cofx [:db :pairing/installations installation-id :name])
|
installation-name (get-in cofx [:db :pairing/installations installation-id :name])
|
||||||
device-type utils.platform/os]
|
device-type utils.platform/os]
|
||||||
(protocol/send (transport.pairing/PairInstallation. installation-id device-type installation-name fcm-token) nil cofx)))
|
(protocol/send (transport.pairing/PairInstallation. installation-id device-type installation-name nil) nil cofx)))
|
||||||
|
|
||||||
(fx/defn confirm-message-processed
|
(fx/defn confirm-message-processed
|
||||||
[cofx confirmation]
|
[cofx confirmation]
|
||||||
@ -88,10 +86,7 @@
|
|||||||
[old-contact new-contact] (sort-by :last-updated [remote local])]
|
[old-contact new-contact] (sort-by :last-updated [remote local])]
|
||||||
(-> local
|
(-> local
|
||||||
(merge new-contact)
|
(merge new-contact)
|
||||||
(assoc :device-info (device-info/merge-info (:last-updated new-contact)
|
(assoc ;; we only take system tags from the newest contact version
|
||||||
(:device-info old-contact)
|
|
||||||
(vals (:device-info new-contact)))
|
|
||||||
;; we only take system tags from the newest contact version
|
|
||||||
:system-tags (:system-tags new-contact)))))
|
:system-tags (:system-tags new-contact)))))
|
||||||
|
|
||||||
(def merge-contacts (partial merge-with merge-contact))
|
(def merge-contacts (partial merge-with merge-contact))
|
||||||
@ -124,11 +119,9 @@
|
|||||||
(fx/defn set-name
|
(fx/defn set-name
|
||||||
"Set the name of the device"
|
"Set the name of the device"
|
||||||
[{:keys [db] :as cofx} installation-name]
|
[{:keys [db] :as cofx} installation-name]
|
||||||
(let [fcm-token (get-in cofx [:db :notifications :fcm-token])
|
(let [our-installation-id (get-in db [:multiaccount :installation-id])]
|
||||||
our-installation-id (get-in db [:multiaccount :installation-id])]
|
|
||||||
{:pairing/set-installation-metadata [[our-installation-id {:name installation-name
|
{:pairing/set-installation-metadata [[our-installation-id {:name installation-name
|
||||||
:deviceType utils.platform/os
|
:deviceType utils.platform/os}]]}))
|
||||||
:fcmToken fcm-token}]]}))
|
|
||||||
|
|
||||||
(fx/defn init [cofx]
|
(fx/defn init [cofx]
|
||||||
{:pairing/get-our-installations nil})
|
{:pairing/get-our-installations nil})
|
||||||
@ -350,15 +343,12 @@
|
|||||||
(confirm-message-processed cofx confirmation))))
|
(confirm-message-processed cofx confirmation))))
|
||||||
|
|
||||||
(defn handle-pair-installation
|
(defn handle-pair-installation
|
||||||
[{:keys [db] :as cofx} {:keys [name
|
[{:keys [db] :as cofx} {:keys [name installation-id
|
||||||
fcm-token
|
|
||||||
installation-id
|
|
||||||
device-type]} timestamp sender]
|
device-type]} timestamp sender]
|
||||||
(if (and (= sender (multiaccounts.model/current-public-key cofx))
|
(if (and (= sender (multiaccounts.model/current-public-key cofx))
|
||||||
(not= (get-in db [:multiaccount :installation-id]) installation-id))
|
(not= (get-in db [:multiaccount :installation-id]) installation-id))
|
||||||
{:pairing/set-installation-metadata [[installation-id {:name name
|
{:pairing/set-installation-metadata [[installation-id {:name name
|
||||||
:deviceType device-type
|
:deviceType device-type}]]}
|
||||||
:fcmToken fcm-token}]]}
|
|
||||||
(confirm-message-processed cofx (:metadata cofx))))
|
(confirm-message-processed cofx (:metadata cofx))))
|
||||||
|
|
||||||
(fx/defn update-installation [{:keys [db]} installation-id metadata]
|
(fx/defn update-installation [{:keys [db]} installation-id metadata]
|
||||||
@ -366,8 +356,7 @@
|
|||||||
assoc
|
assoc
|
||||||
:installation-id installation-id
|
:installation-id installation-id
|
||||||
:name (:name metadata)
|
:name (:name metadata)
|
||||||
:device-type (:deviceType metadata)
|
:device-type (:deviceType metadata))})
|
||||||
:fcmToken (:fcmToken metadata))})
|
|
||||||
|
|
||||||
(fx/defn load-installations [{:keys [db]} installations]
|
(fx/defn load-installations [{:keys [db]} installations]
|
||||||
{:db (assoc db :pairing/installations (reduce
|
{:db (assoc db :pairing/installations (reduce
|
||||||
@ -377,7 +366,6 @@
|
|||||||
:name (:name metadata)
|
:name (:name metadata)
|
||||||
:timestamp (:timestamp metadata)
|
:timestamp (:timestamp metadata)
|
||||||
:device-type (:deviceType metadata)
|
:device-type (:deviceType metadata)
|
||||||
:fcm-token (:fcmToken metadata)
|
|
||||||
:enabled? enabled}))
|
:enabled? enabled}))
|
||||||
{}
|
{}
|
||||||
installations))})
|
installations))})
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
:opt-un [:contact/system-tags
|
:opt-un [:contact/system-tags
|
||||||
:contact/last-updated
|
:contact/last-updated
|
||||||
:contact/last-online
|
:contact/last-online
|
||||||
:contact/fcm-token
|
|
||||||
:pairing/pending?
|
:pairing/pending?
|
||||||
:contact/tags]))
|
:contact/tags]))
|
||||||
(spec/def :pairing/contacts (spec/nilable (spec/map-of :global/not-empty-string :pairing/contact)))
|
(spec/def :pairing/contacts (spec/nilable (spec/map-of :global/not-empty-string :pairing/contact)))
|
||||||
@ -77,9 +76,9 @@
|
|||||||
:message/message-seen :message/message-seen
|
:message/message-seen :message/message-seen
|
||||||
:message/group-membership-update :message/group-membership-update))
|
:message/group-membership-update :message/group-membership-update))
|
||||||
|
|
||||||
(spec/def :message/contact-request (spec/keys :req-un [:contact/name ::profile-image :contact/address :contact/fcm-token]))
|
(spec/def :message/contact-request (spec/keys :req-un [:contact/name ::profile-image :contact/address]))
|
||||||
(spec/def :message/contact-update (spec/keys :req-un [:contact/name ::profile-image :contact/address :contact/fcm-token]))
|
(spec/def :message/contact-update (spec/keys :req-un [:contact/name ::profile-image :contact/address]))
|
||||||
(spec/def :message/contact-request-confirmed (spec/keys :req-un [:contact/name ::profile-image :contact/address :contact/fcm-token]))
|
(spec/def :message/contact-request-confirmed (spec/keys :req-un [:contact/name ::profile-image :contact/address]))
|
||||||
(spec/def :message/new-contact-key (spec/keys :req-un [::sym-key ::topic ::message]))
|
(spec/def :message/new-contact-key (spec/keys :req-un [::sym-key ::topic ::message]))
|
||||||
|
|
||||||
(spec/def :message/message-seen (spec/keys :req-un [:message/ids]))
|
(spec/def :message/message-seen (spec/keys :req-un [:message/ids]))
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
(:require [goog.object :as o]
|
(:require [goog.object :as o]
|
||||||
[re-frame.core :as re-frame]
|
[re-frame.core :as re-frame]
|
||||||
[status-im.chat.models.message :as models.message]
|
[status-im.chat.models.message :as models.message]
|
||||||
[status-im.contact.device-info :as device-info]
|
|
||||||
[status-im.ethereum.json-rpc :as json-rpc]
|
[status-im.ethereum.json-rpc :as json-rpc]
|
||||||
[status-im.ethereum.core :as ethereum]
|
[status-im.ethereum.core :as ethereum]
|
||||||
[status-im.transport.message.contact :as contact]
|
[status-im.transport.message.contact :as contact]
|
||||||
@ -132,21 +131,7 @@
|
|||||||
(remove-hash cofx envelope-hash))
|
(remove-hash cofx envelope-hash))
|
||||||
|
|
||||||
(when-let [{:keys [from]} (get-in db [:chats chat-id :messages message-id])]
|
(when-let [{:keys [from]} (get-in db [:chats chat-id :messages message-id])]
|
||||||
(let [{:keys [fcm-token]} (get-in db [:contacts/contacts chat-id])
|
(check-confirmations cofx status chat-id message-id)))))
|
||||||
;; We pick the last max-installations devices
|
|
||||||
fcm-tokens
|
|
||||||
(as-> (get-in db [:contacts/contacts chat-id :device-info]) $
|
|
||||||
(vals $)
|
|
||||||
(sort-by :timestamp $)
|
|
||||||
(reverse $)
|
|
||||||
(map :fcm-token $)
|
|
||||||
(into #{} $)
|
|
||||||
(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)))))))
|
|
||||||
|
|
||||||
(fx/defn update-envelopes-status
|
(fx/defn update-envelopes-status
|
||||||
[{:keys [db] :as cofx} envelope-hashes status]
|
[{:keys [db] :as cofx} envelope-hashes status]
|
||||||
@ -170,13 +155,10 @@
|
|||||||
#(or % {:pending-confirmations messages-count})))})
|
#(or % {:pending-confirmations messages-count})))})
|
||||||
|
|
||||||
(defn- own-info [db]
|
(defn- own-info [db]
|
||||||
(let [{:keys [name photo-path address]} (:multiaccount db)
|
(let [{:keys [name photo-path address]} (:multiaccount db)]
|
||||||
fcm-token (get-in db [:notifications :fcm-token])]
|
|
||||||
{:name name
|
{:name name
|
||||||
:profile-image photo-path
|
:profile-image photo-path
|
||||||
:address address
|
:address address}))
|
||||||
:device-info (device-info/all {:db db})
|
|
||||||
:fcm-token fcm-token}))
|
|
||||||
|
|
||||||
(fx/defn resend-contact-request [cofx own-info chat-id {:keys [sym-key topic]}]
|
(fx/defn resend-contact-request [cofx own-info chat-id {:keys [sym-key topic]}]
|
||||||
(protocol/send (contact/map->ContactRequest own-info)
|
(protocol/send (contact/map->ContactRequest own-info)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
[taoensso.timbre :as log]))
|
[taoensso.timbre :as log]))
|
||||||
|
|
||||||
(defrecord PairInstallation
|
(defrecord PairInstallation
|
||||||
[installation-id device-type name fcm-token]
|
[installation-id device-type name _]
|
||||||
protocol/StatusMessage
|
protocol/StatusMessage
|
||||||
(validate [this]
|
(validate [this]
|
||||||
(if (spec/valid? :message/pair-installation this)
|
(if (spec/valid? :message/pair-installation this)
|
||||||
|
@ -25,20 +25,20 @@
|
|||||||
(deftype ContactRequestHandler []
|
(deftype ContactRequestHandler []
|
||||||
Object
|
Object
|
||||||
(tag [this v] "c2")
|
(tag [this v] "c2")
|
||||||
(rep [this {:keys [name profile-image address fcm-token device-info]}]
|
(rep [this {:keys [name profile-image address]}]
|
||||||
#js [name profile-image address fcm-token device-info]))
|
#js [name profile-image address nil nil]))
|
||||||
|
|
||||||
(deftype ContactRequestConfirmedHandler []
|
(deftype ContactRequestConfirmedHandler []
|
||||||
Object
|
Object
|
||||||
(tag [this v] "c3")
|
(tag [this v] "c3")
|
||||||
(rep [this {:keys [name profile-image address fcm-token device-info]}]
|
(rep [this {:keys [name profile-image address]}]
|
||||||
#js [name profile-image address fcm-token device-info]))
|
#js [name profile-image address nil nil]))
|
||||||
|
|
||||||
(deftype ContactUpdateHandler []
|
(deftype ContactUpdateHandler []
|
||||||
Object
|
Object
|
||||||
(tag [this v] "c6")
|
(tag [this v] "c6")
|
||||||
(rep [this {:keys [name profile-image address fcm-token device-info]}]
|
(rep [this {:keys [name profile-image address]}]
|
||||||
#js [name profile-image address fcm-token device-info]))
|
#js [name profile-image address nil nil]))
|
||||||
|
|
||||||
;; It's necessary to support old clients understanding only older, verbose command content (`release/0.9.25` and older)
|
;; It's necessary to support old clients understanding only older, verbose command content (`release/0.9.25` and older)
|
||||||
(defn- new->legacy-command-data [{:keys [command-path params] :as content}]
|
(defn- new->legacy-command-data [{:keys [command-path params] :as content}]
|
||||||
@ -86,8 +86,8 @@
|
|||||||
(deftype PairInstallationHandler []
|
(deftype PairInstallationHandler []
|
||||||
Object
|
Object
|
||||||
(tag [this v] "p2")
|
(tag [this v] "p2")
|
||||||
(rep [this {:keys [name installation-id device-type fcm-token]}]
|
(rep [this {:keys [name installation-id device-type]}]
|
||||||
#js [installation-id device-type name fcm-token]))
|
#js [installation-id device-type name nil]))
|
||||||
|
|
||||||
(def writer (transit/writer :json
|
(def writer (transit/writer :json
|
||||||
{:handlers
|
{:handlers
|
||||||
@ -132,24 +132,24 @@
|
|||||||
;; Here we only need to call the record with the arguments parsed from the clojure datastructures
|
;; Here we only need to call the record with the arguments parsed from the clojure datastructures
|
||||||
(def reader (transit/reader :json
|
(def reader (transit/reader :json
|
||||||
{:handlers
|
{:handlers
|
||||||
{"c2" (fn [[name profile-image address fcm-token device-info]]
|
{"c2" (fn [[name profile-image address _ _]]
|
||||||
(contact/ContactRequest. name profile-image address fcm-token device-info))
|
(contact/ContactRequest. name profile-image address nil nil))
|
||||||
"c3" (fn [[name profile-image address fcm-token device-info]]
|
"c3" (fn [[name profile-image address _ _]]
|
||||||
(contact/ContactRequestConfirmed. name profile-image address fcm-token device-info))
|
(contact/ContactRequestConfirmed. name profile-image address nil nil))
|
||||||
"c4" (fn [[legacy-content content-type message-type clock-value timestamp content]]
|
"c4" (fn [[legacy-content content-type message-type clock-value timestamp content]]
|
||||||
(let [[new-content new-content-type] (legacy->new-message-data (or content legacy-content) content-type)]
|
(let [[new-content new-content-type] (legacy->new-message-data (or content legacy-content) content-type)]
|
||||||
(protocol/Message. new-content new-content-type message-type clock-value timestamp)))
|
(protocol/Message. new-content new-content-type message-type clock-value timestamp)))
|
||||||
"c7" (fn [[content content-type message-type clock-value timestamp]]
|
"c7" (fn [[content content-type message-type clock-value timestamp]]
|
||||||
(protocol/Message. content content-type message-type clock-value timestamp))
|
(protocol/Message. content content-type message-type clock-value timestamp))
|
||||||
"c5" (fn [])
|
"c5" (fn [])
|
||||||
"c6" (fn [[name profile-image address fcm-token device-info]]
|
"c6" (fn [[name profile-image address _ _]]
|
||||||
(contact/ContactUpdate. name profile-image address fcm-token device-info))
|
(contact/ContactUpdate. name profile-image address nil nil))
|
||||||
"g5" (fn [[chat-id membership-updates message]]
|
"g5" (fn [[chat-id membership-updates message]]
|
||||||
(group-chat/GroupMembershipUpdate. chat-id membership-updates message))
|
(group-chat/GroupMembershipUpdate. chat-id membership-updates message))
|
||||||
"p1" (fn [[contacts account chat]]
|
"p1" (fn [[contacts account chat]]
|
||||||
(pairing/SyncInstallation. contacts account chat))
|
(pairing/SyncInstallation. contacts account chat))
|
||||||
"p2" (fn [[installation-id device-type name fcm-token]]
|
"p2" (fn [[installation-id device-type name _]]
|
||||||
(pairing/PairInstallation. installation-id device-type name fcm-token))}}))
|
(pairing/PairInstallation. installation-id device-type name nil))}}))
|
||||||
|
|
||||||
(defn serialize
|
(defn serialize
|
||||||
"Serializes a record implementing the StatusMessage protocol using the custom writers"
|
"Serializes a record implementing the StatusMessage protocol using the custom writers"
|
||||||
|
@ -38,7 +38,6 @@
|
|||||||
:peers-count 0
|
:peers-count 0
|
||||||
:node-info {}
|
:node-info {}
|
||||||
:peers-summary []
|
:peers-summary []
|
||||||
:notifications {}
|
|
||||||
:my-profile/editing? false
|
:my-profile/editing? false
|
||||||
:transport/filters {}
|
:transport/filters {}
|
||||||
:transport/message-envelopes {}
|
:transport/message-envelopes {}
|
||||||
@ -53,7 +52,6 @@
|
|||||||
:initial-props {}
|
:initial-props {}
|
||||||
:desktop/desktop {:tab-view-id :home}
|
:desktop/desktop {:tab-view-id :home}
|
||||||
:dimensions/window (dimensions/window)
|
:dimensions/window (dimensions/window)
|
||||||
:push-notifications/stored {}
|
|
||||||
:registry {}
|
:registry {}
|
||||||
:stickers/packs-owned #{}
|
:stickers/packs-owned #{}
|
||||||
:stickers/packs-pending #{}
|
:stickers/packs-pending #{}
|
||||||
@ -167,9 +165,6 @@
|
|||||||
;; DIMENSIONS
|
;; DIMENSIONS
|
||||||
(spec/def :dimensions/window map?)
|
(spec/def :dimensions/window map?)
|
||||||
|
|
||||||
;; PUSH NOTIFICATIONS
|
|
||||||
(spec/def :push-notifications/stored (spec/nilable map?))
|
|
||||||
|
|
||||||
(spec/def ::hardwallet (spec/nilable map?))
|
(spec/def ::hardwallet (spec/nilable map?))
|
||||||
|
|
||||||
(spec/def :stickers/packs (spec/nilable map?))
|
(spec/def :stickers/packs (spec/nilable map?))
|
||||||
@ -215,7 +210,6 @@
|
|||||||
:networks/manage
|
:networks/manage
|
||||||
:bootnodes/manage
|
:bootnodes/manage
|
||||||
:universal-links/url
|
:universal-links/url
|
||||||
:push-notifications/stored
|
|
||||||
:browser/browsers
|
:browser/browsers
|
||||||
:browser/options
|
:browser/options
|
||||||
:new/open-dapp
|
:new/open-dapp
|
||||||
@ -318,7 +312,6 @@
|
|||||||
:wallet/wallet
|
:wallet/wallet
|
||||||
:prices/prices
|
:prices/prices
|
||||||
:prices/prices-loading?
|
:prices/prices-loading?
|
||||||
:notifications/notifications
|
|
||||||
::supported-biometric-auth
|
::supported-biometric-auth
|
||||||
::collectible
|
::collectible
|
||||||
::collectibles
|
::collectibles
|
||||||
|
@ -244,11 +244,6 @@
|
|||||||
(i18n/label :t/processing)]]
|
(i18n/label :t/processing)]]
|
||||||
[password-container confirm-failure? view-width]))
|
[password-container confirm-failure? view-width]))
|
||||||
|
|
||||||
(defn enable-notifications []
|
|
||||||
[vector-icons/icon :main-icons/bell {:container-style {:align-items :center
|
|
||||||
:justify-content :center}
|
|
||||||
:width 66 :height 64}])
|
|
||||||
|
|
||||||
(defn bottom-bar [{:keys [step weak-password? encrypt-with-password?
|
(defn bottom-bar [{:keys [step weak-password? encrypt-with-password?
|
||||||
forward-action
|
forward-action
|
||||||
next-button-disabled?
|
next-button-disabled?
|
||||||
@ -264,11 +259,11 @@
|
|||||||
[react/view {:min-height 46 :max-height 46 :align-self :stretch}
|
[react/view {:min-height 46 :max-height 46 :align-self :stretch}
|
||||||
[react/activity-indicator {:animating true
|
[react/activity-indicator {:animating true
|
||||||
:size :large}]]
|
:size :large}]]
|
||||||
(#{:generate-key :recovery-success :enable-notifications} step)
|
(#{:generate-key :recovery-success} step)
|
||||||
(let [label-kw (case step
|
(let [label-kw (case step
|
||||||
:generate-key :generate-a-key
|
:generate-key :generate-a-key
|
||||||
:recovery-success :re-encrypt-key
|
:recovery-success :re-encrypt-key
|
||||||
:enable-notifications :intro-wizard-title6)]
|
:intro-wizard-title6)]
|
||||||
[react/view {:min-height 46 :max-height 46}
|
[react/view {:min-height 46 :max-height 46}
|
||||||
[components.common/button {:button-style styles/bottom-button
|
[components.common/button {:button-style styles/bottom-button
|
||||||
:on-press #(re-frame/dispatch
|
:on-press #(re-frame/dispatch
|
||||||
@ -292,12 +287,6 @@
|
|||||||
(and (= step :create-code) weak-password?)
|
(and (= step :create-code) weak-password?)
|
||||||
(and (= step :enter-phrase) next-button-disabled?))
|
(and (= step :enter-phrase) next-button-disabled?))
|
||||||
:forward? true}]]])
|
:forward? true}]]])
|
||||||
(when (= :enable-notifications step)
|
|
||||||
[components.common/button {:button-style (assoc styles/bottom-button :margin-top 20)
|
|
||||||
:label (i18n/label :t/maybe-later)
|
|
||||||
:accessibility-label :skip-notifications-button
|
|
||||||
:on-press #(re-frame/dispatch [forward-action {:skip? true}])
|
|
||||||
:background? false}])
|
|
||||||
|
|
||||||
(when (or (= :generate-key step) (and processing? (= :recovery-success step)))
|
(when (or (= :generate-key step) (and processing? (= :recovery-success step)))
|
||||||
[react/text {:style (assoc styles/wizard-text :margin-top 20)}
|
[react/text {:style (assoc styles/wizard-text :margin-top 20)}
|
||||||
@ -541,20 +530,6 @@
|
|||||||
:forward-action (:forward-action wizard-state)}
|
:forward-action (:forward-action wizard-state)}
|
||||||
wizard-state)]]]))
|
wizard-state)]]]))
|
||||||
|
|
||||||
(defn wizard-enable-notifications []
|
|
||||||
[react/view {:style {:flex 1}}
|
|
||||||
[toolbar/toolbar
|
|
||||||
{:style {:border-bottom-width 0
|
|
||||||
:margin-top 16}}
|
|
||||||
nil
|
|
||||||
nil]
|
|
||||||
[react/view {:style {:flex 1
|
|
||||||
:justify-content :space-between}}
|
|
||||||
[top-bar {:step :enable-notifications}]
|
|
||||||
[enable-notifications]
|
|
||||||
[bottom-bar {:step :enable-notifications
|
|
||||||
:forward-action :intro-wizard/step-forward-pressed}]]])
|
|
||||||
|
|
||||||
(defview wizard-enter-phrase []
|
(defview wizard-enter-phrase []
|
||||||
(letsubs [wizard-state [:intro-wizard/enter-phrase]]
|
(letsubs [wizard-state [:intro-wizard/enter-phrase]]
|
||||||
[react/keyboard-avoiding-view {:style {:flex 1}}
|
[react/keyboard-avoiding-view {:style {:flex 1}}
|
||||||
@ -588,4 +563,3 @@
|
|||||||
[bottom-bar {:step :recovery-success
|
[bottom-bar {:step :recovery-success
|
||||||
:forward-action :multiaccounts.recover/re-encrypt-pressed
|
:forward-action :multiaccounts.recover/re-encrypt-pressed
|
||||||
:processing? processing?}]]]))
|
:processing? processing?}]]]))
|
||||||
|
|
||||||
|
@ -150,7 +150,8 @@
|
|||||||
[(when show-backup-seed?
|
[(when show-backup-seed?
|
||||||
[components.common/counter {:size 22} 1]) :chevron]
|
[components.common/counter {:size 22} 1]) :chevron]
|
||||||
:on-press #(re-frame/dispatch [:navigate-to :privacy-and-security])}
|
:on-press #(re-frame/dispatch [:navigate-to :privacy-and-security])}
|
||||||
{:icon :main-icons/notification
|
;; TODO commented out for now because it will be enabled for android notifications
|
||||||
|
#_{:icon :main-icons/notification
|
||||||
:title :t/notifications
|
:title :t/notifications
|
||||||
:accessibility-label :notifications-button
|
:accessibility-label :notifications-button
|
||||||
;; TODO commented out for now, uncomment when notifications-settings view
|
;; TODO commented out for now, uncomment when notifications-settings view
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
:create-multiaccount-select-key-storage
|
:create-multiaccount-select-key-storage
|
||||||
:create-multiaccount-create-code
|
:create-multiaccount-create-code
|
||||||
:create-multiaccount-confirm-code
|
:create-multiaccount-confirm-code
|
||||||
:create-multiaccount-enable-notifications
|
|
||||||
:recover-multiaccount-enter-phrase
|
:recover-multiaccount-enter-phrase
|
||||||
:recover-multiaccount-select-storage
|
:recover-multiaccount-select-storage
|
||||||
:recover-multiaccount-enter-password
|
:recover-multiaccount-enter-password
|
||||||
@ -63,7 +62,6 @@
|
|||||||
:create-multiaccount-select-key-storage
|
:create-multiaccount-select-key-storage
|
||||||
:create-multiaccount-create-code
|
:create-multiaccount-create-code
|
||||||
:create-multiaccount-confirm-code
|
:create-multiaccount-confirm-code
|
||||||
:create-multiaccount-enable-notifications
|
|
||||||
:recover-multiaccount-enter-phrase
|
:recover-multiaccount-enter-phrase
|
||||||
:recover-multiaccount-select-storage
|
:recover-multiaccount-select-storage
|
||||||
:recover-multiaccount-enter-password
|
:recover-multiaccount-enter-password
|
||||||
|
@ -79,7 +79,6 @@
|
|||||||
:create-multiaccount-select-key-storage intro/wizard-select-key-storage
|
:create-multiaccount-select-key-storage intro/wizard-select-key-storage
|
||||||
:create-multiaccount-create-code intro/wizard-create-code
|
:create-multiaccount-create-code intro/wizard-create-code
|
||||||
:create-multiaccount-confirm-code intro/wizard-confirm-code
|
:create-multiaccount-confirm-code intro/wizard-confirm-code
|
||||||
:create-multiaccount-enable-notifications intro/wizard-enable-notifications
|
|
||||||
:recover-multiaccount-enter-phrase intro/wizard-enter-phrase
|
:recover-multiaccount-enter-phrase intro/wizard-enter-phrase
|
||||||
:recover-multiaccount-success intro/wizard-recovery-success
|
:recover-multiaccount-success intro/wizard-recovery-success
|
||||||
:recover-multiaccount-select-storage intro/wizard-select-key-storage
|
:recover-multiaccount-select-storage intro/wizard-select-key-storage
|
||||||
|
@ -27,9 +27,6 @@
|
|||||||
(def webview #js {:WebView #js {}})
|
(def webview #js {:WebView #js {}})
|
||||||
(def status-keycard #js {:default #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-linking #js {:addEventListener (fn [])})
|
||||||
(def desktop-shortcuts #js {:addEventListener (fn [])})
|
(def desktop-shortcuts #js {:addEventListener (fn [])})
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
{:last-updated 0,
|
{:last-updated 0,
|
||||||
:address "eca8218b5ebeb2c47ba94c1b6e0a779d78fff7bc",
|
:address "eca8218b5ebeb2c47ba94c1b6e0a779d78fff7bc",
|
||||||
:name "User B",
|
:name "User B",
|
||||||
:fcm-token nil,
|
|
||||||
:photo-path "photo1",
|
:photo-path "photo1",
|
||||||
:last-online 0,
|
:last-online 0,
|
||||||
:public-key
|
:public-key
|
||||||
@ -47,7 +46,6 @@
|
|||||||
:public-key "0x048a2f8b80c60f89a91b4c1316e56f75b087f446e7b8701ceca06a40142d8efe1f5aa36bd0fee9e248060a8d5207b43ae98bef4617c18c71e66f920f324869c09f"}
|
:public-key "0x048a2f8b80c60f89a91b4c1316e56f75b087f446e7b8701ceca06a40142d8efe1f5aa36bd0fee9e248060a8d5207b43ae98bef4617c18c71e66f920f324869c09f"}
|
||||||
{:last-updated 0
|
{:last-updated 0
|
||||||
:name "User B"
|
:name "User B"
|
||||||
:fcm-token nil
|
|
||||||
:photo-path "photo1"
|
:photo-path "photo1"
|
||||||
:address "eca8218b5ebeb2c47ba94c1b6e0a779d78fff7bc"
|
:address "eca8218b5ebeb2c47ba94c1b6e0a779d78fff7bc"
|
||||||
:last-online 0
|
:last-online 0
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
(ns status-im.test.contacts.device-info
|
|
||||||
(:require [cljs.test :refer-macros [deftest is testing]]
|
|
||||||
[status-im.contact.device-info :as device-info]))
|
|
||||||
|
|
||||||
(def device-list
|
|
||||||
{"2" {:installation-id "2"
|
|
||||||
:fcm-token "token-2"
|
|
||||||
:enabled? true}
|
|
||||||
"3" {:installation-id "3"
|
|
||||||
:fcm-token "token-3"
|
|
||||||
:enabled? false}
|
|
||||||
"4" {:installation-id "4"
|
|
||||||
:enabled? true}
|
|
||||||
"5" {:installation-id "5"
|
|
||||||
:fcm-token "token-5"
|
|
||||||
:enabled? true}})
|
|
||||||
|
|
||||||
(deftest device-info-all
|
|
||||||
(testing "no devices"
|
|
||||||
(is (= [{:id "1"
|
|
||||||
:fcm-token "token-1"}]
|
|
||||||
(device-info/all {:db {:multiaccount {:installation-id "1"}
|
|
||||||
:notifications {:fcm-token "token-1"}}})))
|
|
||||||
|
|
||||||
(testing "some devices"
|
|
||||||
(is (= [{:id "1"
|
|
||||||
:fcm-token "token-1"}
|
|
||||||
{:id "2"
|
|
||||||
:fcm-token "token-2"}
|
|
||||||
{:id "5"
|
|
||||||
:fcm-token "token-5"}]
|
|
||||||
(device-info/all {:db {:multiaccount {:installation-id "1"}
|
|
||||||
:pairing/installations device-list
|
|
||||||
:notifications {:fcm-token "token-1"}}}))))))
|
|
@ -8,12 +8,6 @@
|
|||||||
:name "name"
|
:name "name"
|
||||||
:photo-path "photo-path"
|
:photo-path "photo-path"
|
||||||
:tribute-to-talk "tribute-to-talk"
|
:tribute-to-talk "tribute-to-talk"
|
||||||
:device-info {"1" {:id "1"
|
|
||||||
:timestamp 1
|
|
||||||
:fcm-token "1"}
|
|
||||||
"2" {:id "2"
|
|
||||||
:timestamp 2
|
|
||||||
:fcm-token 3}}
|
|
||||||
:last-updated 1
|
:last-updated 1
|
||||||
:system-tags #{:a :b}}
|
:system-tags #{:a :b}}
|
||||||
expected-contact {:id "pk"
|
expected-contact {:id "pk"
|
||||||
@ -21,12 +15,7 @@
|
|||||||
:name "name"
|
:name "name"
|
||||||
:photoPath "photo-path"
|
:photoPath "photo-path"
|
||||||
:tributeToTalk "[\"~#'\",\"tribute-to-talk\"]"
|
:tributeToTalk "[\"~#'\",\"tribute-to-talk\"]"
|
||||||
:deviceInfo [{:installationId "1"
|
|
||||||
:timestamp 1
|
|
||||||
:fcmToken "1"}
|
|
||||||
{:installationId "2"
|
|
||||||
:timestamp 2
|
|
||||||
:fcmToken 3}]
|
|
||||||
:lastUpdated 1
|
:lastUpdated 1
|
||||||
:systemTags #{":a" ":b"}}]
|
:systemTags #{":a" ":b"}}]
|
||||||
(testing "->rpc"
|
(testing "->rpc"
|
||||||
@ -40,29 +29,15 @@
|
|||||||
:address "address"
|
:address "address"
|
||||||
:name "name"
|
:name "name"
|
||||||
:photoPath "photo-path"
|
:photoPath "photo-path"
|
||||||
:tributeToTalk "[\"~#'\",\"tribute-to-talk\"]"
|
:tributeToTalk "[\"~#'\",\"tribute-to-talk\"]" :lastUpdated 1
|
||||||
|
|
||||||
:deviceInfo [{:installationId "1"
|
|
||||||
:timestamp 1
|
|
||||||
:fcmToken "1"}
|
|
||||||
{:installationId "2"
|
|
||||||
:timestamp 2
|
|
||||||
:fcmToken 3}]
|
|
||||||
:lastUpdated 1
|
|
||||||
:systemTags [":a" ":b"]}
|
:systemTags [":a" ":b"]}
|
||||||
expected-contact {:public-key "pk"
|
expected-contact {:public-key "pk"
|
||||||
:address "address"
|
:address "address"
|
||||||
:name "name"
|
:name "name"
|
||||||
:photo-path "photo-path"
|
:photo-path "photo-path"
|
||||||
:tribute-to-talk "tribute-to-talk"
|
:tribute-to-talk "tribute-to-talk"
|
||||||
:device-info {"1" {:id "1"
|
|
||||||
:timestamp 1
|
|
||||||
:fcm-token "1"}
|
|
||||||
"2" {:id "2"
|
|
||||||
:timestamp 2
|
|
||||||
:fcm-token 3}}
|
|
||||||
:last-updated 1
|
:last-updated 1
|
||||||
:system-tags #{:a :b}}]
|
:system-tags #{:a :b}}]
|
||||||
(testing "<-rpc"
|
(testing "<-rpc"
|
||||||
(is (= expected-contact (c/<-rpc contact))))))
|
(is (= expected-contact (c/<-rpc contact))))))
|
||||||
|
|
||||||
|
@ -17,10 +17,7 @@
|
|||||||
1
|
1
|
||||||
{:name "name"
|
{:name "name"
|
||||||
:profile-image "image"
|
:profile-image "image"
|
||||||
:address "address"
|
:address "address"})
|
||||||
:device-info [{:id "1"
|
|
||||||
:fcm-token "token-1"}]
|
|
||||||
:fcm-token "token"})
|
|
||||||
contact (get-in actual [:db :contacts/contacts public-key])]
|
contact (get-in actual [:db :contacts/contacts public-key])]
|
||||||
(testing "it adds a new contact"
|
(testing "it adds a new contact"
|
||||||
(is (= {:public-key public-key
|
(is (= {:public-key public-key
|
||||||
@ -28,10 +25,6 @@
|
|||||||
:name "name"
|
:name "name"
|
||||||
:last-updated 1000
|
:last-updated 1000
|
||||||
:system-tags #{:contact/request-received}
|
:system-tags #{:contact/request-received}
|
||||||
:device-info {"1" {:id "1"
|
|
||||||
:timestamp 1
|
|
||||||
:fcm-token "token-1"}}
|
|
||||||
:fcm-token "token"
|
|
||||||
:address "address"}
|
:address "address"}
|
||||||
contact)))))
|
contact)))))
|
||||||
(testing "the contact is already in contacts"
|
(testing "the contact is already in contacts"
|
||||||
@ -42,42 +35,21 @@
|
|||||||
:photo-path "old-image"
|
:photo-path "old-image"
|
||||||
:name "old-name"
|
:name "old-name"
|
||||||
:last-updated 0
|
:last-updated 0
|
||||||
:device-info {"1" {:id "1"
|
|
||||||
:timestamp 0
|
|
||||||
:fcm-token "token-1"}
|
|
||||||
"2" {:id "2"
|
|
||||||
:timestamp 0
|
|
||||||
:fcm-token "token-2"}}
|
|
||||||
:system-tags #{:contact/added}
|
:system-tags #{:contact/added}
|
||||||
:fcm-token "old-token"
|
|
||||||
:address "old-address"}}}}
|
:address "old-address"}}}}
|
||||||
public-key
|
public-key
|
||||||
1
|
1
|
||||||
{:name "new-name"
|
{:name "new-name"
|
||||||
:profile-image "new-image"
|
:profile-image "new-image"
|
||||||
:device-info [{:id "2"
|
:address "new-address"})
|
||||||
:fcm-token "token-2"}
|
|
||||||
{:id "3"
|
|
||||||
:fcm-token "token-3"}]
|
|
||||||
:address "new-address"
|
|
||||||
:fcm-token "new-token"})
|
|
||||||
contact (get-in actual [:db :contacts/contacts public-key])]
|
contact (get-in actual [:db :contacts/contacts public-key])]
|
||||||
(testing "it updates the contact and adds contact/request-received to system tags"
|
(testing "it updates the contact and adds contact/request-received to system tags"
|
||||||
(is (= {:public-key public-key
|
(is (= {:public-key public-key
|
||||||
:photo-path "new-image"
|
:photo-path "new-image"
|
||||||
:name "new-name"
|
:name "new-name"
|
||||||
:last-updated 1000
|
:last-updated 1000
|
||||||
:device-info {"1" {:id "1"
|
|
||||||
:fcm-token "token-1"
|
|
||||||
:timestamp 0}
|
|
||||||
"2" {:id "2"
|
|
||||||
:fcm-token "token-2"
|
|
||||||
:timestamp 1}
|
|
||||||
"3" {:id "3"
|
|
||||||
:fcm-token "token-3"
|
|
||||||
:timestamp 1}}
|
|
||||||
:system-tags #{:contact/added :contact/request-received}
|
:system-tags #{:contact/added :contact/request-received}
|
||||||
:fcm-token "new-token"
|
|
||||||
:address "new-address"}
|
:address "new-address"}
|
||||||
contact)))))
|
contact)))))
|
||||||
(testing "timestamp is equal to last-updated"
|
(testing "timestamp is equal to last-updated"
|
||||||
@ -88,14 +60,12 @@
|
|||||||
:name "old-name"
|
:name "old-name"
|
||||||
:last-updated 1000
|
:last-updated 1000
|
||||||
:system-tags #{:contact/added}
|
:system-tags #{:contact/added}
|
||||||
:fcm-token "old-token"
|
|
||||||
:address "old-address"}}}}
|
:address "old-address"}}}}
|
||||||
public-key
|
public-key
|
||||||
1
|
1
|
||||||
{:name "new-name"
|
{:name "new-name"
|
||||||
:profile-image "new-image"
|
:profile-image "new-image"
|
||||||
:address "new-address"
|
:address "new-address"})
|
||||||
:fcm-token "new-token"})
|
|
||||||
contact (get-in actual [:db :contacts/contacts public-key])]
|
contact (get-in actual [:db :contacts/contacts public-key])]
|
||||||
(testing "it does nothing"
|
(testing "it does nothing"
|
||||||
(is (nil? actual)))))
|
(is (nil? actual)))))
|
||||||
@ -107,14 +77,12 @@
|
|||||||
:name "old-name"
|
:name "old-name"
|
||||||
:last-updated 1000
|
:last-updated 1000
|
||||||
:system-tags #{:contact/added :contact/request-received}
|
:system-tags #{:contact/added :contact/request-received}
|
||||||
:fcm-token "old-token"
|
|
||||||
:address "old-address"}}}}
|
:address "old-address"}}}}
|
||||||
public-key
|
public-key
|
||||||
0
|
0
|
||||||
{:name "new-name"
|
{:name "new-name"
|
||||||
:profile-image "new-image"
|
:profile-image "new-image"
|
||||||
:address "new-address"
|
:address "new-address"})
|
||||||
:fcm-token "new-token"})
|
|
||||||
contact (get-in actual [:db :contacts/contacts public-key])]
|
contact (get-in actual [:db :contacts/contacts public-key])]
|
||||||
(testing "it does nothing"
|
(testing "it does nothing"
|
||||||
(is (nil? actual))))))
|
(is (nil? actual))))))
|
||||||
@ -123,8 +91,7 @@
|
|||||||
{:db {:contacts/contacts
|
{:db {:contacts/contacts
|
||||||
{public-key {:public-key public-key
|
{public-key {:public-key public-key
|
||||||
:photo-path "old-image"
|
:photo-path "old-image"
|
||||||
:device-info {"1" {:id "1"
|
|
||||||
:fcm-token "token-1"}}
|
|
||||||
:name "old-name"
|
:name "old-name"
|
||||||
:last-updated 0
|
:last-updated 0
|
||||||
:system-tags #{:contact/added}}}}}
|
:system-tags #{:contact/added}}}}}
|
||||||
@ -137,8 +104,7 @@
|
|||||||
(is (= {:public-key public-key
|
(is (= {:public-key public-key
|
||||||
:photo-path "new-image"
|
:photo-path "new-image"
|
||||||
:name "new-name"
|
:name "new-name"
|
||||||
:device-info {"1" {:id "1"
|
|
||||||
:fcm-token "token-1"}}
|
|
||||||
:last-updated 1000
|
:last-updated 1000
|
||||||
:system-tags #{:contact/added :contact/request-received}
|
:system-tags #{:contact/added :contact/request-received}
|
||||||
:address address} contact)))))
|
:address address} contact)))))
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
(ns status-im.test.notifications.core
|
|
||||||
(:require [cljs.test :refer-macros [deftest is testing]]
|
|
||||||
[status-im.notifications.core :as notifications]))
|
|
||||||
|
|
||||||
(deftest test-handle-push-notification-open
|
|
||||||
(testing "user's signing in having opened PN while signed out"
|
|
||||||
(is (= {:db {:multiaccount {:public-key "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}
|
|
||||||
:push-notifications/stored {}}
|
|
||||||
:dispatch [:navigate-to-chat "0x045db1fdb16c4721ddf32e892c5156d9c7a7445482b84ccd41131eb7970f9d623629d86763c5c2a542ae372815125c27eb73535d583d3285bdbfa16ba37f42e2de" {:navigation-reset? true}]}
|
|
||||||
(notifications/handle-push-notification-open {:db {:push-notifications/stored {}
|
|
||||||
:multiaccount {:public-key "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}}}
|
|
||||||
[:push-notification-opened {:from "0x045db1fdb16c4721ddf32e892c5156d9c7a7445482b84ccd41131eb7970f9d623629d86763c5c2a542ae372815125c27eb73535d583d3285bdbfa16ba37f42e2de"
|
|
||||||
:to "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"
|
|
||||||
:stored? true}]))))
|
|
||||||
(testing "user's signed in"
|
|
||||||
(is (= {:db {:multiaccount {:public-key "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}
|
|
||||||
:push-notifications/stored {}}
|
|
||||||
:dispatch [:navigate-to-chat "0x045db1fdb16c4721ddf32e892c5156d9c7a7445482b84ccd41131eb7970f9d623629d86763c5c2a542ae372815125c27eb73535d583d3285bdbfa16ba37f42e2de"]}
|
|
||||||
(notifications/handle-push-notification-open {:db {:push-notifications/stored {}
|
|
||||||
:multiaccount {:public-key "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}}}
|
|
||||||
[:push-notification-opened {:from "0x045db1fdb16c4721ddf32e892c5156d9c7a7445482b84ccd41131eb7970f9d623629d86763c5c2a542ae372815125c27eb73535d583d3285bdbfa16ba37f42e2de"
|
|
||||||
:to "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}]))))
|
|
||||||
(testing "user's signed in into another multiaccount"
|
|
||||||
(is (= {}
|
|
||||||
(notifications/handle-push-notification-open {:db {:multiaccount {:public-key "0x04bc8bf4a91ab726bd98f2c54b3036caacaeea527867945ab839e9ad4e62696856d7f7fa485f68304de357e38a1553eac5592706a16fcf71fd821bbd6c796f9ab3"}}}
|
|
||||||
[:push-notification-opened {:from "0x045db1fdb16c4721ddf32e892c5156d9c7a7445482b84ccd41131eb7970f9d623629d86763c5c2a542ae372815125c27eb73535d583d3285bdbfa16ba37f42e2de"
|
|
||||||
:to "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}]))))
|
|
||||||
(testing "user's not signed in"
|
|
||||||
(is (= {:db {:multiaccounts/multiaccounts {"bd36cd64e2621b054a3b7464ff1b3c4c304880e7" {:address "bd36cd64e2621b054a3b7464ff1b3c4c304880e7"
|
|
||||||
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX"
|
|
||||||
:name "Bob"
|
|
||||||
:public-key "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}}
|
|
||||||
:multiaccount {:public-key nil}
|
|
||||||
:push-notifications/stored {"0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"
|
|
||||||
"0x045db1fdb16c4721ddf32e892c5156d9c7a7445482b84ccd41131eb7970f9d623629d86763c5c2a542ae372815125c27eb73535d583d3285bdbfa16ba37f42e2de"}}
|
|
||||||
:dispatch [:ui/open-login "bd36cd64e2621b054a3b7464ff1b3c4c304880e7" "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX" "Bob"]}
|
|
||||||
(notifications/handle-push-notification-open {:db {:multiaccounts/multiaccounts {"bd36cd64e2621b054a3b7464ff1b3c4c304880e7" {:address "bd36cd64e2621b054a3b7464ff1b3c4c304880e7"
|
|
||||||
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX"
|
|
||||||
:name "Bob"
|
|
||||||
:public-key "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}}
|
|
||||||
:multiaccount {:public-key nil}
|
|
||||||
:push-notifications/stored {}}}
|
|
||||||
[:push-notification-opened {:from "0x045db1fdb16c4721ddf32e892c5156d9c7a7445482b84ccd41131eb7970f9d623629d86763c5c2a542ae372815125c27eb73535d583d3285bdbfa16ba37f42e2de"
|
|
||||||
:to "0x04d2e59a7501a7bc5bc8bf973a0ab95d06225e2b0f53d5f6be719d857c579bdc1b809bfbe0e8393343f9a5b63a9a90a1a58329c6d1c286d6929f01aaa5472ca9c2"}])))))
|
|
@ -21,7 +21,7 @@
|
|||||||
expected {:system-tags #{:contact/added}
|
expected {:system-tags #{:contact/added}
|
||||||
:this-should-be-kept true
|
:this-should-be-kept true
|
||||||
:last-updated 2
|
:last-updated 2
|
||||||
:device-info nil
|
|
||||||
:name "name-v2"
|
:name "name-v2"
|
||||||
:photo-path "photo-v2"}]
|
:photo-path "photo-v2"}]
|
||||||
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
||||||
@ -35,7 +35,7 @@
|
|||||||
:photo-path "photo-v2"}
|
:photo-path "photo-v2"}
|
||||||
expected {:system-tags #{:contact/added}
|
expected {:system-tags #{:contact/added}
|
||||||
:last-updated 2
|
:last-updated 2
|
||||||
:device-info nil
|
|
||||||
:name "name-v2"
|
:name "name-v2"
|
||||||
:photo-path "photo-v2"}]
|
:photo-path "photo-v2"}]
|
||||||
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
||||||
@ -47,7 +47,7 @@
|
|||||||
:photo-path "photo-v2"}
|
:photo-path "photo-v2"}
|
||||||
expected {:system-tags #{:contact/added}
|
expected {:system-tags #{:contact/added}
|
||||||
:last-updated 2
|
:last-updated 2
|
||||||
:device-info nil
|
|
||||||
:name "name-v2"
|
:name "name-v2"
|
||||||
:photo-path "photo-v2"}]
|
:photo-path "photo-v2"}]
|
||||||
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
||||||
@ -62,7 +62,7 @@
|
|||||||
:photo-path "photo-v2"}
|
:photo-path "photo-v2"}
|
||||||
expected {:system-tags #{}
|
expected {:system-tags #{}
|
||||||
:last-updated 2
|
:last-updated 2
|
||||||
:device-info nil
|
|
||||||
:name "name-v2"
|
:name "name-v2"
|
||||||
:photo-path "photo-v2"}]
|
:photo-path "photo-v2"}]
|
||||||
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
||||||
@ -77,7 +77,7 @@
|
|||||||
:photo-path "photo-v2"}
|
:photo-path "photo-v2"}
|
||||||
expected {:system-tags #{:contact/added}
|
expected {:system-tags #{:contact/added}
|
||||||
:last-updated 2
|
:last-updated 2
|
||||||
:device-info nil
|
|
||||||
:name "name-v2"
|
:name "name-v2"
|
||||||
:photo-path "photo-v2"}]
|
:photo-path "photo-v2"}]
|
||||||
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
||||||
@ -89,42 +89,7 @@
|
|||||||
:photo-path "photo-v2"}
|
:photo-path "photo-v2"}
|
||||||
expected {:system-tags #{}
|
expected {:system-tags #{}
|
||||||
:last-updated 2
|
:last-updated 2
|
||||||
:device-info nil
|
|
||||||
:name "name-v2"
|
|
||||||
:photo-path "photo-v2"}]
|
|
||||||
(is (= expected (pairing/merge-contact contact-1 contact-2)))))
|
|
||||||
(testing "device-info"
|
|
||||||
(let [contact-1 {:system-tags #{:contact/added}
|
|
||||||
:last-updated 1
|
|
||||||
:name "name-v1"
|
|
||||||
:device-info {"1" {:timestamp 1
|
|
||||||
:fcm-token "token-1"
|
|
||||||
:id "1"}
|
|
||||||
"2" {:timestamp 1
|
|
||||||
:fcm-token "token-2"
|
|
||||||
:id "2"}}
|
|
||||||
:photo-path "photo-v1"}
|
|
||||||
contact-2 {:system-tags #{:contact/added}
|
|
||||||
:last-updated 2
|
|
||||||
:name "name-v2"
|
|
||||||
:device-info {"2" {:timestamp 2
|
|
||||||
:fcm-token "token-2"
|
|
||||||
:id "2"}
|
|
||||||
"3" {:timestamp 2
|
|
||||||
:fcm-token "token-3"
|
|
||||||
:id "3"}}
|
|
||||||
:photo-path "photo-v2"}
|
|
||||||
expected {:system-tags #{:contact/added}
|
|
||||||
:last-updated 2
|
|
||||||
:device-info {"1" {:timestamp 1
|
|
||||||
:fcm-token "token-1"
|
|
||||||
:id "1"}
|
|
||||||
"2" {:timestamp 2
|
|
||||||
:fcm-token "token-2"
|
|
||||||
:id "2"}
|
|
||||||
"3" {:timestamp 2
|
|
||||||
:fcm-token "token-3"
|
|
||||||
:id "3"}}
|
|
||||||
:name "name-v2"
|
:name "name-v2"
|
||||||
:photo-path "photo-v2"}]
|
:photo-path "photo-v2"}]
|
||||||
(is (= expected (pairing/merge-contact contact-1 contact-2))))))
|
(is (= expected (pairing/merge-contact contact-1 contact-2))))))
|
||||||
@ -179,12 +144,12 @@
|
|||||||
"contact-2" old-contact-2
|
"contact-2" old-contact-2
|
||||||
"contact-4" contact-4
|
"contact-4" contact-4
|
||||||
"contact-5" remote-contact-5}}
|
"contact-5" remote-contact-5}}
|
||||||
expected {"contact-1" (assoc new-contact-1 :device-info nil)
|
expected {"contact-1" new-contact-1
|
||||||
"contact-2" (assoc new-contact-2 :device-info nil)
|
"contact-2" new-contact-2
|
||||||
"contact-3" contact-3
|
"contact-3" contact-3
|
||||||
"contact-4" (assoc contact-4
|
"contact-4" (assoc contact-4
|
||||||
:photo-path "generated")
|
:photo-path "generated")
|
||||||
"contact-5" (assoc local-contact-5 :device-info nil)}]
|
"contact-5" local-contact-5}]
|
||||||
(testing "not coming from us"
|
(testing "not coming from us"
|
||||||
(is (not (:db (pairing/handle-sync-installation cofx sync-message "not-us")))))
|
(is (not (:db (pairing/handle-sync-installation cofx sync-message "not-us")))))
|
||||||
(testing "coming from us"
|
(testing "coming from us"
|
||||||
@ -226,7 +191,6 @@
|
|||||||
"2" {:has-bundle? false
|
"2" {:has-bundle? false
|
||||||
:installation-id "2"}}}}
|
:installation-id "2"}}}}
|
||||||
pair-message {:device-type "ios"
|
pair-message {:device-type "ios"
|
||||||
:fcm-token "fcm-token"
|
|
||||||
:name "name"
|
:name "name"
|
||||||
:installation-id "1"}]
|
:installation-id "1"}]
|
||||||
(testing "not coming from us"
|
(testing "not coming from us"
|
||||||
@ -234,7 +198,6 @@
|
|||||||
(testing "coming from us"
|
(testing "coming from us"
|
||||||
(is (= [["1"
|
(is (= [["1"
|
||||||
{:name "name"
|
{:name "name"
|
||||||
:fcmToken "fcm-token"
|
|
||||||
:deviceType "ios"}]]
|
:deviceType "ios"}]]
|
||||||
(:pairing/set-installation-metadata
|
(:pairing/set-installation-metadata
|
||||||
(pairing/handle-pair-installation cofx pair-message 1 "us")))))))
|
(pairing/handle-pair-installation cofx pair-message 1 "us")))))))
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
[status-im.test.chat.models]
|
[status-im.test.chat.models]
|
||||||
[status-im.test.chat.views.photos]
|
[status-im.test.chat.views.photos]
|
||||||
[status-im.test.transport.filters.core]
|
[status-im.test.transport.filters.core]
|
||||||
[status-im.test.contacts.device-info]
|
|
||||||
[status-im.test.data-store.chats]
|
[status-im.test.data-store.chats]
|
||||||
[status-im.test.data-store.messages]
|
[status-im.test.data-store.messages]
|
||||||
[status-im.test.data-store.contacts]
|
[status-im.test.data-store.contacts]
|
||||||
@ -92,7 +91,6 @@
|
|||||||
'status-im.test.chat.views.photos
|
'status-im.test.chat.views.photos
|
||||||
'status-im.test.transport.filters.core
|
'status-im.test.transport.filters.core
|
||||||
'status-im.test.contacts.db
|
'status-im.test.contacts.db
|
||||||
'status-im.test.contacts.device-info
|
|
||||||
'status-im.test.data-store.chats
|
'status-im.test.data-store.chats
|
||||||
'status-im.test.data-store.messages
|
'status-im.test.data-store.messages
|
||||||
'status-im.test.data-store.contacts
|
'status-im.test.data-store.contacts
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
:tags #{}
|
:tags #{}
|
||||||
:address "2f88d65f3cb52605a54a833ae118fb1363acccd2"
|
:address "2f88d65f3cb52605a54a833ae118fb1363acccd2"
|
||||||
:name "Darkviolet Lightgreen Halcyon"
|
:name "Darkviolet Lightgreen Halcyon"
|
||||||
:fcm-token "cwigXoAk9R4:APA91bFZOy8vsCj9I9t6PYZXropyYEqAhKaVD2GxrURwvxe_Ay3zLrtJxeirp69se_5EOjS5i4T9xQnoPWrFTLfU9U7AUBdjxZtq5cnlP005bOY05p-psxGsQThMKQMeP5DJC9uxN0Ei"
|
|
||||||
:photo-path "data:image/png;base64iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX///+M2KwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdPOdBAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5UBARL8TK8AAAAASUVORK5CYII="
|
:photo-path "data:image/png;base64iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX///+M2KwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdPOdBAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5UBARL8TK8AAAAASUVORK5CYII="
|
||||||
:system-tags #{:contact/added}
|
:system-tags #{:contact/added}
|
||||||
:last-online 0
|
:last-online 0
|
||||||
@ -13,7 +12,6 @@
|
|||||||
{:last-updated 1547271764000
|
{:last-updated 1547271764000
|
||||||
:address "b267ff8336ac10b3a1986c04a70ff91fb03d0b78"
|
:address "b267ff8336ac10b3a1986c04a70ff91fb03d0b78"
|
||||||
:name "rv"
|
:name "rv"
|
||||||
:fcm-token "dpVPtMBLuv8:APA91bEU4YuSz9yrc-vsiSl-IjdLSR5UpHm7yffaFlWQs_fvsTiK18ZcdYUbzA8iUoNuMVRNF_ngU7JdQInwNpXdGtNv_qcAFt0jhXHqf7dWY-kGJUBw9Ma8G_2fa40JLJchGVrzUIen"
|
|
||||||
:photo-path "data:image/png;base64iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX////VjNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwYzy6AAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAAAAAAEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEAAAAAAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQAAAAABAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAAAAAAEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6IYA4bRtf+EAAAAASUVORK5CYII="
|
:photo-path "data:image/png;base64iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX////VjNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwYzy6AAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAAAAAAEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEAAAAAAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQAAAAABAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAAAAAAEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6IYA4bRtf+EAAAAASUVORK5CYII="
|
||||||
:system-tags #{:contact/added}
|
:system-tags #{:contact/added}
|
||||||
:last-online 0
|
:last-online 0
|
||||||
|
@ -84,13 +84,3 @@
|
|||||||
(testing "http://get.status.im/blah"
|
(testing "http://get.status.im/blah"
|
||||||
(testing "it returns false"
|
(testing "it returns false"
|
||||||
(is (not (links/deep-link? "http://get.status.im/blah"))))))
|
(is (not (links/deep-link? "http://get.status.im/blah"))))))
|
||||||
|
|
||||||
(deftest process-stored-event
|
|
||||||
(testing "the url is in the database"
|
|
||||||
(testing "it returns the event"
|
|
||||||
(= "some-url"
|
|
||||||
(links/process-stored-event {:db {:universal-links/url "some-url"}}))))
|
|
||||||
(testing "the url is not in the database"
|
|
||||||
(testing "it returns nil"
|
|
||||||
(= nil
|
|
||||||
(links/process-stored-event {:db {}})))))
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user