Merge branch 'master' of https://github.com/esteemapp/esteem-mobile into feature/freeESTM

This commit is contained in:
u-e 2019-08-04 15:18:47 +03:00
commit 11f027343f
106 changed files with 3624 additions and 3772 deletions

View File

@ -3,10 +3,10 @@
platform :ios, '9.0'
target 'eSteem' do
pod 'AppCenter/Push', '~> 1.14.0'
pod 'AppCenter/Crashes', '~> 1.14.0'
pod 'AppCenter/Analytics', '~> 1.14.0'
pod 'AppCenterReactNativeShared', '~> 1.13.0'
pod 'AppCenter/Push', '~> 2.2.0'
pod 'AppCenter/Crashes', '~> 2.2.0'
pod 'AppCenter/Analytics', '~> 2.2.0'
pod 'AppCenterReactNativeShared', '~> 2.2.0'
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!

View File

@ -1,13 +1,13 @@
PODS:
- AppCenter/Analytics (1.14.0):
- AppCenter/Analytics (2.2.0):
- AppCenter/Core
- AppCenter/Core (1.14.0)
- AppCenter/Crashes (1.14.0):
- AppCenter/Core (2.2.0)
- AppCenter/Crashes (2.2.0):
- AppCenter/Core
- AppCenter/Push (1.14.0):
- AppCenter/Push (2.2.0):
- AppCenter/Core
- AppCenterReactNativeShared (1.13.0):
- AppCenter/Core (= 1.14.0)
- AppCenterReactNativeShared (2.2.0):
- AppCenter/Core (= 2.2.0)
- boost-for-react-native (1.63.0)
- BugsnagReactNative (2.21.0):
- BugsnagReactNative/Core (= 2.21.0)
@ -43,7 +43,7 @@ PODS:
- React
- SDWebImage/Core
- SDWebImage/GIF
- react-native-netinfo (3.2.1):
- react-native-netinfo (4.1.3):
- React
- react-native-version-number (0.3.6):
- React
@ -109,10 +109,10 @@ PODS:
- yoga (0.59.8.React)
DEPENDENCIES:
- AppCenter/Analytics (~> 1.14.0)
- AppCenter/Crashes (~> 1.14.0)
- AppCenter/Push (~> 1.14.0)
- AppCenterReactNativeShared (~> 1.13.0)
- AppCenter/Analytics (~> 2.2.0)
- AppCenter/Crashes (~> 2.2.0)
- AppCenter/Push (~> 2.2.0)
- AppCenterReactNativeShared (~> 2.2.0)
- BugsnagReactNative (from `../node_modules/bugsnag-react-native`)
- CodePush (from `../node_modules/react-native-code-push`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
@ -172,8 +172,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
AppCenter: 02c5efe08d3bbab5421ae41d5f7aa7238906b817
AppCenterReactNativeShared: 00f470c3c17b47718db8733cbe811ccdcfd86282
AppCenter: c809e69d93218b9861b4f8e54ded8dcf4d2131e7
AppCenterReactNativeShared: 5751a607a8aa06ebf19b48bf9d92bf3a75dab04e
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
BugsnagReactNative: 9f273f292378a016977f578e4467cf84b7182b07
CodePush: a503ca0caee269e68d8faaafe4414990ec282520
@ -184,7 +184,7 @@ SPEC CHECKSUMS:
QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
React: 76e6aa2b87d05eb6cccb6926d72685c9a07df152
react-native-fast-image: 6d50167ad4d68b59640ceead8c2bc4e58d91d8bd
react-native-netinfo: 0da34082d2cec3100c9b5073bb217e35f1142bdd
react-native-netinfo: e2c8a843bb18ab6c3f1e6cbead694491b36e3ffd
react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f
RNIap: ee89b7442f32161016fe213a3434ee1fc19c1a80
RNImageCropPicker: 6134b66a3d5bc13e2895a97c630a4254006902b4
@ -192,6 +192,6 @@ SPEC CHECKSUMS:
SDWebImage: 3f3f0c02f09798048c47a5ed0a13f17b063572d8
yoga: 92b2102c3d373d1a790db4ab761d2b0ffc634f64
PODFILE CHECKSUM: 88a2b7d9ae1d1f455784f33483316a2254fed44a
PODFILE CHECKSUM: afb8c6a227837e2a901eaed832d5bb66c6fd9cec
COCOAPODS: 1.7.5

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSAbstractLog.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@interface MSAbstractLog : NSObject

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSConstants.h"
@ -74,6 +77,13 @@
*/
+ (BOOL)isConfigured;
/**
* Check whether app is running in App Center Test Cloud.
*
* @return true if running in App Center Test Cloud, false otherwise.
*/
+ (BOOL)isRunningInAppCenterTestCloud;
/**
* Change the base URL (schema + authority + port only) used to communicate with the backend.
*

View File

@ -1,29 +1,36 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#define MS_APP_CENTER_BASE_DOMAIN @"com.Microsoft.AppCenter."
NS_ASSUME_NONNULL_BEGIN
#pragma mark - Domain
extern NSString *const kMSACErrorDomain;
static NSString *const kMSACErrorDomain = MS_APP_CENTER_BASE_DOMAIN @"ErrorDomain";
#pragma mark - Log
#pragma mark - General
// Error codes
NS_ENUM(NSInteger){kMSACLogInvalidContainerErrorCode = 1};
// Error codes.
NS_ENUM(NSInteger){MSACLogInvalidContainerErrorCode = 1, MSACCanceledErrorCode = 2, MSACDisabledErrorCode = 3};
// Error descriptions
extern NSString const *kMSACLogInvalidContainerErrorDesc;
// Error descriptions.
static NSString const *kMSACLogInvalidContainerErrorDesc = @"Invalid log container.";
static NSString const *kMSACCanceledErrorDesc = @"The operation was canceled.";
static NSString const *kMSACDisabledErrorDesc = @"The service is disabled.";
#pragma mark - Connection
// Error codes
NS_ENUM(NSInteger){kMSACConnectionPausedErrorCode = 100, kMSACConnectionHttpErrorCode = 101};
// Error codes.
NS_ENUM(NSInteger){MSACConnectionPausedErrorCode = 100, MSACConnectionHttpErrorCode = 101};
// Error descriptions
extern NSString const *kMSACConnectionHttpErrorDesc;
extern NSString const *kMSACConnectionPausedErrorDesc;
// Error descriptions.
static NSString const *kMSACConnectionHttpErrorDesc = @"An HTTP error occured.";
static NSString const *kMSACConnectionPausedErrorDesc = @"Canceled, connection paused with log deletion.";
// Error user info keys
extern NSString const *kMSACConnectionHttpCodeErrorKey;
// Error user info keys.
static NSString const *kMSACConnectionHttpCodeErrorKey = @"MSACConnectionHttpCode";
NS_ASSUME_NONNULL_END

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSChannelProtocol.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSEnable.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**
@ -63,3 +66,105 @@ typedef NS_ENUM(NSInteger, MSInitializationPriority) {
MSInitializationPriorityHigh = 750,
MSInitializationPriorityMax = 999
};
/**
* Enum with the different HTTP status codes.
*/
typedef NS_ENUM(NSInteger, MSHTTPCodesNo) {
// Invalid
MSHTTPCodesNo0XXInvalidUnknown = 0,
// Informational
MSHTTPCodesNo1XXInformationalUnknown = 1,
MSHTTPCodesNo100Continue = 100,
MSHTTPCodesNo101SwitchingProtocols = 101,
MSHTTPCodesNo102Processing = 102,
// Success
MSHTTPCodesNo2XXSuccessUnknown = 2,
MSHTTPCodesNo200OK = 200,
MSHTTPCodesNo201Created = 201,
MSHTTPCodesNo202Accepted = 202,
MSHTTPCodesNo203NonAuthoritativeInformation = 203,
MSHTTPCodesNo204NoContent = 204,
MSHTTPCodesNo205ResetContent = 205,
MSHTTPCodesNo206PartialContent = 206,
MSHTTPCodesNo207MultiStatus = 207,
MSHTTPCodesNo208AlreadyReported = 208,
MSHTTPCodesNo209IMUsed = 209,
// Redirection
MSHTTPCodesNo3XXSuccessUnknown = 3,
MSHTTPCodesNo300MultipleChoices = 300,
MSHTTPCodesNo301MovedPermanently = 301,
MSHTTPCodesNo302Found = 302,
MSHTTPCodesNo303SeeOther = 303,
MSHTTPCodesNo304NotModified = 304,
MSHTTPCodesNo305UseProxy = 305,
MSHTTPCodesNo306SwitchProxy = 306,
MSHTTPCodesNo307TemporaryRedirect = 307,
MSHTTPCodesNo308PermanentRedirect = 308,
// Client error
MSHTTPCodesNo4XXSuccessUnknown = 4,
MSHTTPCodesNo400BadRequest = 400,
MSHTTPCodesNo401Unauthorised = 401,
MSHTTPCodesNo402PaymentRequired = 402,
MSHTTPCodesNo403Forbidden = 403,
MSHTTPCodesNo404NotFound = 404,
MSHTTPCodesNo405MethodNotAllowed = 405,
MSHTTPCodesNo406NotAcceptable = 406,
MSHTTPCodesNo407ProxyAuthenticationRequired = 407,
MSHTTPCodesNo408RequestTimeout = 408,
MSHTTPCodesNo409Conflict = 409,
MSHTTPCodesNo410Gone = 410,
MSHTTPCodesNo411LengthRequired = 411,
MSHTTPCodesNo412PreconditionFailed = 412,
MSHTTPCodesNo413RequestEntityTooLarge = 413,
MSHTTPCodesNo414RequestURITooLong = 414,
MSHTTPCodesNo415UnsupportedMediaType = 415,
MSHTTPCodesNo416RequestedRangeNotSatisfiable = 416,
MSHTTPCodesNo417ExpectationFailed = 417,
MSHTTPCodesNo418IamATeapot = 418,
MSHTTPCodesNo419AuthenticationTimeout = 419,
MSHTTPCodesNo420MethodFailureSpringFramework = 420,
MSHTTPCodesNo420EnhanceYourCalmTwitter = 4200,
MSHTTPCodesNo422UnprocessableEntity = 422,
MSHTTPCodesNo423Locked = 423,
MSHTTPCodesNo424FailedDependency = 424,
MSHTTPCodesNo424MethodFailureWebDaw = 4240,
MSHTTPCodesNo425UnorderedCollection = 425,
MSHTTPCodesNo426UpgradeRequired = 426,
MSHTTPCodesNo428PreconditionRequired = 428,
MSHTTPCodesNo429TooManyRequests = 429,
MSHTTPCodesNo431RequestHeaderFieldsTooLarge = 431,
MSHTTPCodesNo444NoResponseNginx = 444,
MSHTTPCodesNo449RetryWithMicrosoft = 449,
MSHTTPCodesNo450BlockedByWindowsParentalControls = 450,
MSHTTPCodesNo451RedirectMicrosoft = 451,
MSHTTPCodesNo451UnavailableForLegalReasons = 4510,
MSHTTPCodesNo494RequestHeaderTooLargeNginx = 494,
MSHTTPCodesNo495CertErrorNginx = 495,
MSHTTPCodesNo496NoCertNginx = 496,
MSHTTPCodesNo497HTTPToHTTPSNginx = 497,
MSHTTPCodesNo499ClientClosedRequestNginx = 499,
// Server error
MSHTTPCodesNo5XXSuccessUnknown = 5,
MSHTTPCodesNo500InternalServerError = 500,
MSHTTPCodesNo501NotImplemented = 501,
MSHTTPCodesNo502BadGateway = 502,
MSHTTPCodesNo503ServiceUnavailable = 503,
MSHTTPCodesNo504GatewayTimeout = 504,
MSHTTPCodesNo505HTTPVersionNotSupported = 505,
MSHTTPCodesNo506VariantAlsoNegotiates = 506,
MSHTTPCodesNo507InsufficientStorage = 507,
MSHTTPCodesNo508LoopDetected = 508,
MSHTTPCodesNo509BandwidthLimitExceeded = 509,
MSHTTPCodesNo510NotExtended = 510,
MSHTTPCodesNo511NetworkAuthenticationRequired = 511,
MSHTTPCodesNo522ConnectionTimedOut = 522,
MSHTTPCodesNo598NetworkReadTimeoutErrorUnknown = 598,
MSHTTPCodesNo599NetworkConnectTimeoutErrorUnknown = 599
};

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSWrapperSdk.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@class MSDevice;

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSAbstractLog.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSConstants.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSService.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSConstants.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@interface MSWrapperSdk : NSObject

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSAbstractLog.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@interface MSAbstractLog : NSObject

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import "MSAnalyticsTransmissionTarget.h"
#import "MSServiceAbstract.h"
@ -57,9 +60,9 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param eventName Event name. Cannot be `nil` or empty.
* @param properties Dictionary of properties. Keys and values must not be `nil`.
* @param flags Optional flags. Events tracked with the MSFlagsPersistenceCritical flag will take precedence over all other events in
* @param flags Optional flags. Events tracked with the MSFlagsCritical flag will take precedence over all other events in
* storage. An event tracked with this option will only be dropped if storage must make room for a newer event that is also marked with the
* MSFlagsPersistenceCritical flag.
* MSFlagsCritical flag.
*
* @discussion Additional validation rules apply depending on the configured secret.
*
@ -128,9 +131,9 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param eventName Event name.
* @param properties Typed properties.
* @param flags Optional flags. Events tracked with the MSFlagsPersistenceCritical flag will take precedence over all other events in
* @param flags Optional flags. Events tracked with the MSFlagsCritical flag will take precedence over all other events in
* storage. An event tracked with this option will only be dropped if storage must make room for a newer event that is also marked with the
* MSFlagsPersistenceCritical flag.
* MSFlagsCritical flag.
*
* @discussion The following validation rules are applied:
*
@ -196,6 +199,15 @@ NS_ASSUME_NONNULL_BEGIN
*/
+ (MSAnalyticsTransmissionTarget *)transmissionTargetForToken:(NSString *)token;
/**
* Set the send time interval for non-critical logs.
* Must be between 3 seconds and 86400 seconds (1 day).
* Must be called before Analytics service start.
*
* @param interval The flush interval for logs.
*/
+ (void)setTransmissionInterval:(NSUInteger)interval;
@end
NS_ASSUME_NONNULL_END

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSAnalyticsAuthenticationProviderDelegate.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@class MSAnalyticsAuthenticationProvider;

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSAnalyticsAuthenticationProvider.h"
@ -38,9 +41,9 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param eventName event name.
* @param properties dictionary of properties.
* @param flags Optional flags. Events tracked with the MSFlagsPersistenceCritical flag will take precedence over all other events in
* @param flags Optional flags. Events tracked with the MSFlagsCritical flag will take precedence over all other events in
* storage. An event tracked with this option will only be dropped if storage must make room for a newer event that is also marked with the
* MSFlagsPersistenceCritical flag.
* MSFlagsCritical flag.
*/
- (void)trackEvent:(NSString *)eventName withProperties:(nullable NSDictionary<NSString *, NSString *> *)properties flags:(MSFlags)flags;
@ -74,9 +77,9 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param eventName Event name.
* @param properties Typed properties.
* @param flags Optional flags. Events tracked with the MSFlagsPersistenceCritical flag will take precedence over all other events in
* @param flags Optional flags. Events tracked with the MSFlagsCritical flag will take precedence over all other events in
* storage. An event tracked with this option will only be dropped if storage must make room for a newer event that is also marked with the
* MSFlagsPersistenceCritical flag.
* MSFlagsCritical flag.
*
* @discussion The following validation rules are applied:
*

View File

@ -1,8 +1,13 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
typedef NS_OPTIONS(NSUInteger, MSFlags) {
MSFlagsNone = (0 << 0), // => 00000000
MSFlagsPersistenceNormal = (1 << 0), // => 00000001
MSFlagsPersistenceCritical = (1 << 1), // => 00000010
MSFlagsDefault = MSFlagsPersistenceNormal
MSFlagsNormal = (1 << 0), // => 00000001
MSFlagsCritical = (1 << 1), // => 00000010
MSFlagsPersistenceNormal DEPRECATED_MSG_ATTRIBUTE("please use MSFlagsNormal") = MSFlagsNormal,
MSFlagsPersistenceCritical DEPRECATED_MSG_ATTRIBUTE("please use MSFlagsCritical") = MSFlagsCritical,
MSFlagsDefault = MSFlagsNormal
};

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import "MSLogWithNameAndProperties.h"
@class MSEventProperties;

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSLogWithProperties.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSAbstractLog.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSService.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSCrashHandlerSetupDelegate.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@interface MSAbstractLog : NSObject

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import "MSErrorReport.h"
#import "MSServiceAbstract.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@class MSCrashes;

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import "MSErrorAttachmentLog.h"
// Exporting symbols for category.

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSAbstractLog.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@class MSDevice;

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSService.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSCrashHandlerSetupDelegate.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSPush.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import "MSServiceAbstract.h"
#import "MSPushDelegate.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@class MSPush;

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@interface MSPushNotification : NSObject

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSService.h"

View File

@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
@class MSWrapperSdk;

View File

@ -0,0 +1 @@
../../../../../node_modules/@react-native-community/netinfo/ios/RNCConnectionState.h

View File

@ -0,0 +1 @@
../../../../../node_modules/@react-native-community/netinfo/ios/RNCConnectionStateWatcher.h

View File

@ -0,0 +1 @@
../../../../../node_modules/@react-native-community/netinfo/ios/RNCConnectionState.h

View File

@ -0,0 +1 @@
../../../../../node_modules/@react-native-community/netinfo/ios/RNCConnectionStateWatcher.h

View File

@ -1,16 +1,17 @@
{
"name": "react-native-netinfo",
"version": "3.2.1",
"version": "4.1.3",
"summary": "React Native Network Info API for iOS & Android",
"license": "MIT",
"authors": "Matt Oakes <hello@mattoakes.net>",
"homepage": "https://github.com/react-native-community/react-native-netinfo#readme",
"platforms": {
"ios": "9.0"
"ios": "9.0",
"tvos": "9.2"
},
"source": {
"git": "https://github.com/react-native-community/react-native-netinfo.git",
"tag": "3.2.1"
"tag": "4.1.3"
},
"source_files": "ios/**/*.{h,m}",
"dependencies": {

30
ios/Pods/Manifest.lock generated
View File

@ -1,13 +1,13 @@
PODS:
- AppCenter/Analytics (1.14.0):
- AppCenter/Analytics (2.2.0):
- AppCenter/Core
- AppCenter/Core (1.14.0)
- AppCenter/Crashes (1.14.0):
- AppCenter/Core (2.2.0)
- AppCenter/Crashes (2.2.0):
- AppCenter/Core
- AppCenter/Push (1.14.0):
- AppCenter/Push (2.2.0):
- AppCenter/Core
- AppCenterReactNativeShared (1.13.0):
- AppCenter/Core (= 1.14.0)
- AppCenterReactNativeShared (2.2.0):
- AppCenter/Core (= 2.2.0)
- boost-for-react-native (1.63.0)
- BugsnagReactNative (2.21.0):
- BugsnagReactNative/Core (= 2.21.0)
@ -43,7 +43,7 @@ PODS:
- React
- SDWebImage/Core
- SDWebImage/GIF
- react-native-netinfo (3.2.1):
- react-native-netinfo (4.1.3):
- React
- react-native-version-number (0.3.6):
- React
@ -109,10 +109,10 @@ PODS:
- yoga (0.59.8.React)
DEPENDENCIES:
- AppCenter/Analytics (~> 1.14.0)
- AppCenter/Crashes (~> 1.14.0)
- AppCenter/Push (~> 1.14.0)
- AppCenterReactNativeShared (~> 1.13.0)
- AppCenter/Analytics (~> 2.2.0)
- AppCenter/Crashes (~> 2.2.0)
- AppCenter/Push (~> 2.2.0)
- AppCenterReactNativeShared (~> 2.2.0)
- BugsnagReactNative (from `../node_modules/bugsnag-react-native`)
- CodePush (from `../node_modules/react-native-code-push`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
@ -172,8 +172,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
AppCenter: 02c5efe08d3bbab5421ae41d5f7aa7238906b817
AppCenterReactNativeShared: 00f470c3c17b47718db8733cbe811ccdcfd86282
AppCenter: c809e69d93218b9861b4f8e54ded8dcf4d2131e7
AppCenterReactNativeShared: 5751a607a8aa06ebf19b48bf9d92bf3a75dab04e
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
BugsnagReactNative: 9f273f292378a016977f578e4467cf84b7182b07
CodePush: a503ca0caee269e68d8faaafe4414990ec282520
@ -184,7 +184,7 @@ SPEC CHECKSUMS:
QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
React: 76e6aa2b87d05eb6cccb6926d72685c9a07df152
react-native-fast-image: 6d50167ad4d68b59640ceead8c2bc4e58d91d8bd
react-native-netinfo: 0da34082d2cec3100c9b5073bb217e35f1142bdd
react-native-netinfo: e2c8a843bb18ab6c3f1e6cbead694491b36e3ffd
react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f
RNIap: ee89b7442f32161016fe213a3434ee1fc19c1a80
RNImageCropPicker: 6134b66a3d5bc13e2895a97c630a4254006902b4
@ -192,6 +192,6 @@ SPEC CHECKSUMS:
SDWebImage: 3f3f0c02f09798048c47a5ed0a13f17b063572d8
yoga: 92b2102c3d373d1a790db4ab761d2b0ffc634f64
PODFILE CHECKSUM: 88a2b7d9ae1d1f455784f33483316a2254fed44a
PODFILE CHECKSUM: afb8c6a227837e2a901eaed832d5bb66c6fd9cec
COCOAPODS: 1.7.5

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "397BBDFEBE9CC818487FA8ABB7623A33"
BlueprintIdentifier = "A3282A5B2437E609EEB85861D7ECE717"
BuildableName = "AppCenter"
BlueprintName = "AppCenter"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "ED8B76EC90CA1D894B6D38663D04C292"
BlueprintIdentifier = "2CD32458A161AF8E4BA58B4310701AB3"
BuildableName = "AppCenterReactNativeShared"
BlueprintName = "AppCenterReactNativeShared"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EDA7840F2A0C1745D32704B85E88C80E"
BlueprintIdentifier = "0745200E60DC80C9A0A48B7E6C1518D7"
BuildableName = "libBugsnagReactNative.a"
BlueprintName = "BugsnagReactNative"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "71AE55A90B11CDFD0F0B4ED3D4366E37"
BlueprintIdentifier = "9C3DB3789CFE35346F3ED3F31A5ABD6C"
BuildableName = "libCodePush.a"
BlueprintName = "CodePush"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1414ADEE4A421F3C5F9A229345CE3F61"
BlueprintIdentifier = "2AB2EF542954AB1C999E03BFEF8DE806"
BuildableName = "libDoubleConversion.a"
BlueprintName = "DoubleConversion"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AFFED4092B22750815A4EEA11817590E"
BlueprintIdentifier = "4A8E8992707D01510894596DB9BCCA00"
BuildableName = "libFLAnimatedImage.a"
BlueprintName = "FLAnimatedImage"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DF470A1028ED32C9E70DBDAA805F8802"
BlueprintIdentifier = "A4F685BE3CAC127BDCE4E0DBBD88D191"
BuildableName = "libFolly.a"
BlueprintName = "Folly"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F0E62A887BD5C52C01D7F3B10051537B"
BlueprintIdentifier = "2C88CA1CB74B3C196C628F7AAA91D895"
BuildableName = "libPods-eSteem-tvOS.a"
BlueprintName = "Pods-eSteem-tvOS"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "86CEC94F38E45CDFCDD538C81CAB1D85"
BlueprintIdentifier = "B65C1B5E6931525CEDF68C76075AA290"
BuildableName = "libPods-eSteem-tvOSTests.a"
BlueprintName = "Pods-eSteem-tvOSTests"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B1681C717384E755D54BBA8C6439ACAA"
BlueprintIdentifier = "3C141FF0C8F29F01771DC7616E1548A8"
BuildableName = "libPods-eSteem.a"
BlueprintName = "Pods-eSteem"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "98810FCCE8CF2653C3FE628A69D3F87B"
BlueprintIdentifier = "431FBBD2AADF3B4510BA148C53EC60E3"
BuildableName = "libPods-eSteemTests.a"
BlueprintName = "Pods-eSteemTests"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E346EE51D51329FD127FE52C201EA9A6"
BlueprintIdentifier = "EAEBAE5C8257AED94B3BED47A0E0E3FA"
BuildableName = "QBImagePicker.bundle"
BlueprintName = "QBImagePickerController-QBImagePicker"
ReferencedContainer = "container:Pods.xcodeproj">
@ -45,7 +45,7 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E346EE51D51329FD127FE52C201EA9A6"
BlueprintIdentifier = "EAEBAE5C8257AED94B3BED47A0E0E3FA"
BuildableName = "QBImagePicker.bundle"
BlueprintName = "QBImagePickerController-QBImagePicker"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "25D0039E7669929FE6618F2BF9AF5CE2"
BlueprintIdentifier = "C49345AFA49B098B0384C4FA864A4868"
BuildableName = "libQBImagePickerController.a"
BlueprintName = "QBImagePickerController"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForAnalyzing = "YES"
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "FD9911868EF2AB049F2D780B31F926C9"
BuildableName = "libRNIap.a"
BlueprintName = "RNIap"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
buildConfiguration = "Debug"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES"
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E7BEC4F5908CAE4EF8FBA50656E6EB72"
BlueprintIdentifier = "0D82774D2A533D3FFAE27CAB4A6E9CB2"
BuildableName = "libRNImageCropPicker.a"
BlueprintName = "RNImageCropPicker"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8683604050621AD7AD1F6BB834E30D71"
BlueprintIdentifier = "A30157FD17984D82FB7B26EE61267BE2"
BuildableName = "libRSKImageCropper.a"
BlueprintName = "RSKImageCropper"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0E856F15B70850039E6707C1389BB862"
BlueprintIdentifier = "3847153A6E5EEFB86565BA840768F429"
BuildableName = "libSDWebImage.a"
BlueprintName = "SDWebImage"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "66641B93FAF80FF325B2D7B4AD85056F"
BlueprintIdentifier = "ED2506AE7DE35D654F61254441EA7155"
BuildableName = "boost-for-react-native"
BlueprintName = "boost-for-react-native"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "29FC2A0EC130F2F2AF7AC9AE94A583B4"
BlueprintIdentifier = "D0EFEFB685D97280256C559792236873"
BuildableName = "libglog.a"
BlueprintName = "glog"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1C73B638165CA2CC212D83FFA86FFBE8"
BlueprintIdentifier = "F161A3905125DD42F065E0DA6B1BE99E"
BuildableName = "libreact-native-fast-image.a"
BlueprintName = "react-native-fast-image"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "90AF781B2B92EC525D0BD7D9005DCDD2"
BlueprintIdentifier = "EC577C5CB1DC59A7464ECEF266A75B42"
BuildableName = "libreact-native-netinfo.a"
BlueprintName = "react-native-netinfo"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9577E735A1333C99689734F54E54EDC9"
BlueprintIdentifier = "8B0BFCF5726289B36FF199BFC95080EE"
BuildableName = "libreact-native-version-number.a"
BlueprintName = "react-native-version-number"
ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -9,167 +9,154 @@
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>3</integer>
<integer>7</integer>
</dict>
<key>AppCenterReactNativeShared.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>4</integer>
<integer>8</integer>
</dict>
<key>BugsnagReactNative.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>6</integer>
<integer>10</integer>
</dict>
<key>CodePush.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>7</integer>
<integer>11</integer>
</dict>
<key>DoubleConversion.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>8</integer>
<integer>12</integer>
</dict>
<key>FLAnimatedImage.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>12</integer>
<integer>13</integer>
</dict>
<key>Folly.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>9</integer>
<integer>14</integer>
</dict>
<key>Pods-eSteem-tvOS.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>13</integer>
<integer>17</integer>
</dict>
<key>Pods-eSteem-tvOSTests.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>14</integer>
<integer>18</integer>
</dict>
<key>Pods-eSteem.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>11</integer>
<integer>16</integer>
</dict>
<key>Pods-eSteemTests.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>15</integer>
<integer>19</integer>
</dict>
<key>QBImagePickerController-QBImagePicker.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>17</integer>
<integer>21</integer>
</dict>
<key>QBImagePickerController.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>16</integer>
</dict>
<key>RNFastImage.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>20</integer>
</dict>
<key>RNIap.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>21</integer>
<integer>25</integer>
</dict>
<key>RNImageCropPicker.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>21</integer>
<integer>26</integer>
</dict>
<key>RSKImageCropper.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>22</integer>
<integer>27</integer>
</dict>
<key>SDWebImage.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>23</integer>
</dict>
<key>SDWebImageWebPCoder.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>25</integer>
<integer>28</integer>
</dict>
<key>boost-for-react-native.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>5</integer>
<integer>9</integer>
</dict>
<key>glog.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>10</integer>
</dict>
<key>libwebp.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>11</integer>
<integer>15</integer>
</dict>
<key>react-native-fast-image.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>20</integer>
<integer>22</integer>
</dict>
<key>react-native-netinfo.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>18</integer>
<integer>23</integer>
</dict>
<key>react-native-version-number.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>19</integer>
<integer>24</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>

View File

@ -5,7 +5,6 @@
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };
00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };

View File

@ -9,6 +9,7 @@ import Modal from './modal';
import { TextInput } from './textInput';
import ScaleSlider from './scaleSlider/scaleSliderView';
import UserListItem from './basicUIElements/view/userListItem/userListItem';
import PostButton from './postButton/postButtonView';
export {
CircularButton,
@ -24,4 +25,5 @@ export {
TextButton,
TextInput,
UserListItem,
PostButton,
};

View File

@ -8,15 +8,12 @@ export default EStyleSheet.create({
width: '$deviceWidth / 1.8',
},
buttonGroup: {
flex: 1,
flexDirection: 'row',
flexWrap: 'wrap',
justifyContent: 'space-between',
marginBottom: 30,
},
lastButtonGroup: {
width: '63%',
flex: 1,
flexDirection: 'row',
justifyContent: 'space-between',
alignSelf: 'flex-end',

View File

@ -1,53 +0,0 @@
import React, { PureComponent } from 'react';
import { connect } from 'react-redux';
import { withNavigation } from 'react-navigation';
import { isCollapsePostButton } from '../../../redux/actions/uiAction';
// Components
import PostButtonView from '../view/postButtonView';
class PostButtonContainer extends PureComponent {
constructor(props) {
super(props);
this.state = {};
}
// Component Life Cycle Functions
// Component Functions
_handleSubButtonPress = (route, action) => {
const { navigation } = this.props;
navigation.navigate({
routeName: route,
params: {
action,
},
});
};
_handleButtonCollapse = (status, platformIsAndroid) => {
const { dispatch, isCollapsePostButtonOpen } = this.props;
if (isCollapsePostButtonOpen !== status || platformIsAndroid) {
dispatch(isCollapsePostButton(!isCollapsePostButtonOpen));
}
};
render() {
return (
<PostButtonView
handleButtonCollapse={this._handleButtonCollapse}
handleSubButtonPress={this._handleSubButtonPress}
{...this.props}
/>
);
}
}
const mapStateToProps = state => ({
routes: state.nav.routes,
isCollapsePostButtonOpen: state.ui.isCollapsePostButton,
});
export default connect(mapStateToProps)(withNavigation(PostButtonContainer));

View File

@ -1,5 +0,0 @@
import PostButtonView from './view/postButtonView';
import PostButton from './container/postButtonContainer';
export { PostButtonView, PostButton };
export default PostButton;

View File

@ -1,16 +1,6 @@
import EStyleSheet from 'react-native-extended-stylesheet';
export default EStyleSheet.create({
subButton: {
position: 'absolute',
alignItems: 'center',
justifyContent: 'center',
alignSelf: 'center',
backgroundColor: '#357ce6',
},
subButtonWrapper: {
position: 'absolute',
},
postButtonWrapper: {
alignItems: 'center',
width: 60,
@ -27,5 +17,8 @@ export default EStyleSheet.create({
shadowOffset: { height: 2 },
shadowOpacity: 0.5,
elevation: 3,
width: 60,
height: 60,
borderRadius: 60 / 2,
},
});

View File

@ -0,0 +1,29 @@
import React from 'react';
import { TouchableOpacity, View } from 'react-native';
import { withNavigation } from 'react-navigation';
import { Icon } from '../icon';
// Constant
import { default as ROUTES } from '../../constants/routeNames';
// Styles
import styles from './postButtonStyles';
const PostButtonView = ({ navigation }) => (
<View style={styles.postButtonWrapper}>
<TouchableOpacity
onPress={() =>
navigation.navigate({
routeName: ROUTES.SCREENS.EDITOR,
})
}
activeOpacity={1}
>
<View style={styles.postButton}>
<Icon name="pencil" size={24} iconType="MaterialCommunityIcons" color="#F8F8F8" />
</View>
</TouchableOpacity>
</View>
);
export default withNavigation(PostButtonView);

View File

@ -1,179 +0,0 @@
import React, { Component } from 'react';
import { Animated, Easing, TouchableOpacity, View, Platform } from 'react-native';
import { Icon } from '../../icon';
// Components
import SubPostButton from './subPostButtonView';
// Constant
import { default as ROUTES } from '../../../constants/routeNames';
// Styles
import styles from './postButtonStyles';
const SIZE = 60;
const durationIn = 300;
const durationOut = 200;
class PostButtonView extends Component {
mode = new Animated.Value(0);
icon1 = new Animated.Value(0);
icon2 = new Animated.Value(0);
icon3 = new Animated.Value(0);
constructor(props) {
super(props);
this.state = {
isCollapse: false,
};
}
componentWillReceiveProps(nextProps) {
// For closing sub buttons
if (this.mode._value) {
const { routes, isCollapsePostButtonOpen } = this.props;
const nextRouteName =
nextProps.routes[0].routes[nextProps.routes[0].routes.length - 1].routeName;
const { routeName } = routes[0].routes[routes[0].routes.length - 1];
const { isCollapse } = this.state;
if (
(routeName !== nextRouteName && nextRouteName !== ROUTES.DRAWER.MAIN) ||
(isCollapsePostButtonOpen !== nextProps.isCollapsePostButtonOpen &&
!nextProps.isCollapsePostButtonOpen &&
isCollapse !== nextProps.isCollapsePostButtonOpen)
) {
this._toggleView();
}
}
}
_toggleView = () => {
const { isCollapse } = this.state;
const { handleButtonCollapse } = this.props;
if (this.mode._value) {
Animated.parallel(
[this.mode, this.icon1, this.icon2, this.icon3].map(item =>
Animated.timing(item, {
toValue: 0,
duration: durationIn,
easing: Easing.cubic,
}),
),
).start();
} else {
Animated.parallel([
Animated.timing(this.mode, {
toValue: 1,
duration: durationOut,
easing: Easing.cubic,
}),
Animated.sequence([
...[this.icon1, this.icon2, this.icon3].map(item =>
Animated.timing(item, {
toValue: 1,
duration: durationOut,
easing: Easing.elastic(1),
}),
),
]),
]).start();
}
this.setState({ isCollapse: !isCollapse });
handleButtonCollapse(!isCollapse);
};
render() {
const firstX = this.icon1.interpolate({
inputRange: [0, 1],
outputRange: [25, -25],
});
const firstY = this.icon1.interpolate({
inputRange: [0, 1],
outputRange: [-10, -70],
});
const secondX = this.icon2.interpolate({
inputRange: [0, 1],
outputRange: [25, 30],
});
const secondY = this.icon2.interpolate({
inputRange: [0, 1],
outputRange: [-10, -95],
});
const thirdX = this.icon3.interpolate({
inputRange: [0, 1],
outputRange: [25, 85],
});
const thirdY = this.icon3.interpolate({
inputRange: [0, 1],
outputRange: [-10, -70],
});
const rotation = this.mode.interpolate({
inputRange: [0, 1],
outputRange: ['0deg', '45deg'],
});
const { handleSubButtonPress, handleButtonCollapse } = this.props;
return (
<View style={styles.postButtonWrapper}>
<SubPostButton
size={SIZE}
style={{
left: firstX,
top: firstY,
}}
icon="create"
onPress={() => handleSubButtonPress(ROUTES.SCREENS.EDITOR)}
/>
<SubPostButton
size={SIZE}
style={{
left: secondX,
top: secondY,
}}
icon="camera-alt"
onPress={() => handleSubButtonPress(ROUTES.SCREENS.EDITOR, 'image')}
/>
<SubPostButton
size={SIZE}
style={{
left: thirdX,
top: thirdY,
}}
icon="videocam"
onPress={() => handleSubButtonPress(ROUTES.SCREENS.EDITOR, 'camera')}
/>
<TouchableOpacity
onPress={() =>
Platform.OS === 'ios'
? this._toggleView()
: handleButtonCollapse(null, Platform.OS === 'android')
}
activeOpacity={1}
>
<Animated.View
style={[
styles.postButton,
{
transform: [{ rotate: rotation }],
width: SIZE,
height: SIZE,
borderRadius: SIZE / 2,
},
]}
>
<Icon name="add" size={24} iconType="MaterialIcons" color="#F8F8F8" />
</Animated.View>
</TouchableOpacity>
</View>
);
}
}
export default PostButtonView;

View File

@ -1,179 +0,0 @@
import React, { Component } from 'react';
import { Animated, Easing, View } from 'react-native';
import { connect } from 'react-redux';
import { NavigationActions } from 'react-navigation';
// Components
import SubPostButton from './subPostButtonView';
import { isCollapsePostButton } from '../../../redux/actions/uiAction';
// Constant
import { default as ROUTES } from '../../../constants/routeNames';
const SIZE = 60;
const durationIn = 300;
const durationOut = 200;
class PostButtonsForAndroid extends Component {
mode = new Animated.Value(0);
icon1 = new Animated.Value(0);
icon2 = new Animated.Value(0);
icon3 = new Animated.Value(0);
constructor(props) {
super(props);
this.state = {
isCollapse: false,
};
}
componentWillReceiveProps(nextProps) {
// For closing sub buttons
const { routes, isCollapsePostButtonOpen } = this.props;
const nextRouteName =
nextProps.routes[0].routes[nextProps.routes[0].routes.length - 1].routeName;
const { routeName } = routes[0].routes[routes[0].routes.length - 1];
const { isCollapse } = this.state;
if (
(routeName !== nextRouteName &&
nextRouteName !== ROUTES.DRAWER.MAIN &&
isCollapsePostButtonOpen) ||
(isCollapsePostButtonOpen !== nextProps.isCollapsePostButtonOpen &&
isCollapse !== nextProps.isCollapsePostButtonOpen)
) {
this._toggleView();
}
}
_toggleView = () => {
const { isCollapse } = this.state;
if (this.mode._value) {
Animated.parallel(
[this.mode, this.icon1, this.icon2, this.icon3].map(item =>
Animated.timing(item, {
toValue: 0,
duration: durationIn,
easing: Easing.cubic,
}),
),
).start();
} else {
Animated.parallel([
Animated.timing(this.mode, {
toValue: 1,
duration: durationOut,
easing: Easing.cubic,
}),
Animated.sequence([
...[this.icon1, this.icon2, this.icon3].map(item =>
Animated.timing(item, {
toValue: 1,
duration: durationOut,
easing: Easing.elastic(1),
}),
),
]),
]).start();
}
this.setState({ isCollapse: !isCollapse });
this._handleButtonCollapse(!isCollapse);
};
_handleButtonCollapse = status => {
const { dispatch, isCollapsePostButtonOpen } = this.props;
if (isCollapsePostButtonOpen !== status) {
dispatch(isCollapsePostButton(status));
}
};
_handleSubButtonPress = (route, action) => {
const { dispatch } = this.props;
const navigateAction = NavigationActions.navigate({
routeName: route,
params: { action },
action: NavigationActions.navigate({ routeName: route }),
});
dispatch(navigateAction);
};
render() {
const firstX = this.icon1.interpolate({
inputRange: [0, 1],
outputRange: [0, -50],
});
const firstY = this.icon1.interpolate({
inputRange: [0, 1],
outputRange: [20, -70],
});
const secondX = this.icon2.interpolate({
inputRange: [0, 1],
outputRange: [0, 0],
});
const secondY = this.icon2.interpolate({
inputRange: [0, 1],
outputRange: [20, -95],
});
const thirdX = this.icon3.interpolate({
inputRange: [0, 1],
outputRange: [0, 50],
});
const thirdY = this.icon3.interpolate({
inputRange: [0, 1],
outputRange: [20, -70],
});
return (
<View
style={{
justifyContent: 'center',
}}
>
<SubPostButton
size={SIZE}
style={{
left: firstX,
top: firstY,
position: 'relative',
}}
icon="create"
onPress={() => this._handleSubButtonPress(ROUTES.SCREENS.EDITOR)}
/>
<SubPostButton
size={SIZE}
style={{
left: secondX,
top: secondY,
position: 'relative',
}}
icon="camera-alt"
onPress={() => this._handleSubButtonPress(ROUTES.SCREENS.EDITOR, 'image')}
/>
<SubPostButton
size={SIZE}
style={{
left: thirdX,
top: thirdY,
position: 'relative',
}}
icon="videocam"
onPress={() => this._handleSubButtonPress(ROUTES.SCREENS.EDITOR, 'camera')}
/>
</View>
);
}
}
const mapStateToProps = state => ({
routes: state.nav.routes,
isCollapsePostButtonOpen: state.ui.isCollapsePostButton,
});
export default connect(mapStateToProps)(PostButtonsForAndroid);

View File

@ -1,42 +0,0 @@
import React from 'react';
import { Animated, TouchableOpacity } from 'react-native';
import { Icon } from '../../icon';
// Styles
import styles from './postButtonStyles';
/* Props
* ------------------------------------------------
* @prop { type } size - Description....
* @prop { type } onPress - Description....
* @prop { type } style - Description....
* @prop { type } icon - Description....
*
*/
const SubPostButton = ({ style, icon, onPress, size }) => (
<Animated.View
style={[
styles.subButtonWrapper,
{
...style,
},
]}
>
<TouchableOpacity
onPress={() => onPress && onPress()}
style={[
styles.subButton,
{
width: size / 1.5,
height: size / 1.5,
borderRadius: size / 3,
},
]}
>
<Icon name={icon} iconType="MaterialIcons" size={16} color="#F8F8F8" />
</TouchableOpacity>
</Animated.View>
);
export default SubPostButton;

View File

@ -7,7 +7,6 @@ import PostsView from '../view/postsView';
import { PostCardPlaceHolder } from '../../basicUIElements';
// Actions
import { isCollapsePostButton } from '../../../redux/actions/uiAction';
import { setFeedPosts } from '../../../redux/actions/postsAction';
/*
* Props Name Description Value
@ -27,14 +26,6 @@ class PostsContainer extends PureComponent {
// Component Functions
_handleOnScrollStart = () => {
const { dispatch, isCollapsePostButtonOpen } = this.props;
if (isCollapsePostButtonOpen) {
dispatch(isCollapsePostButton(false));
}
};
_setFeedPosts = posts => {
const { dispatch } = this.props;
@ -75,7 +66,6 @@ const mapStateToProps = state => ({
isDarkTheme: state.application.isDarkTheme,
isLoggedIn: state.application.isLoggedIn,
isLoginDone: state.application.isLoginDone,
isCollapsePostButtonOpen: state.ui.isCollapsePostButton,
nsfw: state.application.nsfw,
feedPosts: state.posts.feedPosts,
isConnected: state.application.isConnected,

View File

@ -280,13 +280,6 @@ class PostsView extends Component {
this.setState({ isHideImage: !isHideImage });
};
_handleOnScrollStart = () => {
const { handleOnScrollStart, handleOnScroll } = this.props;
handleOnScrollStart();
if (handleOnScroll) handleOnScroll();
};
_handleOnPressLogin = () => {
const { navigation } = this.props;
navigation.navigate(ROUTES.SCREENS.LOGIN);
@ -353,7 +346,6 @@ class PostsView extends Component {
onEndThreshold={0}
initialNumToRender={10}
ListFooterComponent={this._renderFooter}
onScrollBeginDrag={() => this._handleOnScrollStart()}
refreshControl={
<RefreshControl
refreshing={refreshing}

Some files were not shown because too many files have changed in this diff Show More