Upgrade react-native to 0.60.5
- Use community net-info, react-native-webview instead of deprecated react-native classes - Remove react-native-tcp - Upgrade react-native libs (react-native-camera, react-native-firebase, react-native-mail, react-native-udp, react-native-webview-bridge) - Do not include `:react-native-android` module explicitly - Take advantage of RN AutoLinking - nix: Update Gradle dependencies
This commit is contained in:
parent
5db0a58ab8
commit
9feb31bd3b
|
@ -0,0 +1,4 @@
|
||||||
|
module.exports = {
|
||||||
|
root: true,
|
||||||
|
extends: '@react-native-community',
|
||||||
|
};
|
39
.flowconfig
39
.flowconfig
|
@ -20,15 +20,20 @@
|
||||||
|
|
||||||
# Ignore duplicate module providers
|
# Ignore duplicate module providers
|
||||||
# For RN Apps installed via npm, "Libraries" folder is inside node_modules/react-native but in the source repo it is in the root
|
# For RN Apps installed via npm, "Libraries" folder is inside node_modules/react-native but in the source repo it is in the root
|
||||||
.*/Libraries/react-native/React.js
|
node_modules/react-native/Libraries/react-native/React.js
|
||||||
.*/Libraries/react-native/ReactNative.js
|
.*/Libraries/react-native/ReactNative.js
|
||||||
.*/node_modules/jest-runtime/build/__tests__/.*
|
.*/node_modules/jest-runtime/build/__tests__/.*
|
||||||
|
|
||||||
; Ignore polyfills
|
; Ignore polyfills
|
||||||
.*/Libraries/polyfills/.*
|
node_modules/react-native/Libraries/polyfills/.*
|
||||||
|
|
||||||
; Ignore metro
|
; These should not be required directly
|
||||||
.*/node_modules/metro/.*
|
; require from fbjs/lib instead: require('fbjs/lib/warning')
|
||||||
|
node_modules/warning/.*
|
||||||
|
; Flow doesn't support platforms
|
||||||
|
.*/Libraries/Utilities/HMRLoadingView.js
|
||||||
|
[untyped]
|
||||||
|
.*/node_modules/@react-native-community/cli/.*/.*
|
||||||
|
|
||||||
[include]
|
[include]
|
||||||
|
|
||||||
|
@ -40,11 +45,31 @@ node_modules/react-native/flow/
|
||||||
esproposal.optional_chaining=enable
|
esproposal.optional_chaining=enable
|
||||||
esproposal.nullish_coalescing=enable
|
esproposal.nullish_coalescing=enable
|
||||||
|
|
||||||
module.system=haste
|
|
||||||
|
|
||||||
esproposal.class_static_fields=enable
|
esproposal.class_static_fields=enable
|
||||||
esproposal.class_instance_fields=enable
|
esproposal.class_instance_fields=enable
|
||||||
|
|
||||||
|
module.file_ext=.js
|
||||||
|
module.file_ext=.json
|
||||||
|
module.file_ext=.ios.js
|
||||||
|
|
||||||
|
module.system=haste
|
||||||
|
module.system.haste.use_name_reducers=true
|
||||||
|
# get basename
|
||||||
|
# get basename
|
||||||
|
module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
|
||||||
|
module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
|
||||||
|
module.system.haste.paths.blacklist=.*/__tests__/.*
|
||||||
|
module.system.haste.paths.blacklist=.*/__tests__/.*
|
||||||
|
module.system.haste.paths.blacklist=.*/__mocks__/.*
|
||||||
|
module.system.haste.paths.blacklist=.*/__mocks__/.*
|
||||||
|
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/Animated/src/polyfills/.*
|
||||||
|
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/Libraries/.*
|
||||||
|
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/Libraries/.*
|
||||||
|
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/RNTester/.*
|
||||||
|
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/IntegrationTests/.*
|
||||||
|
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation.js
|
||||||
|
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/Animated/src/polyfills/.*
|
||||||
|
|
||||||
experimental.strict_type_args=true
|
experimental.strict_type_args=true
|
||||||
|
|
||||||
munge_underscores=true
|
munge_underscores=true
|
||||||
|
@ -67,4 +92,4 @@ suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
|
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
|
||||||
|
|
||||||
[version]
|
[version]
|
||||||
^0.92.0
|
^0.98.0
|
||||||
|
|
|
@ -96,8 +96,8 @@ doo-index.html
|
||||||
Statusgo.framework
|
Statusgo.framework
|
||||||
|
|
||||||
#ios
|
#ios
|
||||||
ios/Pods
|
/ios/Pods/
|
||||||
ios/StatusIm.xcworkspace
|
/ios/StatusIm.xcworkspace
|
||||||
.ruby-version
|
.ruby-version
|
||||||
status-e2e/
|
status-e2e/
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
module.exports = {
|
||||||
|
bracketSpacing: false,
|
||||||
|
jsxBracketSameLine: true,
|
||||||
|
singleQuote: true,
|
||||||
|
trailingComma: 'all',
|
||||||
|
};
|
|
@ -79,13 +79,15 @@ import com.sun.org.apache.xalan.internal.xsltc.compiler.Copy
|
||||||
project.ext.react = [
|
project.ext.react = [
|
||||||
nodeExecutableAndArgs: ["node", "--max-old-space-size=16384"],
|
nodeExecutableAndArgs: ["node", "--max-old-space-size=16384"],
|
||||||
entryFile: "index.android.js",
|
entryFile: "index.android.js",
|
||||||
|
enableHermes: false, // clean and rebuild if changing
|
||||||
bundleInPr: true,
|
bundleInPr: true,
|
||||||
inputExcludes: ["android/**", "ios/**", "react-native/**", "src/**", "test/**"]
|
inputExcludes: ["android/**", "ios/**", "react-native/**", "src/**", "test/**"]
|
||||||
]
|
]
|
||||||
|
|
||||||
configurations.all {
|
// NOTE: Uncomment if building RN from a fork
|
||||||
exclude group: 'com.facebook.react', module: 'react-native'
|
// configurations.all {
|
||||||
}
|
// exclude group: 'com.facebook.react', module: 'react-native'
|
||||||
|
// }
|
||||||
|
|
||||||
apply from: "../../node_modules/react-native/react.gradle"
|
apply from: "../../node_modules/react-native/react.gradle"
|
||||||
|
|
||||||
|
@ -104,6 +106,28 @@ def enableSeparateBuildPerCPUArchitecture = false
|
||||||
*/
|
*/
|
||||||
def enableProguardInReleaseBuilds = false
|
def enableProguardInReleaseBuilds = false
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The preferred build flavor of JavaScriptCore.
|
||||||
|
*
|
||||||
|
* For example, to use the international variant, you can use:
|
||||||
|
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
|
||||||
|
*
|
||||||
|
* The international variant includes ICU i18n library and necessary data
|
||||||
|
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
|
||||||
|
* give correct results when using with locales other than en-US. Note that
|
||||||
|
* this variant is about 6MiB larger per architecture than default.
|
||||||
|
*/
|
||||||
|
def jscFlavor = 'org.webkit:android-jsc:+'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to enable the Hermes VM.
|
||||||
|
*
|
||||||
|
* This should be set on project.ext.react and mirrored here. If it is not set
|
||||||
|
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
|
||||||
|
* and the benefits of using Hermes will therefore be sharply reduced.
|
||||||
|
*/
|
||||||
|
def enableHermes = project.ext.react.get("enableHermes", false);
|
||||||
|
|
||||||
def getVersionCode = { ->
|
def getVersionCode = { ->
|
||||||
new ByteArrayOutputStream().withStream { stdOut ->
|
new ByteArrayOutputStream().withStream { stdOut ->
|
||||||
if (project.hasProperty("versionCode")) {
|
if (project.hasProperty("versionCode")) {
|
||||||
|
@ -162,6 +186,7 @@ android {
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters getEnvOrConfig('NDK_ABI_FILTERS').split(';')
|
abiFilters getEnvOrConfig('NDK_ABI_FILTERS').split(';')
|
||||||
}
|
}
|
||||||
|
missingDimensionStrategy 'react-native-camera', 'general'
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Arbitrary project metadata
|
* Arbitrary project metadata
|
||||||
|
@ -179,8 +204,15 @@ android {
|
||||||
packagingOptions {
|
packagingOptions {
|
||||||
exclude 'META-INF/rxjava.properties'
|
exclude 'META-INF/rxjava.properties'
|
||||||
exclude '/lib/mips64/**'
|
exclude '/lib/mips64/**'
|
||||||
exclude '/lib/arm64-v8a/**'
|
|
||||||
exclude '/lib/armeabi/**'
|
exclude '/lib/armeabi/**'
|
||||||
|
|
||||||
|
pickFirst '**/armeabi-v7a/libc++_shared.so'
|
||||||
|
pickFirst '**/x86/libc++_shared.so'
|
||||||
|
pickFirst '**/arm64-v8a/libc++_shared.so'
|
||||||
|
pickFirst '**/x86_64/libc++_shared.so'
|
||||||
|
pickFirst '**/x86/libjsc.so'
|
||||||
|
pickFirst '**/armeabi-v7a/libjsc.so'
|
||||||
|
|
||||||
/** Fix for: Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDebug'.
|
/** Fix for: Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDebug'.
|
||||||
* with recent version of ndk (17.0.4754217)
|
* with recent version of ndk (17.0.4754217)
|
||||||
*/
|
*/
|
||||||
|
@ -192,6 +224,12 @@ android {
|
||||||
javaMaxHeapSize "8g"
|
javaMaxHeapSize "8g"
|
||||||
}
|
}
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
|
debug {
|
||||||
|
storeFile file('debug.keystore')
|
||||||
|
storePassword 'android'
|
||||||
|
keyAlias 'androiddebugkey'
|
||||||
|
keyPassword 'android'
|
||||||
|
}
|
||||||
release {
|
release {
|
||||||
/* environment variables take precedence over gradle.properties file */
|
/* environment variables take precedence over gradle.properties file */
|
||||||
storeFile file(getEnvOrConfig('STATUS_RELEASE_STORE_FILE').replaceAll("~", System.properties['user.home']))
|
storeFile file(getEnvOrConfig('STATUS_RELEASE_STORE_FILE').replaceAll("~", System.properties['user.home']))
|
||||||
|
@ -213,9 +251,13 @@ android {
|
||||||
applicationIdSuffix ".debug"
|
applicationIdSuffix ".debug"
|
||||||
debuggable true
|
debuggable true
|
||||||
versionNameSuffix "-SNAPSHOT"
|
versionNameSuffix "-SNAPSHOT"
|
||||||
|
signingConfig signingConfigs.debug
|
||||||
resValue "string", "build_config_package", "im.status.ethereum"
|
resValue "string", "build_config_package", "im.status.ethereum"
|
||||||
}
|
}
|
||||||
release {
|
release {
|
||||||
|
// Caution! In production, you need to generate your own keystore file.
|
||||||
|
// see https://facebook.github.io/react-native/docs/signed-apk-android.
|
||||||
|
signingConfig signingConfigs.debug
|
||||||
minifyEnabled enableProguardInReleaseBuilds
|
minifyEnabled enableProguardInReleaseBuilds
|
||||||
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
||||||
signingConfig signingConfigs.release
|
signingConfig signingConfigs.release
|
||||||
|
@ -242,6 +284,7 @@ android {
|
||||||
output.versionCodeOverride =
|
output.versionCodeOverride =
|
||||||
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
|
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -256,44 +299,33 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':@react-native-community_netinfo')
|
|
||||||
implementation project(':react-native-background-timer')
|
|
||||||
implementation project(':react-native-svg')
|
|
||||||
implementation 'com.android.support:multidex:1.0.2'
|
|
||||||
implementation project(':react-native-splash-screen')
|
|
||||||
implementation project(':react-native-image-resizer')
|
|
||||||
implementation project(':react-native-dialogs')
|
|
||||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||||
|
implementation "com.facebook.react:react-native:+" // From node_modules
|
||||||
|
|
||||||
|
if (enableHermes) {
|
||||||
|
def hermesPath = "../../node_modules/hermesvm/android/";
|
||||||
|
debugImplementation files(hermesPath + "hermes-debug.aar")
|
||||||
|
releaseImplementation files(hermesPath + "hermes-release.aar")
|
||||||
|
prImplementation files(hermesPath + "hermes-release.aar")
|
||||||
|
} else {
|
||||||
|
implementation jscFlavor
|
||||||
|
}
|
||||||
|
|
||||||
|
implementation 'com.android.support:multidex:1.0.2'
|
||||||
|
implementation project(':react-native-dialogs')
|
||||||
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
|
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
|
||||||
// Force using exact RN version instead of relying on gradle dependency resolution
|
// Force using exact RN version instead of relying on gradle dependency resolution
|
||||||
// https://docs.gradle.org/current/userguide/introduction_dependency_management.html#sec:dependency_resolution
|
// https://docs.gradle.org/current/userguide/introduction_dependency_management.html#sec:dependency_resolution
|
||||||
|
// NOTE: Uncomment if building RN from a fork
|
||||||
//compile ("com.facebook.react:react-native:0.55.4") { force = true } // From node_modules
|
//compile ("com.facebook.react:react-native:0.55.4") { force = true } // From node_modules
|
||||||
implementation project(':react-native-android')
|
|
||||||
implementation project(':react-native-languages')
|
|
||||||
implementation project(':react-native-status')
|
implementation project(':react-native-status')
|
||||||
implementation project(':react-native-fs')
|
|
||||||
implementation project(':react-native-image-crop-picker')
|
|
||||||
implementation project(':react-native-webview-bridge')
|
implementation project(':react-native-webview-bridge')
|
||||||
implementation project(':react-native-touch-id')
|
|
||||||
implementation project(':react-native-config')
|
|
||||||
implementation project(':react-native-firebase')
|
|
||||||
implementation project(':react-native-shake')
|
|
||||||
implementation project(':react-native-gesture-handler')
|
|
||||||
implementation project(':react-native-screens')
|
|
||||||
implementation project(':RNMail')
|
|
||||||
compile ('com.google.android.gms:play-services-base:16.0.1') {
|
|
||||||
force = true
|
|
||||||
}
|
|
||||||
compile (project(':react-native-camera')) {
|
|
||||||
exclude group: "com.google.android.gms"
|
|
||||||
compile 'com.android.support:exifinterface:28.+'
|
|
||||||
}
|
|
||||||
implementation project(':react-native-status-keycard')
|
implementation project(':react-native-status-keycard')
|
||||||
implementation 'com.google.firebase:firebase-core:16.0.3' //this decides your firebase SDK version
|
implementation "com.google.android.gms:play-services-base:${rootProject.ext.googlePlayServicesVersion}"
|
||||||
implementation 'com.google.firebase:firebase-messaging:17.1.0'
|
implementation 'com.google.firebase:firebase-core:16.0.9' //this decides your firebase SDK version
|
||||||
implementation project(':react-native-keychain')
|
implementation 'com.google.firebase:firebase-messaging:18.0.0'
|
||||||
|
|
||||||
compile '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'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -318,5 +350,7 @@ task hemroidBuild(type: Exec) {
|
||||||
preBuild.dependsOn hemroidBuild
|
preBuild.dependsOn hemroidBuild
|
||||||
|
|
||||||
// Must be at bottom to avoid dependency collision
|
// Must be at bottom to avoid dependency collision
|
||||||
apply plugin: "com.google.gms.google-services"
|
apply plugin: 'com.google.gms.google-services'
|
||||||
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
|
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
|
||||||
|
|
||||||
|
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
||||||
|
|
Binary file not shown.
|
@ -9,13 +9,6 @@
|
||||||
|
|
||||||
# Add any project specific keep options here:
|
# Add any project specific keep options here:
|
||||||
|
|
||||||
# If your project uses WebView with JS, uncomment the following
|
|
||||||
# and specify the fully qualified class name to the JavaScript interface
|
|
||||||
# class:
|
|
||||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
||||||
# public *;
|
|
||||||
#}
|
|
||||||
|
|
||||||
# Disabling obfuscation is useful if you collect stack traces from production crashes
|
# Disabling obfuscation is useful if you collect stack traces from production crashes
|
||||||
# (unless you are using a system that supports de-obfuscate the stack traces).
|
# (unless you are using a system that supports de-obfuscate the stack traces).
|
||||||
-dontobfuscate
|
-dontobfuscate
|
||||||
|
|
|
@ -83,11 +83,6 @@
|
||||||
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</service>
|
</service>
|
||||||
<service android:name="io.invertase.firebase.messaging.RNFirebaseInstanceIdService">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
<service android:name="io.invertase.firebase.messaging.RNFirebaseBackgroundMessagingService" />
|
<service android:name="io.invertase.firebase.messaging.RNFirebaseBackgroundMessagingService" />
|
||||||
<provider
|
<provider
|
||||||
android:name="android.support.v4.content.FileProvider"
|
android:name="android.support.v4.content.FileProvider"
|
||||||
|
|
|
@ -1,41 +1,24 @@
|
||||||
package im.status.ethereum;
|
package im.status.ethereum;
|
||||||
|
|
||||||
import android.support.multidex.MultiDexApplication;
|
import android.support.multidex.MultiDexApplication;
|
||||||
|
import android.util.Log;
|
||||||
|
import com.facebook.react.PackageList;
|
||||||
|
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
|
||||||
|
import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
||||||
|
|
||||||
import com.aakashns.reactnativedialogs.ReactNativeDialogsPackage;
|
import com.aakashns.reactnativedialogs.ReactNativeDialogsPackage;
|
||||||
import com.facebook.react.ReactApplication;
|
import com.facebook.react.ReactApplication;
|
||||||
import com.reactnativecommunity.netinfo.NetInfoPackage;
|
|
||||||
import com.facebook.react.ReactNativeHost;
|
import com.facebook.react.ReactNativeHost;
|
||||||
import com.facebook.react.ReactPackage;
|
import com.facebook.react.ReactPackage;
|
||||||
import com.facebook.react.shell.MainReactPackage;
|
|
||||||
import com.facebook.soloader.SoLoader;
|
import com.facebook.soloader.SoLoader;
|
||||||
import com.github.alinz.reactnativewebviewbridge.WebViewBridgePackage;
|
import com.github.alinz.reactnativewebviewbridge.WebViewBridgePackage;
|
||||||
import com.horcrux.svg.SvgPackage;
|
|
||||||
import com.lugg.ReactNativeConfig.ReactNativeConfigPackage;
|
|
||||||
import com.oblador.keychain.KeychainPackage;
|
|
||||||
import com.ocetnik.timer.BackgroundTimerPackage;
|
|
||||||
import com.reactcommunity.rnlanguages.RNLanguagesPackage;
|
|
||||||
import com.reactnative.ivpusic.imagepicker.PickerPackage;
|
|
||||||
import com.rnfs.RNFSPackage;
|
|
||||||
import com.rnfingerprint.FingerprintAuthPackage;
|
|
||||||
|
|
||||||
import org.devio.rn.splashscreen.SplashScreenReactPackage;
|
|
||||||
import org.reactnative.camera.RNCameraPackage;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import fr.bamlab.rnimageresizer.ImageResizerPackage;
|
|
||||||
import im.status.ethereum.function.Function;
|
|
||||||
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.RNFirebasePackage;
|
|
||||||
import io.invertase.firebase.messaging.RNFirebaseMessagingPackage;
|
import io.invertase.firebase.messaging.RNFirebaseMessagingPackage;
|
||||||
import io.invertase.firebase.notifications.RNFirebaseNotificationsPackage;
|
import io.invertase.firebase.notifications.RNFirebaseNotificationsPackage;
|
||||||
import com.chirag.RNMail.*;
|
|
||||||
import com.clipsub.RNShake.RNShakeEventPackage;
|
|
||||||
import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
|
|
||||||
import com.swmansion.rnscreens.RNScreensPackage;
|
|
||||||
|
|
||||||
public class MainApplication extends MultiDexApplication implements ReactApplication {
|
public class MainApplication extends MultiDexApplication implements ReactApplication {
|
||||||
|
|
||||||
|
@ -48,32 +31,14 @@ public class MainApplication extends MultiDexApplication implements ReactApplica
|
||||||
@Override
|
@Override
|
||||||
protected List<ReactPackage> getPackages() {
|
protected List<ReactPackage> getPackages() {
|
||||||
StatusPackage statusPackage = new StatusPackage(RootUtil.isDeviceRooted());
|
StatusPackage statusPackage = new StatusPackage(RootUtil.isDeviceRooted());
|
||||||
Function<String, String> callRPC = statusPackage.getCallRPC();
|
List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||||
return Arrays.asList(
|
packages.add(statusPackage);
|
||||||
new MainReactPackage(),
|
packages.add(new RNFirebaseMessagingPackage());
|
||||||
new NetInfoPackage(),
|
packages.add(new RNFirebaseNotificationsPackage());
|
||||||
new RNMail(),
|
packages.add(new ReactNativeDialogsPackage());
|
||||||
new RNFirebasePackage(),
|
packages.add(new RNStatusKeycardPackage());
|
||||||
new RNFirebaseMessagingPackage(),
|
packages.add(new WebViewBridgePackage(BuildConfig.DEBUG_WEBVIEW == "1"));
|
||||||
new RNFirebaseNotificationsPackage(),
|
return packages;
|
||||||
new BackgroundTimerPackage(),
|
|
||||||
new SvgPackage(),
|
|
||||||
new SplashScreenReactPackage(),
|
|
||||||
statusPackage,
|
|
||||||
new RNStatusKeycardPackage(),
|
|
||||||
new RNLanguagesPackage(),
|
|
||||||
new RNCameraPackage(),
|
|
||||||
new RNFSPackage(),
|
|
||||||
new ReactNativeDialogsPackage(),
|
|
||||||
new ImageResizerPackage(),
|
|
||||||
new PickerPackage(),
|
|
||||||
new WebViewBridgePackage(BuildConfig.DEBUG_WEBVIEW == "1", callRPC),
|
|
||||||
new ReactNativeConfigPackage(),
|
|
||||||
new KeychainPackage(),
|
|
||||||
new RNShakeEventPackage(),
|
|
||||||
new FingerprintAuthPackage(),
|
|
||||||
new RNGestureHandlerPackage(),
|
|
||||||
new RNScreensPackage());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -7,5 +7,7 @@
|
||||||
<item name="colorControlNormal">@color/primary</item>
|
<item name="colorControlNormal">@color/primary</item>
|
||||||
<item name="colorControlActivated">@color/primary</item>
|
<item name="colorControlActivated">@color/primary</item>
|
||||||
<item name="android:windowBackground">@color/background</item>
|
<item name="android:windowBackground">@color/background</item>
|
||||||
|
<item name="android:textColor">#000000</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -9,7 +9,9 @@ ext {
|
||||||
compileSdkVersion = Integer.valueOf(project.compileSdkVersion)
|
compileSdkVersion = Integer.valueOf(project.compileSdkVersion)
|
||||||
targetSdkVersion = Integer.valueOf(project.targetSdkVersion)
|
targetSdkVersion = Integer.valueOf(project.targetSdkVersion)
|
||||||
supportLibVersion = project.supportLibVersion
|
supportLibVersion = project.supportLibVersion
|
||||||
gradleBuildTools = project.gradleBuildTools
|
gradlePluginVersion = project.gradlePluginVersion
|
||||||
|
googlePlayServicesVersion = project.googlePlayServicesVersion
|
||||||
|
googlePlayServicesVisionVersion = project.googlePlayServicesVisionVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
|
@ -19,10 +21,8 @@ buildscript {
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath project.ext.gradleBuildTools
|
classpath "com.android.tools.build:gradle:${project.ext.gradlePluginVersion}"
|
||||||
// google-services downgraded from 4.1.0 because of
|
classpath 'com.google.gms:google-services:4.2.0'
|
||||||
// https://github.com/invertase/react-native-firebase/issues/766#issuecomment-365116012
|
|
||||||
classpath 'com.google.gms:google-services:4.0.1'
|
|
||||||
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
|
||||||
|
@ -54,12 +54,20 @@ allprojects {
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
maven { url "$rootDir/../node_modules/react-native/android" }
|
maven {
|
||||||
|
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
||||||
|
url("$rootDir/../node_modules/react-native/android")
|
||||||
|
}
|
||||||
|
maven {
|
||||||
|
// Android JSC is installed from npm
|
||||||
|
url("$rootDir/../node_modules/jsc-android/dist")
|
||||||
|
}
|
||||||
|
|
||||||
google()
|
google()
|
||||||
jcenter()
|
jcenter()
|
||||||
|
|
||||||
// for geth, function, and status-go
|
// for geth, function, and status-go
|
||||||
flatDir { dirs "libs", System.env.STATUS_GO_ANDROID_LIBDIR }
|
flatDir { dirs "libs", System.env.STATUS_GO_ANDROID_LIBDIR }
|
||||||
maven { url "https://jitpack.io" }
|
maven { url "https://jitpack.io" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,12 +21,17 @@
|
||||||
# $keytool -genkey -v -keystore ./status-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias status
|
# $keytool -genkey -v -keystore ./status-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias status
|
||||||
|
|
||||||
# Version requirements used throughout the Gradle scripts
|
# Version requirements used throughout the Gradle scripts
|
||||||
minSdkVersion=18
|
minSdkVersion=23
|
||||||
compileSdkVersion=28
|
compileSdkVersion=28
|
||||||
targetSdkVersion=28
|
targetSdkVersion=28
|
||||||
buildToolsVersion=28.0.3
|
buildToolsVersion=28.0.3
|
||||||
supportLibVersion=28.0.0
|
supportLibVersion=28.0.0
|
||||||
gradleBuildTools=com.android.tools.build:gradle:3.4.1
|
gradlePluginVersion=3.4.1
|
||||||
|
googlePlayServicesVersion=16.0.1
|
||||||
|
googlePlayServicesVisionVersion=17.0.2
|
||||||
|
|
||||||
|
android.useAndroidX=true
|
||||||
|
android.enableJetifier=true
|
||||||
|
|
||||||
STATUS_RELEASE_STORE_FILE=~/.gradle/status-im.keystore
|
STATUS_RELEASE_STORE_FILE=~/.gradle/status-im.keystore
|
||||||
STATUS_RELEASE_STORE_PASSWORD=password
|
STATUS_RELEASE_STORE_PASSWORD=password
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
keystore(
|
|
||||||
name = "debug",
|
|
||||||
properties = "debug.keystore.properties",
|
|
||||||
store = "debug.keystore",
|
|
||||||
visibility = [
|
|
||||||
"PUBLIC",
|
|
||||||
],
|
|
||||||
)
|
|
|
@ -1,4 +0,0 @@
|
||||||
key.store=debug.keystore
|
|
||||||
key.alias=androiddebugkey
|
|
||||||
key.store.password=android
|
|
||||||
key.alias.password=android
|
|
|
@ -6,50 +6,15 @@ pluginManagement {
|
||||||
}
|
}
|
||||||
|
|
||||||
rootProject.name = 'StatusIm'
|
rootProject.name = 'StatusIm'
|
||||||
|
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
||||||
include ':react-native-nfc-manager'
|
include ':react-native-nfc-manager'
|
||||||
project(':react-native-nfc-manager').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-nfc-manager/android')
|
project(':react-native-nfc-manager').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-nfc-manager/android')
|
||||||
include ':react-native-firebase'
|
|
||||||
project(':react-native-firebase').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-firebase/android')
|
|
||||||
include ':react-native-background-timer'
|
|
||||||
project(':react-native-background-timer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-background-timer/android')
|
|
||||||
include ':react-native-svg'
|
|
||||||
project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android')
|
|
||||||
include ':app'
|
include ':app'
|
||||||
include ':react-native-splash-screen'
|
|
||||||
project(':react-native-splash-screen').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-splash-screen/android')
|
|
||||||
include ':react-native-image-resizer'
|
|
||||||
project(':react-native-image-resizer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-resizer/android')
|
|
||||||
include ':react-native-dialogs'
|
include ':react-native-dialogs'
|
||||||
project(':react-native-dialogs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-dialogs/android')
|
project(':react-native-dialogs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-dialogs/android')
|
||||||
include ':react-native-languages'
|
|
||||||
project(':react-native-languages').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-languages/android')
|
|
||||||
include ':react-native-status'
|
include ':react-native-status'
|
||||||
project(':react-native-status').projectDir = new File(rootProject.projectDir, '../modules/react-native-status/android')
|
project(':react-native-status').projectDir = new File(rootProject.projectDir, '../modules/react-native-status/android')
|
||||||
include ':react-native-camera'
|
|
||||||
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
|
|
||||||
include ':react-native-status-keycard'
|
include ':react-native-status-keycard'
|
||||||
project(':react-native-status-keycard').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-status-keycard/android')
|
project(':react-native-status-keycard').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-status-keycard/android')
|
||||||
include ':react-native-fs'
|
|
||||||
project(':react-native-fs').projectDir = new File(settingsDir, '../node_modules/react-native-fs/android')
|
|
||||||
include ':react-native-image-crop-picker'
|
|
||||||
project(':react-native-image-crop-picker').projectDir = new File(settingsDir, '../node_modules/react-native-image-crop-picker/android')
|
|
||||||
include ':react-native-keychain'
|
|
||||||
project(':react-native-keychain').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keychain/android')
|
|
||||||
include ':react-native-webview-bridge'
|
include ':react-native-webview-bridge'
|
||||||
project(':react-native-webview-bridge').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview-bridge/android')
|
project(':react-native-webview-bridge').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview-bridge/android')
|
||||||
include ':react-native-touch-id'
|
|
||||||
project(':react-native-touch-id').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-touch-id/android')
|
|
||||||
include ':react-native-config'
|
|
||||||
project(':react-native-config').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-config/android')
|
|
||||||
include ':react-native-android'
|
|
||||||
project(':react-native-android').projectDir = new File(rootProject.projectDir, '../node_modules/react-native/ReactAndroid')
|
|
||||||
include ':RNMail', ':app'
|
|
||||||
project(':RNMail').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mail/android')
|
|
||||||
include ':react-native-shake'
|
|
||||||
project(':react-native-shake').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-shake/android')
|
|
||||||
include ':react-native-gesture-handler'
|
|
||||||
project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')
|
|
||||||
include ':react-native-screens'
|
|
||||||
project(':react-native-screens').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-screens/android')
|
|
||||||
include ':@react-native-community_netinfo'
|
|
||||||
project(':@react-native-community_netinfo').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/netinfo/android')
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -31,7 +31,6 @@ var TopLevel = {
|
||||||
"callPrivateRPC" : function () {},
|
"callPrivateRPC" : function () {},
|
||||||
"callRPC" : function () {},
|
"callRPC" : function () {},
|
||||||
"canImplyAuthentication" : function () {},
|
"canImplyAuthentication" : function () {},
|
||||||
"capture" : function () {},
|
|
||||||
"catch" : function () {},
|
"catch" : function () {},
|
||||||
"Chance" : function () {},
|
"Chance" : function () {},
|
||||||
"changePin" : function () {},
|
"changePin" : function () {},
|
||||||
|
@ -480,6 +479,7 @@ var TopLevel = {
|
||||||
"SyncInstallation" : function () {},
|
"SyncInstallation" : function () {},
|
||||||
"SyncInstallationHandler" : function () {},
|
"SyncInstallationHandler" : function () {},
|
||||||
"t" : function () {},
|
"t" : function () {},
|
||||||
|
"takePictureAsync" : function () {},
|
||||||
"Text" : function () {},
|
"Text" : function () {},
|
||||||
"text" : function () {},
|
"text" : function () {},
|
||||||
"TextEncoder" : function () {},
|
"TextEncoder" : function () {},
|
||||||
|
|
50
ios/Podfile
50
ios/Podfile
|
@ -7,37 +7,45 @@ target 'StatusIm' do
|
||||||
platform :ios, '9.0'
|
platform :ios, '9.0'
|
||||||
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
|
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
|
||||||
# use_frameworks!
|
# use_frameworks!
|
||||||
|
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
||||||
# Pods for StatusIm
|
# Pods for StatusIm
|
||||||
pod 'Firebase/Core'
|
pod 'Firebase/Core', '~> 5.5'
|
||||||
pod 'Firebase/Messaging'
|
pod 'Firebase/Messaging', '~> 5.5'
|
||||||
|
|
||||||
# RCTImage is requered by react-native-svg
|
pod 'React', :path => '../node_modules/react-native/'
|
||||||
pod 'React', :path => '../node_modules/react-native', :subspecs => ['RCTImage',]
|
pod 'React-Core', :path => '../node_modules/react-native/React'
|
||||||
|
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
|
||||||
|
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
|
||||||
|
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
|
||||||
|
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
|
||||||
|
# RCTImage is required by react-native-svg
|
||||||
|
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
|
||||||
|
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
|
||||||
|
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
|
||||||
|
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
|
||||||
|
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
|
||||||
|
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
|
||||||
|
pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
|
||||||
|
|
||||||
|
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
|
||||||
|
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
|
||||||
|
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
|
||||||
|
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
|
||||||
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
||||||
pod 'react-native-background-timer', :path => '../node_modules/react-native-background-timer'
|
|
||||||
pod 'RNKeychain', :path => '../node_modules/react-native-keychain'
|
|
||||||
pod 'react-native-camera', path: '../node_modules/react-native-camera'
|
|
||||||
pod 'TouchID', path: '../node_modules/react-native-touch-id'
|
|
||||||
pod 'SQLCipher', '~>3.0'
|
|
||||||
pod 'SSZipArchive'
|
|
||||||
|
|
||||||
# when removing svg pod, RCTImage is needed to be removed from React subspecs
|
# when removing svg pod, RCTImage is needed to be removed from React subspecs
|
||||||
pod 'RNSVG', :path => '../node_modules/react-native-svg'
|
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
|
||||||
|
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
|
||||||
|
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
|
||||||
|
|
||||||
pod 'react-native-netinfo', :path => '../node_modules/@react-native-community/netinfo'
|
pod 'react-native-image-resizer', :path => '../node_modules/react-native-image-resizer'
|
||||||
|
pod 'SQLCipher', '~>3.0'
|
||||||
|
pod 'SSZipArchive'
|
||||||
|
|
||||||
target 'StatusImTests' do
|
target 'StatusImTests' do
|
||||||
inherit! :search_paths
|
inherit! :search_paths
|
||||||
# Pods for testing
|
# Pods for testing
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
use_native_modules!
|
||||||
|
|
||||||
post_install do |installer|
|
|
||||||
installer.pods_project.targets.each do |target|
|
|
||||||
if target.name == "React"
|
|
||||||
target.remove_from_project
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
402
ios/Podfile.lock
402
ios/Podfile.lock
|
@ -1,99 +1,251 @@
|
||||||
PODS:
|
PODS:
|
||||||
- Firebase/Core (5.7.0):
|
- boost-for-react-native (1.63.0)
|
||||||
|
- Crashlytics (3.13.4):
|
||||||
|
- Fabric (~> 1.10.2)
|
||||||
|
- DoubleConversion (1.1.6)
|
||||||
|
- Fabric (1.10.2)
|
||||||
|
- Firebase/Core (5.20.2):
|
||||||
- Firebase/CoreOnly
|
- Firebase/CoreOnly
|
||||||
- FirebaseAnalytics (= 5.1.1)
|
- FirebaseAnalytics (= 5.8.1)
|
||||||
- Firebase/CoreOnly (5.7.0):
|
- Firebase/CoreOnly (5.20.2):
|
||||||
- FirebaseCore (= 5.1.2)
|
- FirebaseCore (= 5.4.1)
|
||||||
- Firebase/Messaging (5.7.0):
|
- Firebase/Messaging (5.20.2):
|
||||||
- Firebase/CoreOnly
|
- Firebase/CoreOnly
|
||||||
- FirebaseMessaging (= 3.1.1)
|
- FirebaseMessaging (= 3.5.0)
|
||||||
- FirebaseAnalytics (5.1.1):
|
- FirebaseAnalytics (5.8.1):
|
||||||
- FirebaseCore (~> 5.1)
|
- FirebaseCore (~> 5.4)
|
||||||
- FirebaseInstanceID (~> 3.2)
|
- FirebaseInstanceID (~> 3.8)
|
||||||
- GoogleAppMeasurement (~> 5.1)
|
- GoogleAppMeasurement (= 5.8.1)
|
||||||
- GoogleUtilities/AppDelegateSwizzler (~> 5.2.0)
|
- GoogleUtilities/AppDelegateSwizzler (~> 5.2)
|
||||||
- GoogleUtilities/MethodSwizzler (~> 5.2.0)
|
- GoogleUtilities/MethodSwizzler (~> 5.2)
|
||||||
- GoogleUtilities/Network (~> 5.2)
|
- GoogleUtilities/Network (~> 5.2)
|
||||||
- "GoogleUtilities/NSData+zlib (~> 5.2)"
|
- "GoogleUtilities/NSData+zlib (~> 5.2)"
|
||||||
- nanopb (~> 0.3)
|
- nanopb (~> 0.3)
|
||||||
- FirebaseCore (5.1.2):
|
- FirebaseAnalyticsInterop (1.4.0)
|
||||||
- GoogleUtilities/Logger (~> 5.2)
|
- FirebaseCore (5.4.1):
|
||||||
- FirebaseInstanceID (3.2.1):
|
|
||||||
- FirebaseCore (~> 5.1)
|
|
||||||
- GoogleUtilities/Environment (~> 5.2)
|
- GoogleUtilities/Environment (~> 5.2)
|
||||||
- FirebaseMessaging (3.1.1):
|
- GoogleUtilities/Logger (~> 5.2)
|
||||||
- FirebaseCore (~> 5.0)
|
- FirebaseInstanceID (3.8.1):
|
||||||
- FirebaseInstanceID (~> 3.0)
|
- FirebaseCore (~> 5.2)
|
||||||
- GoogleUtilities/Reachability (~> 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)
|
- Protobuf (~> 3.1)
|
||||||
- GoogleAppMeasurement (5.1.1):
|
- Folly (2018.10.22.00):
|
||||||
- GoogleUtilities/AppDelegateSwizzler (~> 5.2.0)
|
- boost-for-react-native
|
||||||
- GoogleUtilities/MethodSwizzler (~> 5.2.0)
|
- DoubleConversion
|
||||||
|
- Folly/Default (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- Folly/Default (2018.10.22.00):
|
||||||
|
- boost-for-react-native
|
||||||
|
- DoubleConversion
|
||||||
|
- glog
|
||||||
|
- glog (0.3.5)
|
||||||
|
- GoogleAppMeasurement (5.8.1):
|
||||||
|
- GoogleUtilities/AppDelegateSwizzler (~> 5.2)
|
||||||
|
- GoogleUtilities/MethodSwizzler (~> 5.2)
|
||||||
- GoogleUtilities/Network (~> 5.2)
|
- GoogleUtilities/Network (~> 5.2)
|
||||||
- "GoogleUtilities/NSData+zlib (~> 5.2)"
|
- "GoogleUtilities/NSData+zlib (~> 5.2)"
|
||||||
- nanopb (~> 0.3)
|
- nanopb (~> 0.3)
|
||||||
- GoogleUtilities/AppDelegateSwizzler (5.2.2):
|
- GoogleUtilities/AppDelegateSwizzler (5.8.0):
|
||||||
- GoogleUtilities/Environment
|
- GoogleUtilities/Environment
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- GoogleUtilities/Network
|
- GoogleUtilities/Network
|
||||||
- GoogleUtilities/Environment (5.2.2)
|
- GoogleUtilities/Environment (5.8.0)
|
||||||
- GoogleUtilities/Logger (5.2.2):
|
- GoogleUtilities/Logger (5.8.0):
|
||||||
- GoogleUtilities/Environment
|
- GoogleUtilities/Environment
|
||||||
- GoogleUtilities/MethodSwizzler (5.2.2):
|
- GoogleUtilities/MethodSwizzler (5.8.0):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- GoogleUtilities/Network (5.2.2):
|
- GoogleUtilities/Network (5.8.0):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- "GoogleUtilities/NSData+zlib"
|
- "GoogleUtilities/NSData+zlib"
|
||||||
- GoogleUtilities/Reachability
|
- GoogleUtilities/Reachability
|
||||||
- "GoogleUtilities/NSData+zlib (5.2.2)"
|
- "GoogleUtilities/NSData+zlib (5.8.0)"
|
||||||
- GoogleUtilities/Reachability (5.2.2):
|
- GoogleUtilities/Reachability (5.8.0):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- nanopb (0.3.8):
|
- GoogleUtilities/UserDefaults (5.8.0):
|
||||||
- nanopb/decode (= 0.3.8)
|
- GoogleUtilities/Logger
|
||||||
- nanopb/encode (= 0.3.8)
|
- nanopb (0.3.901):
|
||||||
- nanopb/decode (0.3.8)
|
- nanopb/decode (= 0.3.901)
|
||||||
- nanopb/encode (0.3.8)
|
- nanopb/encode (= 0.3.901)
|
||||||
- Protobuf (3.6.1)
|
- nanopb/decode (0.3.901)
|
||||||
- React (0.59.10):
|
- nanopb/encode (0.3.901)
|
||||||
- React/Core (= 0.59.10)
|
- Protobuf (3.9.0)
|
||||||
|
- QBImagePickerController (3.4.0)
|
||||||
|
- React (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-DevSupport (= 0.60.5)
|
||||||
|
- React-RCTActionSheet (= 0.60.5)
|
||||||
|
- React-RCTAnimation (= 0.60.5)
|
||||||
|
- React-RCTBlob (= 0.60.5)
|
||||||
|
- React-RCTImage (= 0.60.5)
|
||||||
|
- React-RCTLinking (= 0.60.5)
|
||||||
|
- React-RCTNetwork (= 0.60.5)
|
||||||
|
- React-RCTSettings (= 0.60.5)
|
||||||
|
- React-RCTText (= 0.60.5)
|
||||||
|
- React-RCTVibration (= 0.60.5)
|
||||||
|
- React-RCTWebSocket (= 0.60.5)
|
||||||
|
- React-Core (0.60.5):
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- React-cxxreact (= 0.60.5)
|
||||||
|
- React-jsiexecutor (= 0.60.5)
|
||||||
|
- yoga (= 0.60.5.React)
|
||||||
|
- React-cxxreact (0.60.5):
|
||||||
|
- boost-for-react-native (= 1.63.0)
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-jsinspector (= 0.60.5)
|
||||||
|
- React-DevSupport (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTWebSocket (= 0.60.5)
|
||||||
|
- React-jsi (0.60.5):
|
||||||
|
- boost-for-react-native (= 1.63.0)
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-jsi/Default (= 0.60.5)
|
||||||
|
- React-jsi/Default (0.60.5):
|
||||||
|
- boost-for-react-native (= 1.63.0)
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-jsiexecutor (0.60.5):
|
||||||
|
- DoubleConversion
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- glog
|
||||||
|
- React-cxxreact (= 0.60.5)
|
||||||
|
- React-jsi (= 0.60.5)
|
||||||
|
- React-jsinspector (0.60.5)
|
||||||
- react-native-background-timer (2.1.1):
|
- react-native-background-timer (2.1.1):
|
||||||
- React
|
- React
|
||||||
- react-native-camera (1.1.5):
|
- react-native-camera (3.3.3):
|
||||||
- React
|
- React
|
||||||
- react-native-camera/RCT (= 1.1.5)
|
- react-native-camera/RCT (= 3.3.3)
|
||||||
- react-native-camera/RN (= 1.1.5)
|
- react-native-camera/RN (= 3.3.3)
|
||||||
- react-native-camera/RCT (1.1.5):
|
- react-native-camera/RCT (3.3.3):
|
||||||
- React
|
- React
|
||||||
- react-native-camera/RN (1.1.5):
|
- react-native-camera/RN (3.3.3):
|
||||||
- React
|
- React
|
||||||
- React/Core (0.59.10):
|
- react-native-image-resizer (1.0.0):
|
||||||
- yoga (= 0.59.10.React)
|
- React
|
||||||
- React/RCTImage (0.59.10):
|
- react-native-mail (4.0.0):
|
||||||
- React/Core
|
- React
|
||||||
- React/RCTNetwork
|
- react-native-netinfo (4.2.1):
|
||||||
- React/RCTNetwork (0.59.10):
|
- React
|
||||||
- React/Core
|
- react-native-shake (3.3.1):
|
||||||
|
- React
|
||||||
|
- react-native-splash-screen (3.2.0):
|
||||||
|
- React
|
||||||
|
- react-native-webview (6.11.1):
|
||||||
|
- React
|
||||||
|
- react-native-webview-bridge (0.33.17):
|
||||||
|
- React
|
||||||
|
- React-RCTActionSheet (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTAnimation (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTBlob (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTNetwork (= 0.60.5)
|
||||||
|
- React-RCTWebSocket (= 0.60.5)
|
||||||
|
- React-RCTImage (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTNetwork (= 0.60.5)
|
||||||
|
- React-RCTLinking (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTNetwork (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTSettings (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTText (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTVibration (0.60.5):
|
||||||
|
- React-Core (= 0.60.5)
|
||||||
|
- React-RCTWebSocket (0.60.5):
|
||||||
|
- 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):
|
||||||
|
- React
|
||||||
|
- RNGestureHandler (1.3.0):
|
||||||
|
- React
|
||||||
|
- RNImageCropPicker (0.25.0):
|
||||||
|
- QBImagePickerController
|
||||||
|
- React-Core
|
||||||
|
- React-RCTImage
|
||||||
|
- RSKImageCropper
|
||||||
- RNKeychain (3.0.0-rc.3):
|
- RNKeychain (3.0.0-rc.3):
|
||||||
- React
|
- React
|
||||||
- RNSVG (9.7.1):
|
- RNLanguages (3.0.2):
|
||||||
- React
|
- React
|
||||||
|
- RNScreens (1.0.0-alpha.22):
|
||||||
|
- React
|
||||||
|
- RNSVG (9.8.4):
|
||||||
|
- React
|
||||||
|
- RSKImageCropper (2.2.3)
|
||||||
- SQLCipher (3.4.2):
|
- SQLCipher (3.4.2):
|
||||||
- SQLCipher/standard (= 3.4.2)
|
- SQLCipher/standard (= 3.4.2)
|
||||||
- SQLCipher/common (3.4.2)
|
- SQLCipher/common (3.4.2)
|
||||||
- SQLCipher/standard (3.4.2):
|
- SQLCipher/standard (3.4.2):
|
||||||
- SQLCipher/common
|
- SQLCipher/common
|
||||||
- SSZipArchive (2.1.4)
|
- SSZipArchive (2.2.2)
|
||||||
- TouchID (4.4.1):
|
- TouchID (4.4.1):
|
||||||
- React
|
- React
|
||||||
- yoga (0.59.10.React)
|
- yoga (0.60.5.React)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- Firebase/Core
|
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||||
- Firebase/Messaging
|
- Firebase/Core (~> 5.5)
|
||||||
|
- Firebase/Messaging (~> 5.5)
|
||||||
|
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
|
||||||
|
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||||
|
- React (from `../node_modules/react-native/`)
|
||||||
|
- React-Core (from `../node_modules/react-native/React`)
|
||||||
|
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
|
||||||
|
- React-DevSupport (from `../node_modules/react-native/React`)
|
||||||
|
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
|
||||||
|
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
|
||||||
|
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
|
||||||
- react-native-background-timer (from `../node_modules/react-native-background-timer`)
|
- react-native-background-timer (from `../node_modules/react-native-background-timer`)
|
||||||
- react-native-camera (from `../node_modules/react-native-camera`)
|
- react-native-camera (from `../node_modules/react-native-camera`)
|
||||||
- React/RCTImage (from `../node_modules/react-native`)
|
- react-native-image-resizer (from `../node_modules/react-native-image-resizer`)
|
||||||
|
- react-native-mail (from `../node_modules/react-native-mail`)
|
||||||
|
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
||||||
|
- react-native-shake (from `../node_modules/react-native-shake`)
|
||||||
|
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
||||||
|
- react-native-webview (from `../node_modules/react-native-webview`)
|
||||||
|
- react-native-webview-bridge (from `../node_modules/react-native-webview-bridge`)
|
||||||
|
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
|
||||||
|
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
|
||||||
|
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
|
||||||
|
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
|
||||||
|
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
|
||||||
|
- React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
|
||||||
|
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
|
||||||
|
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
|
||||||
|
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
|
||||||
|
- React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`)
|
||||||
|
- RNFirebase (from `../node_modules/react-native-firebase/ios`)
|
||||||
|
- RNFS (from `../node_modules/react-native-fs`)
|
||||||
|
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
|
||||||
|
- RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
|
||||||
- RNKeychain (from `../node_modules/react-native-keychain`)
|
- RNKeychain (from `../node_modules/react-native-keychain`)
|
||||||
|
- RNLanguages (from `../node_modules/react-native-languages`)
|
||||||
|
- RNScreens (from `../node_modules/react-native-screens`)
|
||||||
- RNSVG (from `../node_modules/react-native-svg`)
|
- RNSVG (from `../node_modules/react-native-svg`)
|
||||||
- SQLCipher (~> 3.0)
|
- SQLCipher (~> 3.0)
|
||||||
- SSZipArchive
|
- SSZipArchive
|
||||||
|
@ -102,8 +254,12 @@ DEPENDENCIES:
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
https://github.com/cocoapods/specs.git:
|
https://github.com/cocoapods/specs.git:
|
||||||
|
- boost-for-react-native
|
||||||
|
- Crashlytics
|
||||||
|
- Fabric
|
||||||
- Firebase
|
- Firebase
|
||||||
- FirebaseAnalytics
|
- FirebaseAnalytics
|
||||||
|
- FirebaseAnalyticsInterop
|
||||||
- FirebaseCore
|
- FirebaseCore
|
||||||
- FirebaseInstanceID
|
- FirebaseInstanceID
|
||||||
- FirebaseMessaging
|
- FirebaseMessaging
|
||||||
|
@ -111,18 +267,84 @@ SPEC REPOS:
|
||||||
- GoogleUtilities
|
- GoogleUtilities
|
||||||
- nanopb
|
- nanopb
|
||||||
- Protobuf
|
- Protobuf
|
||||||
|
- QBImagePickerController
|
||||||
|
- RSKImageCropper
|
||||||
- SQLCipher
|
- SQLCipher
|
||||||
- SSZipArchive
|
- SSZipArchive
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
|
DoubleConversion:
|
||||||
|
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
||||||
|
Folly:
|
||||||
|
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
|
||||||
|
glog:
|
||||||
|
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
|
||||||
React:
|
React:
|
||||||
:path: "../node_modules/react-native"
|
:path: "../node_modules/react-native/"
|
||||||
|
React-Core:
|
||||||
|
:path: "../node_modules/react-native/React"
|
||||||
|
React-cxxreact:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/cxxreact"
|
||||||
|
React-DevSupport:
|
||||||
|
:path: "../node_modules/react-native/React"
|
||||||
|
React-jsi:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/jsi"
|
||||||
|
React-jsiexecutor:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
|
||||||
|
React-jsinspector:
|
||||||
|
:path: "../node_modules/react-native/ReactCommon/jsinspector"
|
||||||
react-native-background-timer:
|
react-native-background-timer:
|
||||||
:path: "../node_modules/react-native-background-timer"
|
:path: "../node_modules/react-native-background-timer"
|
||||||
react-native-camera:
|
react-native-camera:
|
||||||
:path: "../node_modules/react-native-camera"
|
:path: "../node_modules/react-native-camera"
|
||||||
|
react-native-image-resizer:
|
||||||
|
:path: "../node_modules/react-native-image-resizer"
|
||||||
|
react-native-mail:
|
||||||
|
:path: "../node_modules/react-native-mail"
|
||||||
|
react-native-netinfo:
|
||||||
|
:path: "../node_modules/@react-native-community/netinfo"
|
||||||
|
react-native-shake:
|
||||||
|
:path: "../node_modules/react-native-shake"
|
||||||
|
react-native-splash-screen:
|
||||||
|
:path: "../node_modules/react-native-splash-screen"
|
||||||
|
react-native-webview:
|
||||||
|
:path: "../node_modules/react-native-webview"
|
||||||
|
react-native-webview-bridge:
|
||||||
|
:path: "../node_modules/react-native-webview-bridge"
|
||||||
|
React-RCTActionSheet:
|
||||||
|
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
|
||||||
|
React-RCTAnimation:
|
||||||
|
:path: "../node_modules/react-native/Libraries/NativeAnimation"
|
||||||
|
React-RCTBlob:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Blob"
|
||||||
|
React-RCTImage:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Image"
|
||||||
|
React-RCTLinking:
|
||||||
|
:path: "../node_modules/react-native/Libraries/LinkingIOS"
|
||||||
|
React-RCTNetwork:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Network"
|
||||||
|
React-RCTSettings:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Settings"
|
||||||
|
React-RCTText:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Text"
|
||||||
|
React-RCTVibration:
|
||||||
|
:path: "../node_modules/react-native/Libraries/Vibration"
|
||||||
|
React-RCTWebSocket:
|
||||||
|
:path: "../node_modules/react-native/Libraries/WebSocket"
|
||||||
|
RNFirebase:
|
||||||
|
:path: "../node_modules/react-native-firebase/ios"
|
||||||
|
RNFS:
|
||||||
|
:path: "../node_modules/react-native-fs"
|
||||||
|
RNGestureHandler:
|
||||||
|
:path: "../node_modules/react-native-gesture-handler"
|
||||||
|
RNImageCropPicker:
|
||||||
|
:path: "../node_modules/react-native-image-crop-picker"
|
||||||
RNKeychain:
|
RNKeychain:
|
||||||
:path: "../node_modules/react-native-keychain"
|
:path: "../node_modules/react-native-keychain"
|
||||||
|
RNLanguages:
|
||||||
|
:path: "../node_modules/react-native-languages"
|
||||||
|
RNScreens:
|
||||||
|
:path: "../node_modules/react-native-screens"
|
||||||
RNSVG:
|
RNSVG:
|
||||||
:path: "../node_modules/react-native-svg"
|
:path: "../node_modules/react-native-svg"
|
||||||
TouchID:
|
TouchID:
|
||||||
|
@ -131,25 +353,63 @@ EXTERNAL SOURCES:
|
||||||
:path: "../node_modules/react-native/ReactCommon/yoga"
|
:path: "../node_modules/react-native/ReactCommon/yoga"
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
Firebase: 734a4f92957aa6c40e7ae3fda3d9359e1890aa87
|
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||||
FirebaseAnalytics: 993577e91157feb40945abedd6ab346d8a4b6ac8
|
Crashlytics: 2dfd686bcb918dc10ee0e76f7f853fe42c7bd552
|
||||||
FirebaseCore: 3a97432acb324b439fbed338e642f9cbb516a63d
|
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||||
FirebaseInstanceID: ea5af6920d0a4a29b40459d055bebe4a6c1333c4
|
Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74
|
||||||
FirebaseMessaging: 698c94dd1e3436346c29bb9c85dcdca4c4a0c30b
|
Firebase: 0c8cf33f266410c61ab3e2265cfa412200351d9c
|
||||||
GoogleAppMeasurement: f7507b39b70ad0bd80b3d81518b2f43868974307
|
FirebaseAnalytics: ece1aa57a4f43c64d53a648b5a5e05151aae947b
|
||||||
GoogleUtilities: 06b66f9567769a7958db20a92f0128b2843e49d5
|
FirebaseAnalyticsInterop: d48b6ab67bcf016a05e55b71fc39c61c0cb6b7f3
|
||||||
nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3
|
FirebaseCore: f1a9a8be1aee4bf71a2fc0f4096df6788bdfda61
|
||||||
Protobuf: 1eb9700044745f00181c136ef21b8ff3ad5a0fd5
|
FirebaseInstanceID: a122b0c258720cf250551bb2bedf48c699f80d90
|
||||||
React: 1d605e098d69bdf08960787f3446f0a9dc2e2ccf
|
FirebaseMessaging: 4235f949ce1c4e827aeb19705ba5c53f9b85aa10
|
||||||
|
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||||
|
glog: 7b113d8578aa09b57aa5945dd002bc37d0ab4fb5
|
||||||
|
GoogleAppMeasurement: ffe513e90551844a739e7bcbb1d2aca1c28a4338
|
||||||
|
GoogleUtilities: 04fce34bcd5620c1ee76fb79172105c74a4df335
|
||||||
|
nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48
|
||||||
|
Protobuf: 1097ca58584c8d9be81bfbf2c5ff5975648dd87a
|
||||||
|
QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
|
||||||
|
React: c438ccc7e14e86d4702bb92d7e262f549ffaa995
|
||||||
|
React-Core: c76495f5c14e73c0f803b89c3fa83f804da61bd6
|
||||||
|
React-cxxreact: f64bc64cf4682d6ea5a064f6017da72482858682
|
||||||
|
React-DevSupport: 30336bca00f72681eac995d21a31b963e7d5cfec
|
||||||
|
React-jsi: 40f467ff088c811c6630acccb4aea57ea7ccb1b5
|
||||||
|
React-jsiexecutor: e4b4717060a0cd8d0270323b5655a68c95432efd
|
||||||
|
React-jsinspector: 044105eea064aec81adc5e4d777a8f6589e7d094
|
||||||
react-native-background-timer: bb7a98c8e97fc7c290de2d423dd09ddb73dcbcbb
|
react-native-background-timer: bb7a98c8e97fc7c290de2d423dd09ddb73dcbcbb
|
||||||
react-native-camera: 68ad5143d2d0636236d46c7de8d2a6455ca52a36
|
react-native-camera: 9c50d7def800895e7991ccda6203929553ceec9c
|
||||||
|
react-native-image-resizer: 04a3409e7d4ad646c4468671c69dec490def139c
|
||||||
|
react-native-mail: ff4aba592530d80ac96eea6c1ca03114b84d630a
|
||||||
|
react-native-netinfo: a91b5cf92ed3ada997cfe2bf067633386eb19fd8
|
||||||
|
react-native-shake: e9d1368d6f0ec7e48c8afc91e379b81006b9ba42
|
||||||
|
react-native-splash-screen: a49be22f0f6648b8416f3bd28258645eeaa5b42b
|
||||||
|
react-native-webview: ad9581723f4d401c22cb3a371811d4dc9310df56
|
||||||
|
react-native-webview-bridge: c712d20bbe7e2a2fabdd5d8ccdfec5e704455763
|
||||||
|
React-RCTActionSheet: 08864c609d9f959abf3d51fdd93f8bc6e91f21eb
|
||||||
|
React-RCTAnimation: a4547e9fac2627ded3df9d302f5558b475faf819
|
||||||
|
React-RCTBlob: 62d5c263a2adb8f7a2cafd601beba18a2d99cbbb
|
||||||
|
React-RCTImage: 963859de2b05d2037d1b7842cdbddc8d7f3a2f3b
|
||||||
|
React-RCTLinking: 5998a7db9a6156ed112b006d01f76b2d1cc83d98
|
||||||
|
React-RCTNetwork: 0b676e8194f3f893db813007d37e37e9820173a3
|
||||||
|
React-RCTSettings: fdd7606f1b6050eced69fc6046d5db6768aefd57
|
||||||
|
React-RCTText: 36c0532feb5521cb295ba80e7e44b70cf1c36fc7
|
||||||
|
React-RCTVibration: dabb8d59bb47e1d9124b3f77bfdc1b33d42b0a74
|
||||||
|
React-RCTWebSocket: 2e7f6e98fd6d2bf447d145e499c3a235cc13e350
|
||||||
|
RNFirebase: ca408d6bee0ca9383bd0cfe84f40b01370b8ad4d
|
||||||
|
RNFS: 6a2bfb5d0b14cf0ad72667f76202358abba4aacf
|
||||||
|
RNGestureHandler: 7ccf2f3f60458e084f9ada01fbaf610f6fef073c
|
||||||
|
RNImageCropPicker: c406db73f02f11bf3a887f856ff04ee50af173f4
|
||||||
RNKeychain: 627c6095cef215dd3d9804a9a9cf45ab96aa3997
|
RNKeychain: 627c6095cef215dd3d9804a9a9cf45ab96aa3997
|
||||||
|
RNLanguages: e3ae05ef105937645218272429dac0c3f7633451
|
||||||
|
RNScreens: 354046589421edc3d83d5c6212475bf1fb9a731d
|
||||||
RNSVG: 2e097b92aaa6d4e0f354fd7c49cbf3b17f8b3920
|
RNSVG: 2e097b92aaa6d4e0f354fd7c49cbf3b17f8b3920
|
||||||
|
RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a
|
||||||
SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990
|
SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990
|
||||||
SSZipArchive: 41455d4b8d2b6ab93990820b50dc697c2554a322
|
SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23
|
||||||
TouchID: b0640fedb86fa2db2fe1df15b61594ad49e76288
|
TouchID: b0640fedb86fa2db2fe1df15b61594ad49e76288
|
||||||
yoga: 128daf064cacaede0c3bb27424b6b4c71052e6cd
|
yoga: 88c514f310aff89b94a14c5fbf44b95735af0cb7
|
||||||
|
|
||||||
PODFILE CHECKSUM: c4092792db2b9d33023311d0876998d7be256942
|
PODFILE CHECKSUM: eada5ca1782f4a5407527b6bb8f04e5fe4ab1e49
|
||||||
|
|
||||||
COCOAPODS: 1.5.3
|
COCOAPODS: 1.5.3
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "group:StatusIm.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
<FileRef
|
||||||
|
location = "group:Pods/Pods.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
|
@ -3,10 +3,10 @@
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node node_modules/react-native/local-cli/cli.js start"
|
"start": "react-native start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-native-community/netinfo": "^3.2.1",
|
"@react-native-community/netinfo": "^4.1.5",
|
||||||
"bignumber.js": "git+https://github.com/status-im/bignumber.js.git#v4.0.2-status",
|
"bignumber.js": "git+https://github.com/status-im/bignumber.js.git#v4.0.2-status",
|
||||||
"buffer": "^5.4.2",
|
"buffer": "^5.4.2",
|
||||||
"chance": "^1.1.0",
|
"chance": "^1.1.0",
|
||||||
|
@ -17,30 +17,31 @@
|
||||||
"i18n-js": "^3.3.0",
|
"i18n-js": "^3.3.0",
|
||||||
"identicon.js": "git+https://github.com/status-im/identicon.js.git#v1.2.1-status",
|
"identicon.js": "git+https://github.com/status-im/identicon.js.git#v1.2.1-status",
|
||||||
"qrcode": "^1.4.1",
|
"qrcode": "^1.4.1",
|
||||||
"react": "16.8.3",
|
"react": "16.8.6",
|
||||||
"react-dom": "16.4.2",
|
"react-dom": "16.4.2",
|
||||||
"react-native": "git+https://github.com/status-im/react-native.git#v0.59.10",
|
"react-native": "0.60.5",
|
||||||
"react-native-background-timer": "^2.1.1",
|
"react-native-background-timer": "^2.1.1",
|
||||||
"react-native-camera": "git+https://github.com/status-im/react-native-camera.git#v1.1.5-1-status",
|
"react-native-camera": "3.3.3",
|
||||||
"react-native-config": "git+https://github.com/status-im/react-native-config.git#0.11.2-1",
|
"react-native-config": "git+https://github.com/status-im/react-native-config.git#0.11.2-1-status",
|
||||||
"react-native-dialogs": "^1.0.5",
|
"react-native-dialogs": "1.0.4",
|
||||||
"react-native-fetch-polyfill": "^1.1.3",
|
"react-native-fetch-polyfill": "1.1.2",
|
||||||
"react-native-firebase": "5.1.1",
|
"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.18.2",
|
"react-native-image-crop-picker": "0.25.0",
|
||||||
"react-native-image-resizer": "git+https://github.com/status-im/react-native-image-resizer.git#1.0.0-1-status",
|
"react-native-image-resizer": "git+https://github.com/status-im/react-native-image-resizer.git#1.0.0-1-status",
|
||||||
"react-native-keychain": "git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-status",
|
"react-native-keychain": "git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-status",
|
||||||
"react-native-languages": "^3.0.2",
|
"react-native-languages": "^3.0.2",
|
||||||
"react-native-mail": "git+https://github.com/status-im/react-native-mail.git#v3.0.8_status",
|
"react-native-mail": "git+https://github.com/status-im/react-native-mail.git#v4.0.0-status",
|
||||||
"react-native-navigation-twopane": "git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status",
|
"react-native-navigation-twopane": "git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status",
|
||||||
"react-native-screens": "1.0.0-alpha.22",
|
"react-native-screens": "1.0.0-alpha.22",
|
||||||
"react-native-shake": "^3.3.1",
|
"react-native-shake": "^3.3.1",
|
||||||
"react-native-splash-screen": "^3.2.0",
|
"react-native-splash-screen": "^3.2.0",
|
||||||
"react-native-status-keycard": "^2.5.7",
|
"react-native-status-keycard": "^2.5.7",
|
||||||
"react-native-svg": "9.7.1",
|
"react-native-svg": "9.8.4",
|
||||||
"react-native-touch-id": "^4.4.1",
|
"react-native-touch-id": "^4.4.1",
|
||||||
"react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#fix/classnames-colision",
|
"react-native-webview": "6.11.1",
|
||||||
|
"react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#fix/community-webview",
|
||||||
"react-navigation": "3.11.0",
|
"react-navigation": "3.11.0",
|
||||||
"web3-utils": "^1.2.1"
|
"web3-utils": "^1.2.1"
|
||||||
},
|
},
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,12 +6,10 @@ import com.facebook.react.bridge.NativeModule;
|
||||||
import com.facebook.react.bridge.ReactApplicationContext;
|
import com.facebook.react.bridge.ReactApplicationContext;
|
||||||
import com.facebook.react.uimanager.ViewManager;
|
import com.facebook.react.uimanager.ViewManager;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import im.status.ethereum.function.Function;
|
|
||||||
import statusgo.Statusgo;
|
|
||||||
|
|
||||||
public class StatusPackage implements ReactPackage {
|
public class StatusPackage implements ReactPackage {
|
||||||
|
|
||||||
private boolean rootedDevice;
|
private boolean rootedDevice;
|
||||||
|
@ -22,21 +20,15 @@ public class StatusPackage implements ReactPackage {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
||||||
NativeModule statusModule = new StatusModule(reactContext, this.rootedDevice);
|
List<NativeModule> modules = new ArrayList<>();
|
||||||
return Collections.singletonList(statusModule);
|
|
||||||
|
modules.add(new StatusModule(reactContext, this.rootedDevice));
|
||||||
|
|
||||||
|
return modules;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Function<String, String> getCallRPC() {
|
|
||||||
return new Function<String, String>() {
|
|
||||||
@Override
|
|
||||||
public String apply(String payload) {
|
|
||||||
return Statusgo.callRPC(payload);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,6 +234,7 @@
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(SRCROOT)/../../../../node_modules/React/**",
|
"$(SRCROOT)/../../../../node_modules/React/**",
|
||||||
|
"$(SRCROOT)/../../../../ios/Pods/Headers/Public/React-Core",
|
||||||
"$(SRCROOT)/../../../../node_modules/react-native/React/**",
|
"$(SRCROOT)/../../../../node_modules/react-native/React/**",
|
||||||
"$(SRCROOT)/../../../../node_modules/react-native-config/ios/ReactNativeConfig",
|
"$(SRCROOT)/../../../../node_modules/react-native-config/ios/ReactNativeConfig",
|
||||||
);
|
);
|
||||||
|
@ -262,6 +263,7 @@
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(SRCROOT)/../../../../node_modules/React/**",
|
"$(SRCROOT)/../../../../node_modules/React/**",
|
||||||
|
"$(SRCROOT)/../../../../ios/Pods/Headers/Public/React-Core",
|
||||||
"$(SRCROOT)/../../../../node_modules/react-native/React/**",
|
"$(SRCROOT)/../../../../node_modules/react-native/React/**",
|
||||||
"$(SRCROOT)/../../../../node_modules/react-native-config/ios/ReactNativeConfig",
|
"$(SRCROOT)/../../../../node_modules/react-native-config/ios/ReactNativeConfig",
|
||||||
);
|
);
|
||||||
|
|
|
@ -29,7 +29,7 @@ function extractResults() {
|
||||||
echo "Saving build result: ${nixResultPath}"
|
echo "Saving build result: ${nixResultPath}"
|
||||||
mkdir -p "${resultPath}"
|
mkdir -p "${resultPath}"
|
||||||
cp -vfr ${nixResultPath}/* "${resultPath}"
|
cp -vfr ${nixResultPath}/* "${resultPath}"
|
||||||
chmod u+w -R "${resultPath}"
|
chmod -R u+w "${resultPath}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Load Nix profile
|
# Load Nix profile
|
||||||
|
|
|
@ -9,11 +9,11 @@ let
|
||||||
gradle = callPackage ./gradle.nix { };
|
gradle = callPackage ./gradle.nix { };
|
||||||
|
|
||||||
# Import a local patched version of node_modules, together with a local version of the Maven repo
|
# Import a local patched version of node_modules, together with a local version of the Maven repo
|
||||||
mavenAndNpmDeps = callPackage ./maven-and-npm-deps { inherit stdenv stdenvNoCC gradle bash nodejs zlib localMavenRepoBuilder mkFilter projectNodePackage status-go; androidEnvShellHook = androidEnv.shellHook; };
|
mavenAndNpmDeps = callPackage ./maven-and-npm-deps { inherit stdenv stdenvNoCC gradle bash nodejs zlib localMavenRepoBuilder mkFilter projectNodePackage; };
|
||||||
|
|
||||||
# TARGETS
|
# TARGETS
|
||||||
release = callPackage ./targets/release-android.nix { inherit target-os gradle mavenAndNpmDeps mkFilter nodejs jsbundle status-go zlib; androidEnvShellHook = androidEnv.shellHook; };
|
release = callPackage ./targets/release-android.nix { inherit target-os gradle mavenAndNpmDeps mkFilter nodejs jsbundle status-go zlib; androidEnvShellHook = androidEnv.shellHook; };
|
||||||
generate-maven-and-npm-deps-shell = callPackage ./maven-and-npm-deps/maven/shell.nix { inherit mkShell gradle maven projectNodePackage status-go; androidEnvShellHook = androidEnv.shellHook; };
|
generate-maven-and-npm-deps-shell = callPackage ./maven-and-npm-deps/maven/shell.nix { inherit mkShell gradle maven nodejs projectNodePackage status-go; androidEnvShellHook = androidEnv.shellHook; };
|
||||||
adb-shell = mkShell {
|
adb-shell = mkShell {
|
||||||
buildInputs = [ androidEnv.licensedAndroidEnv ];
|
buildInputs = [ androidEnv.licensedAndroidEnv ];
|
||||||
inherit (androidEnv) shellHook;
|
inherit (androidEnv) shellHook;
|
||||||
|
|
|
@ -1,19 +1,17 @@
|
||||||
#
|
#
|
||||||
# This script prepares a finalized version of node_modules
|
# This script prepares a finalized version of node_modules,
|
||||||
# (required because for Android we need to run `gradle react-native-android:installArchives`, which builds some additional native libraries
|
# as well as a local version of the Maven repository required by Gradle scripts
|
||||||
# under node_modules/react-native), as well as a local version of the Maven repository required by Gradle scripts
|
|
||||||
#
|
#
|
||||||
|
|
||||||
{ stdenv, stdenvNoCC, lib, callPackage,
|
{ stdenv, stdenvNoCC, lib, callPackage,
|
||||||
gradle, bash, file, nodejs, status-go, zlib,
|
gradle, bash, file, nodejs, zlib,
|
||||||
projectNodePackage, androidEnvShellHook, localMavenRepoBuilder, mkFilter }:
|
projectNodePackage, localMavenRepoBuilder, mkFilter }:
|
||||||
|
|
||||||
let
|
let
|
||||||
mavenLocalRepo = callPackage ./maven { inherit localMavenRepoBuilder; stdenv = if stdenv.isLinux then stdenv else stdenvNoCC; };
|
mavenLocalRepo = callPackage ./maven { inherit localMavenRepoBuilder; stdenv = if stdenv.isLinux then stdenv else stdenvNoCC; };
|
||||||
|
|
||||||
# Import the native dependencies for React Native Android builds
|
# Import the native dependencies for React Native Android builds
|
||||||
jsc-filename = "jsc-android-236355.1.1";
|
react-native-deps = callPackage ./maven/reactnative-android-native-deps.nix { inherit stdenvNoCC; };
|
||||||
react-native-deps = callPackage ./maven/reactnative-android-native-deps.nix { inherit stdenvNoCC jsc-filename; };
|
|
||||||
|
|
||||||
createMobileFilesSymlinks = root: ''
|
createMobileFilesSymlinks = root: ''
|
||||||
ln -sf ${root}/mobile_files/package.json.orig ${root}/package.json
|
ln -sf ${root}/mobile_files/package.json.orig ${root}/package.json
|
||||||
|
@ -27,11 +25,10 @@ let
|
||||||
# Place build target directories in NIX_BUILD_TOP (normally represents /build)
|
# Place build target directories in NIX_BUILD_TOP (normally represents /build)
|
||||||
projectBuildDir = "$NIX_BUILD_TOP/project";
|
projectBuildDir = "$NIX_BUILD_TOP/project";
|
||||||
mavenRepoDir = "$NIX_BUILD_TOP/.m2/repository";
|
mavenRepoDir = "$NIX_BUILD_TOP/.m2/repository";
|
||||||
reactNativeMavenPackageDir = "${mavenRepoDir}/com/facebook/react/react-native"; # This is directory where the react-native Maven package will be generated in
|
|
||||||
reactNativeDepsDir = "$NIX_BUILD_TOP/deps"; # Use local writable deps, otherwise (probably due to some interaction between Nix sandboxing and Java) gradle will fail copying directly from the nix store
|
reactNativeDepsDir = "$NIX_BUILD_TOP/deps"; # Use local writable deps, otherwise (probably due to some interaction between Nix sandboxing and Java) gradle will fail copying directly from the nix store
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "android-gradle-and-npm-modules";
|
name = "patched-android-gradle-and-npm-modules";
|
||||||
src =
|
src =
|
||||||
let path = ./../../../..; # Import the root /android and /mobile_files folders clean of any build artifacts
|
let path = ./../../../..; # Import the root /android and /mobile_files folders clean of any build artifacts
|
||||||
in builtins.path { # We use builtins.path so that we can name the resulting derivation, otherwise the name would be taken from the checkout directory, which is outside of our control
|
in builtins.path { # We use builtins.path so that we can name the resulting derivation, otherwise the name would be taken from the checkout directory, which is outside of our control
|
||||||
|
@ -50,9 +47,10 @@ let
|
||||||
root = path;
|
root = path;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
|
||||||
nativeBuildInputs = [ projectNodePackage ];
|
nativeBuildInputs = [ projectNodePackage ];
|
||||||
buildInputs = [ gradle nodejs bash file zlib mavenLocalRepo ];
|
buildInputs = [ gradle nodejs bash file zlib mavenLocalRepo ];
|
||||||
propagatedBuildInputs = [ react-native-deps ] ++ status-go.buildInputs;
|
propagatedBuildInputs = [ react-native-deps ];
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
runHook preUnpack
|
runHook preUnpack
|
||||||
|
|
||||||
|
@ -65,8 +63,6 @@ let
|
||||||
# Copy RN maven dependencies and make them writable, otherwise Gradle copy fails (since the top-level directory is read-only, Java isn't smart enough to copy the child files/folders into that target directory)
|
# Copy RN maven dependencies and make them writable, otherwise Gradle copy fails (since the top-level directory is read-only, Java isn't smart enough to copy the child files/folders into that target directory)
|
||||||
mkdir -p ${mavenRepoDir}
|
mkdir -p ${mavenRepoDir}
|
||||||
cp -a ${mavenLocalRepo}/. ${mavenRepoDir}
|
cp -a ${mavenLocalRepo}/. ${mavenRepoDir}
|
||||||
mkdir -p ${reactNativeMavenPackageDir}
|
|
||||||
chmod u+w ${reactNativeMavenPackageDir}/
|
|
||||||
cp -a ${react-native-deps}/deps ${reactNativeDepsDir}
|
cp -a ${react-native-deps}/deps ${reactNativeDepsDir}
|
||||||
for d in `find ${reactNativeDepsDir} -mindepth 1 -maxdepth 1 -type d`; do
|
for d in `find ${reactNativeDepsDir} -mindepth 1 -maxdepth 1 -type d`; do
|
||||||
chmod -R u+w $d
|
chmod -R u+w $d
|
||||||
|
@ -129,11 +125,6 @@ let
|
||||||
patchMavenSources $f '${mavenLocalRepo}'
|
patchMavenSources $f '${mavenLocalRepo}'
|
||||||
done
|
done
|
||||||
|
|
||||||
# Patch prepareJSC so that it doesn't try to download from registry
|
|
||||||
substituteInPlace ${projectBuildDir}/node_modules/react-native/ReactAndroid/build.gradle \
|
|
||||||
--replace 'prepareJSC(dependsOn: downloadJSC)' 'prepareJSC(dependsOn: createNativeDepsDirectories)' \
|
|
||||||
--replace 'def jscTar = tarTree(downloadJSC.dest)' "def jscTar = tarTree(new File(\"${react-native-deps}/deps/${jsc-filename}.tar.gz\"))"
|
|
||||||
|
|
||||||
# Do not add a BuildId to the generated libraries, for reproducibility
|
# Do not add a BuildId to the generated libraries, for reproducibility
|
||||||
substituteInPlace ${projectBuildDir}/node_modules/react-native/ReactAndroid/src/main/jni/Application.mk \
|
substituteInPlace ${projectBuildDir}/node_modules/react-native/ReactAndroid/src/main/jni/Application.mk \
|
||||||
--replace \
|
--replace \
|
||||||
|
@ -158,28 +149,6 @@ let
|
||||||
|
|
||||||
runHook postPatch
|
runHook postPatch
|
||||||
'';
|
'';
|
||||||
buildPhase =
|
|
||||||
androidEnvShellHook +
|
|
||||||
status-go.shellHook + ''
|
|
||||||
export HOME=$NIX_BUILD_TOP
|
|
||||||
export REACT_NATIVE_DEPENDENCIES="${reactNativeDepsDir}"
|
|
||||||
export STATUS_REACT_HOME="${projectBuildDir}"
|
|
||||||
|
|
||||||
pushd ${projectBuildDir}/android
|
|
||||||
# NOTE: This generates the react-native-android binaries under node_modules/react-native/android
|
|
||||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${lib.makeLibraryPath [ zlib ]} \
|
|
||||||
gradle -Dmaven.repo.local=${mavenRepoDir} --offline -S react-native-android:installArchives || exit
|
|
||||||
popd > /dev/null
|
|
||||||
'';
|
|
||||||
doCheck = true;
|
|
||||||
checkPhase = ''
|
|
||||||
runHook preCheck
|
|
||||||
test -d ${projectBuildDir}/node_modules/react-native/ReactAndroid/build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/com/facebook || \
|
|
||||||
exit 1
|
|
||||||
test -d ${projectBuildDir}/node_modules/react-native/ReactAndroid/build/react-ndk/exported || \
|
|
||||||
exit 2
|
|
||||||
runHook postCheck
|
|
||||||
'';
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
rm -rf $out
|
rm -rf $out
|
||||||
mkdir -p $out/{project,.m2/repository}
|
mkdir -p $out/{project,.m2/repository}
|
||||||
|
|
|
@ -6,5 +6,5 @@ This folder contains the Nix expression (`maven-sources.nix`) that downloads all
|
||||||
|
|
||||||
- `generate-nix.sh`: This is the main entry point script, which will use Gradle to determine the dependencies (into `maven-inputs.txt`), and `nix/tools/maven/maven-inputs2nix.sh` to generate `default.nix` from those dependencies.
|
- `generate-nix.sh`: This is the main entry point script, which will use Gradle to determine the dependencies (into `maven-inputs.txt`), and `nix/tools/maven/maven-inputs2nix.sh` to generate `default.nix` from those dependencies.
|
||||||
- `fetch-maven-deps.sh`: This script does the heavy work of determining Gradle dependencies and outputting a `maven-inputs.txt` file listing the external URLs.
|
- `fetch-maven-deps.sh`: This script does the heavy work of determining Gradle dependencies and outputting a `maven-inputs.txt` file listing the external URLs.
|
||||||
- `reactnative-android-native-deps.nix`: Contains the Nix attribute set used to download the React Native dependencies used in `gradle react-native-android:installArchives`.
|
- `reactnative-android-native-deps.nix`: Contains the Nix attribute set used to download the React Native dependencies used in React Native Gradle scripts.
|
||||||
- `maven-inputs.txt`: A list of Maven dependenciy URLs that can be used by `nix/tools/maven/maven-inputs2nix.sh` to generate `maven-sources.nix`.
|
- `maven-inputs.txt`: A list of Maven dependenciy URLs that can be used by `nix/tools/maven/maven-inputs2nix.sh` to generate `maven-sources.nix`.
|
||||||
|
|
|
@ -78,11 +78,6 @@ function determineArtifactUrl() {
|
||||||
local path=$(getPath "${tokens[@]}")
|
local path=$(getPath "${tokens[@]}")
|
||||||
for mavenSourceUrl in ${mavenSources[@]}; do
|
for mavenSourceUrl in ${mavenSources[@]}; do
|
||||||
if tryGetPOMFromURL "$mavenSourceUrl/$path"; then
|
if tryGetPOMFromURL "$mavenSourceUrl/$path"; then
|
||||||
if [ "$path" = "com/google/firebase/firebase-analytics/16.0.3/firebase-analytics-16.0.3" ]; then
|
|
||||||
# For some reason maven doesn't detect the correct version of firebase-analytics so we have to hardcode it
|
|
||||||
# TODO: See if we can get rid of this by upgrading to latest firebase
|
|
||||||
echo "$mavenSourceUrl/com/google/firebase/firebase-analytics/15.0.2/firebase-analytics-15.0.2"
|
|
||||||
fi
|
|
||||||
echo "$mavenSourceUrl/$path"
|
echo "$mavenSourceUrl/$path"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
@ -164,12 +159,14 @@ function retrieveAdditionalDependencies() {
|
||||||
mvn_tmp_repo=$(mktemp -d)
|
mvn_tmp_repo=$(mktemp -d)
|
||||||
trap "rm -rf $mvn_tmp_repo $tmp_pom_filename $deps_file_path $tmp_mvn_dep_tree_filename" ERR EXIT HUP INT
|
trap "rm -rf $mvn_tmp_repo $tmp_pom_filename $deps_file_path $tmp_mvn_dep_tree_filename" ERR EXIT HUP INT
|
||||||
|
|
||||||
|
rnModules=$(node ./node_modules/react-native/cli.js config | jq -r '.dependencies | keys | .[]')
|
||||||
|
|
||||||
pushd $GIT_ROOT/android > /dev/null
|
pushd $GIT_ROOT/android > /dev/null
|
||||||
|
|
||||||
gradleProjects=$(gradle projects $gradle_opts 2>&1 \
|
gradleProjects=$(gradle projects $gradle_opts 2>&1 \
|
||||||
| grep "Project ':" \
|
| grep "Project ':" \
|
||||||
| sed -E "s;^.--- Project '\:([@_a-zA-Z0-9\-]+)';\1;")
|
| sed -E "s;^.--- Project '\:([@_a-zA-Z0-9\-]+)';\1;")
|
||||||
projects=( ${gradleProjects[@]} )
|
projects=( ${gradleProjects[@]} ${rnModules[@]} )
|
||||||
IFS=$'\n' sortedProjects=($(sort -u <<<"${projects[*]}"))
|
IFS=$'\n' sortedProjects=($(sort -u <<<"${projects[*]}"))
|
||||||
unset IFS
|
unset IFS
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
||||||
{ stdenvNoCC, fetchurl, jsc-filename }:
|
{ stdenvNoCC, fetchurl }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# These versions should match node_modules/react-native/ReactAndroid/gradle.properties
|
# These versions should match node_modules/react-native/ReactAndroid/gradle.properties
|
||||||
|
@ -32,10 +32,6 @@ let
|
||||||
in stdenvNoCC.mkDerivation {
|
in stdenvNoCC.mkDerivation {
|
||||||
name = "reactnative-android-native-deps";
|
name = "reactnative-android-native-deps";
|
||||||
srcs = builtins.map (d: (fetchurl { inherit (d) url sha256; })) react-native-deps-sources;
|
srcs = builtins.map (d: (fetchurl { inherit (d) url sha256; })) react-native-deps-sources;
|
||||||
jsc = fetchurl {
|
|
||||||
url = "https://registry.npmjs.org/jsc-android/-/${jsc-filename}.tgz";
|
|
||||||
sha256 = "1s1fzmvpvdblzca7p2ifcysvd9na4jrsikaccqmfpgvkqjalfccp";
|
|
||||||
};
|
|
||||||
phases = [ "unpackPhase" ];
|
phases = [ "unpackPhase" ];
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
# Unpack all source archives.
|
# Unpack all source archives.
|
||||||
|
@ -44,7 +40,6 @@ in stdenvNoCC.mkDerivation {
|
||||||
for i in $srcs; do
|
for i in $srcs; do
|
||||||
unpackFile "$i"
|
unpackFile "$i"
|
||||||
done
|
done
|
||||||
cp $jsc $out/deps/${jsc-filename}.tar.gz # do the work of downloadJSC
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
export sourceRoot=$out/deps
|
export sourceRoot=$out/deps
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ mkShell, curl, git, gradle, maven,
|
{ mkShell, curl, git, gradle, jq, maven, nodejs,
|
||||||
projectNodePackage, androidEnvShellHook, status-go }:
|
projectNodePackage, androidEnvShellHook, status-go }:
|
||||||
|
|
||||||
mkShell {
|
mkShell {
|
||||||
|
@ -6,7 +6,9 @@ mkShell {
|
||||||
curl
|
curl
|
||||||
git
|
git
|
||||||
gradle
|
gradle
|
||||||
|
jq
|
||||||
maven
|
maven
|
||||||
|
nodejs
|
||||||
projectNodePackage
|
projectNodePackage
|
||||||
];
|
];
|
||||||
shellHook =
|
shellHook =
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ stdenv, stdenvNoCC, lib, target-os, callPackage,
|
{ stdenv, stdenvNoCC, lib, target-os, callPackage,
|
||||||
mkFilter, bash, file, gnumake, watchman, gradle,
|
mkFilter, bash, file, gnumake, watchman, gradle,
|
||||||
androidEnvShellHook, mavenAndNpmDeps,
|
androidEnvShellHook, mavenAndNpmDeps,
|
||||||
nodejs, openjdk, jsbundle, status-go, zlib }:
|
nodejs, openjdk, jsbundle, status-go, unzip, zlib }:
|
||||||
|
|
||||||
{ build-number,
|
{ build-number,
|
||||||
build-type, # Build type (e.g. nightly, release, e2e). Default is to use .env.nightly file
|
build-type, # Build type (e.g. nightly, release, e2e). Default is to use .env.nightly file
|
||||||
|
@ -21,7 +21,7 @@ let
|
||||||
if (build-type == "release" || build-type == "nightly" || build-type == "e2e") then ".env.${build-type}" else
|
if (build-type == "release" || build-type == "nightly" || build-type == "e2e") then ".env.${build-type}" else
|
||||||
if build-type != "" then ".env.jenkins" else ".env";
|
if build-type != "" then ".env.jenkins" else ".env";
|
||||||
buildType' = if (build-type == "pr" || build-type == "e2e") then "pr" else "release"; /* PR builds shouldn't replace normal releases */
|
buildType' = if (build-type == "pr" || build-type == "e2e") then "pr" else "release"; /* PR builds shouldn't replace normal releases */
|
||||||
generatedApkPath = "android/app/build/outputs/apk/${buildType'}/app-${buildType'}.apk";
|
generatedApkPath = "$sourceRoot/android/app/build/outputs/apk/${buildType'}/app-${buildType'}.apk";
|
||||||
outApkName = "app.apk";
|
outApkName = "app.apk";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
|
@ -40,13 +40,23 @@ in stdenv.mkDerivation {
|
||||||
"resources"
|
"resources"
|
||||||
];
|
];
|
||||||
dirsToExclude = [ ".git" ".svn" "CVS" ".hg" ".gradle" "build" "intermediates" "libs" "obj" ];
|
dirsToExclude = [ ".git" ".svn" "CVS" ".hg" ".gradle" "build" "intermediates" "libs" "obj" ];
|
||||||
filesToInclude = [ envFileName "status-go-version.json" "VERSION" ];
|
filesToInclude = [ envFileName "status-go-version.json" "VERSION" "react-native.config.js" ];
|
||||||
root = path;
|
root = path;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [ bash gradle ] ++ lib.optionals stdenv.isDarwin [ file gnumake watchman ];
|
nativeBuildInputs = [ bash gradle unzip ] ++ lib.optionals stdenv.isDarwin [ file gnumake watchman ];
|
||||||
buildInputs = [ nodejs openjdk ];
|
buildInputs = [ nodejs openjdk ];
|
||||||
phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" ];
|
phases = [ "unpackPhase" "patchPhase" "buildPhase" "checkPhase" "installPhase" ];
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
|
||||||
|
cp -r $src ./project
|
||||||
|
chmod u+w -R ./project
|
||||||
|
|
||||||
|
export sourceRoot=$PWD/project
|
||||||
|
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
mkdir -p ${gradleHome}
|
mkdir -p ${gradleHome}
|
||||||
|
|
||||||
|
@ -62,7 +72,6 @@ in stdenv.mkDerivation {
|
||||||
cp -a --no-preserve=ownership ${sourceProjectDir}/android/ $sourceRoot/
|
cp -a --no-preserve=ownership ${sourceProjectDir}/android/ $sourceRoot/
|
||||||
chmod u+w $sourceRoot/android
|
chmod u+w $sourceRoot/android
|
||||||
chmod u+w $sourceRoot/android/app
|
chmod u+w $sourceRoot/android/app
|
||||||
chmod -R u+w $sourceRoot/android/.gradle
|
|
||||||
mkdir $sourceRoot/android/build && chmod -R u+w $sourceRoot/android/build
|
mkdir $sourceRoot/android/build && chmod -R u+w $sourceRoot/android/build
|
||||||
|
|
||||||
# Copy node_modules/ directory
|
# Copy node_modules/ directory
|
||||||
|
@ -76,13 +85,11 @@ in stdenv.mkDerivation {
|
||||||
prevSet=$-
|
prevSet=$-
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
substituteInPlace android/gradlew \
|
substituteInPlace $sourceRoot/android/gradlew \
|
||||||
--replace \
|
--replace \
|
||||||
'exec gradle' \
|
'exec gradle' \
|
||||||
"exec gradle -Dmaven.repo.local='${localMavenRepo}' --offline ${gradle-opts}"
|
"exec gradle -Dmaven.repo.local='${localMavenRepo}' --offline ${gradle-opts}"
|
||||||
|
|
||||||
# OPTIONAL: There's no need to forward debug ports for a release build, just disable it
|
|
||||||
|
|
||||||
set $prevSet
|
set $prevSet
|
||||||
'';
|
'';
|
||||||
buildPhase =
|
buildPhase =
|
||||||
|
@ -96,7 +103,7 @@ in stdenv.mkDerivation {
|
||||||
capitalizedBuildType = toUpper (substring 0 1 buildType') + substring 1 (-1) buildType';
|
capitalizedBuildType = toUpper (substring 0 1 buildType') + substring 1 (-1) buildType';
|
||||||
in ''
|
in ''
|
||||||
export STATUS_REACT_HOME=$PWD
|
export STATUS_REACT_HOME=$PWD
|
||||||
export HOME=$NIX_BUILD_TOP
|
export HOME=$sourceRoot
|
||||||
|
|
||||||
${exportEnvVars}
|
${exportEnvVars}
|
||||||
${if secrets-file != "" then "source ${secrets-file}" else ""}
|
${if secrets-file != "" then "source ${secrets-file}" else ""}
|
||||||
|
@ -104,12 +111,16 @@ in stdenv.mkDerivation {
|
||||||
${androidEnvShellHook}
|
${androidEnvShellHook}
|
||||||
${concatStrings (catAttrs "shellHook" [ mavenAndNpmDeps status-go ])}
|
${concatStrings (catAttrs "shellHook" [ mavenAndNpmDeps status-go ])}
|
||||||
|
|
||||||
pushd android
|
pushd $sourceRoot/android
|
||||||
${adhocEnvVars} ./gradlew -PversionCode=${build-number} assemble${capitalizedBuildType} || exit
|
${adhocEnvVars} ./gradlew -PversionCode=${build-number} assemble${capitalizedBuildType} || exit
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
${unsetEnvVars}
|
${unsetEnvVars}
|
||||||
'';
|
'';
|
||||||
|
doCheck = true;
|
||||||
|
checkPhase = ''
|
||||||
|
unzip -l ${generatedApkPath} | grep 'assets/index.android.bundle'
|
||||||
|
'';
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp ${generatedApkPath} $out/${outApkName}
|
cp ${generatedApkPath} $out/${outApkName}
|
||||||
|
|
|
@ -29,19 +29,21 @@ if [ -d "$nodeModulesDir" ]; then
|
||||||
if [ -f "$sentinelFilePath" ]; then
|
if [ -f "$sentinelFilePath" ]; then
|
||||||
existingPath="$(cat $sentinelFilePath)"
|
existingPath="$(cat $sentinelFilePath)"
|
||||||
if [ "${existingPath}" != "${deps}" ]; then
|
if [ "${existingPath}" != "${deps}" ]; then
|
||||||
echo "Yarn modules changed, copying over new version"
|
echo "Yarn modules changed, copying new version over"
|
||||||
else
|
else
|
||||||
echo "Checking for modifications in node_modules..."
|
echo "Checking for modifications in node_modules..."
|
||||||
modifiedFiles=( $(find $nodeModulesDir -writable -type f -newer $sentinelFilePath \
|
modifiedFiles=(
|
||||||
-not \( -path "$nodeModulesDir/react-native/third-party/*" -prune \
|
$(find $nodeModulesDir -writable -type f -newer $sentinelFilePath \
|
||||||
-o -path "$nodeModulesDir/react-native/ReactAndroid/build/*" -prune \
|
-not \( -path "$nodeModulesDir/react-native/ReactAndroid/build/*" -prune \
|
||||||
-o -path "$nodeModulesDir/*/android/build/*" -prune \
|
-o -path "$nodeModulesDir/*/android/build/*" -prune \) -print) )
|
||||||
-o -path './resources/icons/*' -prune \) -print) )
|
|
||||||
if [ ${#modifiedFiles[@]} -eq 0 ]; then
|
if [ ${#modifiedFiles[@]} -eq 0 ]; then
|
||||||
needCopyModules=0
|
needCopyModules=0
|
||||||
echo "No modifications detected."
|
echo "No modifications detected."
|
||||||
else
|
else
|
||||||
echo "Modifications detected in ${#modifiedFiles[@]} files:\n${modifiedFiles[@]}"
|
echo "Modifications detected in ${#modifiedFiles[@]} files:"
|
||||||
|
for f in ${modifiedFiles[@]}; do
|
||||||
|
echo "- $(realpath --relative-to=$STATUS_REACT_HOME $f)"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
module.exports = {
|
||||||
|
dependencies: {
|
||||||
|
'react-native-config': {
|
||||||
|
platforms: {
|
||||||
|
ios: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'react-native-dialogs': {
|
||||||
|
platforms: {
|
||||||
|
android: null,
|
||||||
|
ios: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'react-native-image-resizer': {
|
||||||
|
platforms: {
|
||||||
|
ios: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'react-native-status-keycard': {
|
||||||
|
platforms: {
|
||||||
|
android: null,
|
||||||
|
ios: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'react-native-webview-bridge': {
|
||||||
|
platforms: {
|
||||||
|
android: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
|
@ -33,7 +33,7 @@
|
||||||
(def react-native-shake (js/require "react-native-shake"))
|
(def react-native-shake (js/require "react-native-shake"))
|
||||||
(def react-native-screens (js/require "react-native-screens"))
|
(def react-native-screens (js/require "react-native-screens"))
|
||||||
(def net-info (js/require "@react-native-community/netinfo"))
|
(def net-info (js/require "@react-native-community/netinfo"))
|
||||||
(def mail-class (js/require "react-native-mail"))
|
(def mail-class (js/require "react-native-mail"))
|
||||||
(def react-native-mail (.-default mail-class))
|
(def react-native-mail (.-default mail-class))
|
||||||
(def desktop-linking #js {:addEventListener (fn [])})
|
(def desktop-linking #js {:addEventListener (fn [])})
|
||||||
(def desktop-menu #js {:addEventListener (fn [])})
|
(def desktop-menu #js {:addEventListener (fn [])})
|
||||||
|
|
|
@ -4,21 +4,23 @@
|
||||||
[clojure.walk :as walk]
|
[clojure.walk :as walk]
|
||||||
[status-im.react-native.js-dependencies :as js-dependencies]))
|
[status-im.react-native.js-dependencies :as js-dependencies]))
|
||||||
|
|
||||||
(def default-camera (.-default js-dependencies/camera))
|
(def default-camera
|
||||||
|
(-> js-dependencies/camera
|
||||||
|
(object/get "RNCamera")))
|
||||||
|
|
||||||
(defn constants [t]
|
(defn- constants [t]
|
||||||
(-> default-camera
|
(-> default-camera
|
||||||
(object/get "constants")
|
(object/get "Constants")
|
||||||
(object/get t)
|
(object/get t)
|
||||||
(js->clj)
|
(js->clj)
|
||||||
(walk/keywordize-keys)))
|
(walk/keywordize-keys)))
|
||||||
|
|
||||||
(def aspects (constants "Aspect"))
|
(def aspects (constants "Orientation"))
|
||||||
(def capture-targets (constants "CaptureTarget"))
|
(def capture-targets (constants "CaptureTarget"))
|
||||||
(def torch-modes (constants "TorchMode"))
|
(def torch-modes (constants "FlashMode"))
|
||||||
|
|
||||||
(defn set-torch [state]
|
(defn set-torch [state]
|
||||||
(set! (.-torchMode default-camera) (get torch-modes state)))
|
(set! (.-flashMode default-camera) (get torch-modes state)))
|
||||||
|
|
||||||
(defn request-access-ios [then else]
|
(defn request-access-ios [then else]
|
||||||
(-> (.checkVideoAuthorizationStatus default-camera)
|
(-> (.checkVideoAuthorizationStatus default-camera)
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
[status-im.ui.components.icons.vector-icons :as icons]))
|
[status-im.ui.components.icons.vector-icons :as icons]))
|
||||||
|
|
||||||
(defn image-captured [data]
|
(defn image-captured [data]
|
||||||
(let [path (.-path data)
|
(let [path (.-uri data)
|
||||||
_ (log/debug "Captured image: " path)
|
_ (log/debug "Captured image: " path)
|
||||||
on-success (fn [base64]
|
on-success (fn [base64]
|
||||||
(log/debug "Captured success: " base64)
|
(log/debug "Captured success: " base64)
|
||||||
|
@ -30,16 +30,16 @@
|
||||||
toolbar/default-nav-back
|
toolbar/default-nav-back
|
||||||
[toolbar/content-title (i18n/label :t/image-source-title)]]
|
[toolbar/content-title (i18n/label :t/image-source-title)]]
|
||||||
[camera/camera {:style {:flex 1}
|
[camera/camera {:style {:flex 1}
|
||||||
:aspect (:fill camera/aspects)
|
;:aspect (:fill camera/aspects)
|
||||||
:captureQuality "480p"
|
:captureQuality "480p"
|
||||||
:captureTarget (:disk camera/capture-targets)
|
;:captureTarget (:disk camera/capture-targets)
|
||||||
:type "front"
|
:type "front"
|
||||||
:ref #(reset! camera-ref %)}]
|
:ref #(reset! camera-ref %)}]
|
||||||
[react/view styles/button-container
|
[react/view styles/button-container
|
||||||
[react/view styles/button
|
[react/view styles/button
|
||||||
[react/touchable-highlight {:on-press (fn []
|
[react/touchable-highlight {:on-press (fn []
|
||||||
(let [camera @camera-ref]
|
(let [camera @camera-ref]
|
||||||
(-> (.capture camera)
|
(-> (.takePictureAsync camera)
|
||||||
(.then image-captured)
|
(.then image-captured)
|
||||||
(.catch #(log/debug "Error capturing image: " %)))))}
|
(.catch #(log/debug "Error capturing image: " %)))))}
|
||||||
[react/view
|
[react/view
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
(do (reset! barcode-read? true)
|
(do (reset! barcode-read? true)
|
||||||
(on-barcode-read identifier %))))
|
(on-barcode-read identifier %))))
|
||||||
:ref #(reset! camera-initialized? true)
|
:ref #(reset! camera-initialized? true)
|
||||||
:captureAudio false
|
|
||||||
:style styles/barcode-scanner}])
|
:style styles/barcode-scanner}])
|
||||||
[react/view styles/rectangle-container
|
[react/view styles/rectangle-container
|
||||||
[react/view styles/rectangle
|
[react/view styles/rectangle
|
||||||
|
|
|
@ -58,9 +58,7 @@
|
||||||
[react/with-activity-indicator
|
[react/with-activity-indicator
|
||||||
{}
|
{}
|
||||||
[camera/camera {:style styles/preview
|
[camera/camera {:style styles/preview
|
||||||
:aspect :fill
|
;:torchMode (camera/set-torch camera-flashlight)
|
||||||
:captureAudio false
|
|
||||||
:torchMode (camera/set-torch camera-flashlight)
|
|
||||||
:onBarCodeRead #(when-not @read-once?
|
:onBarCodeRead #(when-not @read-once?
|
||||||
(reset! read-once? true)
|
(reset! read-once? true)
|
||||||
(re-frame/dispatch [:wallet/fill-request-from-url (camera/get-qr-code-data %) :qr]))}]]
|
(re-frame/dispatch [:wallet/fill-request-from-url (camera/get-qr-code-data %) :qr]))}]]
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
(def action-button #js {:default #js {:Item #js {}}})
|
(def action-button #js {:default #js {:Item #js {}}})
|
||||||
(def config #js {:default #js {}})
|
(def config #js {:default #js {}})
|
||||||
(def camera #js {:default #js {:constants #js {}}})
|
(def camera #js {:RNCamera #js {:Constants #js {}}})
|
||||||
(def dialogs #js {})
|
(def dialogs #js {})
|
||||||
(def dismiss-keyboard #js {})
|
(def dismiss-keyboard #js {})
|
||||||
(def emoji-picker #js {:default #js {}})
|
(def emoji-picker #js {:default #js {}})
|
||||||
|
|
Loading…
Reference in New Issue