Migrate to RN 0.59.2

This commit is contained in:
Roman Volosovskyi 2019-03-04 14:38:41 +02:00
parent 76c2ad2bc4
commit 24a978d442
No known key found for this signature in database
GPG Key ID: 0238A4B5ECEE70DE
40 changed files with 1490 additions and 1925 deletions

View File

@ -35,9 +35,11 @@
[libs] [libs]
node_modules/react-native/Libraries/react-native/react-native-interface.js node_modules/react-native/Libraries/react-native/react-native-interface.js
node_modules/react-native/flow/ node_modules/react-native/flow/
node_modules/react-native/flow-github/
[options] [options]
esproposal.optional_chaining=enable
esproposal.nullish_coalescing=enable
module.system=haste module.system=haste
esproposal.class_static_fields=enable esproposal.class_static_fields=enable
@ -65,4 +67,4 @@ suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
[version] [version]
^0.63.0 ^0.92.0

1
.gitignore vendored
View File

@ -129,6 +129,7 @@ fastlane/README.md
/VERSION /VERSION
/package-lock.json /package-lock.json
/package.json /package.json
/metro.config.js
/yarn.lock /yarn.lock
/.re-natal /.re-natal
/re-natal /re-natal

View File

@ -11,21 +11,8 @@ import re
# #
lib_deps = [] lib_deps = []
for jarfile in glob(['libs/*.jar']): create_aar_targets(glob(["libs/*.aar"]))
name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) create_jar_targets(glob(["libs/*.jar"]))
lib_deps.append(':' + name)
prebuilt_jar(
name = name,
binary_jar = jarfile,
)
for aarfile in glob(['libs/*.aar']):
name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile)
lib_deps.append(':' + name)
android_prebuilt_aar(
name = name,
aar = aarfile,
)
android_library( android_library(
name = 'all-libs', name = 'all-libs',

View File

@ -3,6 +3,7 @@ apply plugin: "com.android.application"
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle" apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
import com.android.build.OutputFile import com.android.build.OutputFile
import com.sun.org.apache.xalan.internal.xsltc.compiler.Copy
/** /**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
@ -74,7 +75,7 @@ import com.android.build.OutputFile
* ] * ]
*/ */
project.ext.react = [ project.ext.react = [
nodeExecutableAndArgs: ["node", "--max-old-space-size=8192"], nodeExecutableAndArgs: ["node", "--max-old-space-size=16384"],
entryFile: "index.android.js" entryFile: "index.android.js"
] ]
@ -133,18 +134,23 @@ def getEnvOrConfig = { varName ->
android { android {
compileSdkVersion 28 compileSdkVersion 28
buildToolsVersion "28.0.3"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig { defaultConfig {
applicationId "im.status.ethereum" applicationId "im.status.ethereum"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 26 targetSdkVersion 28
multiDexEnabled true multiDexEnabled true
versionCode getVersionCode() versionCode getVersionCode()
versionName getVersionName() versionName getVersionName()
ndk { ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86" abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86-64"
} }
} }
/** /**
@ -209,7 +215,7 @@ android {
variant.outputs.each { output -> variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here: // For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2] def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86-64": 4]
def abi = output.getFilter(OutputFile.ABI) def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride = output.versionCodeOverride =
@ -257,7 +263,7 @@ dependencies {
} }
compile (project(':react-native-camera')) { compile (project(':react-native-camera')) {
exclude group: "com.google.android.gms" exclude group: "com.google.android.gms"
compile 'com.android.support:exifinterface:27.+' 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.firebase:firebase-core:16.0.3' //this decides your firebase SDK version
@ -266,15 +272,11 @@ dependencies {
compile 'com.github.status-im:function:0.0.1' compile 'com.github.status-im:function:0.0.1'
implementation fileTree(dir: "node_modules/realm/android/libs", include: ["*.jar"]) implementation fileTree(dir: "node_modules/realm/android/libs", include: ["*.jar"])
compile 'com.facebook.fresco:animated-gif:1.9.0' implementation 'com.facebook.fresco:animated-gif:1.10.0'
} }
// Run this once to be able to run the application with BUCK // Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use // puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
task hemroidBuild(type: Exec) { task hemroidBuild(type: Exec) {
def rootDir = project.rootDir def rootDir = project.rootDir

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:usesCleartextTraffic="true" />
</manifest>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">10.0.3.2</domain>
<domain includeSubdomains="true">10.0.2.2</domain>
</domain-config>
</network-security-config>

View File

@ -30,7 +30,8 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:name=".MainApplication" android:name=".MainApplication"
android:largeHeap="true"> android:largeHeap="true"
android:usesCleartextTraffic="true">
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" /> <meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
<meta-data <meta-data
android:name="com.google.firebase.messaging.default_notification_icon" android:name="com.google.firebase.messaging.default_notification_icon"

View File

@ -1,14 +1,23 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
repositories { repositories {
flatDir { dirs "libs", "${rootDir}/app/libs" } flatDir { dirs "libs", "${rootDir}/app/libs" }
google() google()
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.0.1' classpath 'com.android.tools.build:gradle:3.3.2'
classpath 'com.google.gms:google-services:4.1.0' // google-services downgraded from 4.1.0 because of
// 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
@ -16,6 +25,21 @@ buildscript {
} }
} }
subprojects {
afterEvaluate {
if (project.hasProperty("android")) {
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
targetSdkVersion 28
}
}
}
}
}
allprojects { allprojects {
repositories { repositories {
mavenLocal() mavenLocal()
@ -28,3 +52,4 @@ allprojects {
maven { url "https://jitpack.io" } maven { url "https://jitpack.io" }
} }
} }

View File

@ -17,7 +17,6 @@
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true # org.gradle.parallel=true
android.useDeprecatedNdk=true
# To create a new keystore for development purposes (https://developer.android.com/studio/publish/app-signing.html) # To create a new keystore for development purposes (https://developer.android.com/studio/publish/app-signing.html)
# $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
STATUS_RELEASE_STORE_FILE=~/.gradle/status-im.keystore STATUS_RELEASE_STORE_FILE=~/.gradle/status-im.keystore
@ -25,7 +24,4 @@ STATUS_RELEASE_STORE_PASSWORD=password
STATUS_RELEASE_KEY_ALIAS=status STATUS_RELEASE_KEY_ALIAS=status
STATUS_RELEASE_KEY_PASSWORD=password STATUS_RELEASE_KEY_PASSWORD=password
# Workaround for issue https://github.com/facebook/react-native/issues/16906 (TODO: fixed in 0.57.3, remove once we upgrade react-native)
android.enableAapt2=false
org.gradle.jvmargs=-Xmx8704M org.gradle.jvmargs=-Xmx8704M

Binary file not shown.

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

110
android/gradlew vendored
View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
############################################################################## ##############################################################################
## ##
@ -6,47 +6,6 @@
## ##
############################################################################## ##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME # Attempt to set APP_HOME
# Resolve links: $0 may be a link # Resolve links: $0 may be a link
PRG="$0" PRG="$0"
@ -61,9 +20,49 @@ while [ -h "$PRG" ] ; do
fi fi
done done
SAVED="`pwd`" SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&- cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`" APP_HOME="`pwd -P`"
cd "$SAVED" >&- cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
@ -90,7 +89,7 @@ location of your Java installation."
fi fi
# Increase the maximum file descriptors if we can. # Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n` MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@ -114,6 +113,7 @@ fi
if $cygwin ; then if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath # We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@ -154,11 +154,19 @@ if $cygwin ; then
esac esac
fi fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules # Escape application args
function splitJvmOpts() { save () {
JVM_OPTS=("$@") for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
} }
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS APP_ARGS=$(save "$@")
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" # Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

14
android/gradlew.bat vendored
View File

@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell @rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0 set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=. if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe @rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome if defined JAVA_HOME goto findJavaFromJavaHome
@ -46,10 +46,9 @@ echo location of your Java installation.
goto fail goto fail
:init :init
@rem Get command-line arguments, handling Windowz variants @rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args :win9xME_args
@rem Slurp the command line arguments. @rem Slurp the command line arguments.
@ -60,11 +59,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%* set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute :execute
@rem Setup the command line @rem Setup the command line

View File

@ -54,8 +54,8 @@ PODS:
- nanopb/decode (0.3.8) - nanopb/decode (0.3.8)
- nanopb/encode (0.3.8) - nanopb/encode (0.3.8)
- Protobuf (3.6.1) - Protobuf (3.6.1)
- React (0.56.0): - React (0.59.2):
- React/Core (= 0.56.0) - React/Core (= 0.59.2)
- react-native-background-timer (2.1.0-alpha.6): - react-native-background-timer (2.1.0-alpha.6):
- React - React
- react-native-camera (1.1.5): - react-native-camera (1.1.5):
@ -68,8 +68,8 @@ PODS:
- React - React
- react-native-webview (5.2.1): - react-native-webview (5.2.1):
- React - React
- React/Core (0.56.0): - React/Core (0.59.2):
- yoga (= 0.56.0.React) - yoga (= 0.59.2.React)
- RNKeychain (3.0.0-rc.3): - RNKeychain (3.0.0-rc.3):
- React - React
- SQLCipher (3.4.2): - SQLCipher (3.4.2):
@ -77,7 +77,7 @@ PODS:
- SQLCipher/common (3.4.2) - SQLCipher/common (3.4.2)
- SQLCipher/standard (3.4.2): - SQLCipher/standard (3.4.2):
- SQLCipher/common - SQLCipher/common
- yoga (0.56.0.React) - yoga (0.59.2.React)
DEPENDENCIES: DEPENDENCIES:
- Firebase/Core - Firebase/Core
@ -127,13 +127,13 @@ SPEC CHECKSUMS:
GoogleUtilities: 06b66f9567769a7958db20a92f0128b2843e49d5 GoogleUtilities: 06b66f9567769a7958db20a92f0128b2843e49d5
nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3 nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3
Protobuf: 1eb9700044745f00181c136ef21b8ff3ad5a0fd5 Protobuf: 1eb9700044745f00181c136ef21b8ff3ad5a0fd5
React: 1fe0eb13d90b625d94c3b117c274dcfd2e760e11 React: 1d605e098d69bdf08960787f3446f0a9dc2e2ccf
react-native-background-timer: bb7a98c8e97fc7c290de2d423dd09ddb73dcbcbb react-native-background-timer: bb7a98c8e97fc7c290de2d423dd09ddb73dcbcbb
react-native-camera: 68ad5143d2d0636236d46c7de8d2a6455ca52a36 react-native-camera: 68ad5143d2d0636236d46c7de8d2a6455ca52a36
react-native-webview: a42108b827082f8f0333529b0772102031d5960d react-native-webview: a42108b827082f8f0333529b0772102031d5960d
RNKeychain: 627c6095cef215dd3d9804a9a9cf45ab96aa3997 RNKeychain: 627c6095cef215dd3d9804a9a9cf45ab96aa3997
SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990 SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990
yoga: b1ce48b6cf950b98deae82838f5173ea7cf89e85 yoga: 128daf064cacaede0c3bb27424b6b4c71052e6cd
PODFILE CHECKSUM: 2e0971124458d413e18b407b2337bf2c1d32f357 PODFILE CHECKSUM: 2e0971124458d413e18b407b2337bf2c1d32f357

View File

@ -187,6 +187,34 @@
remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = RNFirebase; remoteInfo = RNFirebase;
}; };
4CB6B0F9223BA994003FA049 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = EDEBC6D6214B3E7000DD5AC8;
remoteInfo = jsi;
};
4CB6B0FB223BA994003FA049 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = EDEBC73B214B45A300DD5AC8;
remoteInfo = jsiexecutor;
};
4CB6B0FD223BA994003FA049 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = ED296FB6214C9A0900B7C4FE;
remoteInfo = "jsi-tvOS";
};
4CB6B0FF223BA994003FA049 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = ED296FEE214C9CF800B7C4FE;
remoteInfo = "jsiexecutor-tvOS";
};
5537E2A920650E640085CED4 /* PBXContainerItemProxy */ = { 5537E2A920650E640085CED4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
@ -390,20 +418,6 @@
remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4;
remoteInfo = "cxxreact-tvOS"; remoteInfo = "cxxreact-tvOS";
}; };
C90048071FC47AF50002B8EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4;
remoteInfo = jschelpers;
};
C90048091FC47AF50002B8EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4;
remoteInfo = "jschelpers-tvOS";
};
C900480B1FC47AF50002B8EA /* PBXContainerItemProxy */ = { C900480B1FC47AF50002B8EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
@ -432,20 +446,6 @@
remoteGlobalIDString = 3D383D621EBD27B9005632C8; remoteGlobalIDString = 3D383D621EBD27B9005632C8;
remoteInfo = "double-conversion-tvOS"; remoteInfo = "double-conversion-tvOS";
}; };
C90048131FC47AF50002B8EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 9936F3131F5F2E4B0010BF04;
remoteInfo = privatedata;
};
C90048151FC47AF50002B8EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04;
remoteInfo = "privatedata-tvOS";
};
C900481C1FC47AF50002B8EA /* PBXContainerItemProxy */ = { C900481C1FC47AF50002B8EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 305F194186D848FDB07AF34C /* RNFS.xcodeproj */; containerPortal = 305F194186D848FDB07AF34C /* RNFS.xcodeproj */;
@ -764,16 +764,16 @@
C90048021FC47AF50002B8EA /* libyoga.a */, C90048021FC47AF50002B8EA /* libyoga.a */,
C90048041FC47AF50002B8EA /* libcxxreact.a */, C90048041FC47AF50002B8EA /* libcxxreact.a */,
C90048061FC47AF50002B8EA /* libcxxreact.a */, C90048061FC47AF50002B8EA /* libcxxreact.a */,
C90048081FC47AF50002B8EA /* libjschelpers.a */,
C900480A1FC47AF50002B8EA /* libjschelpers.a */,
5537E2AA20650E640085CED4 /* libjsinspector.a */, 5537E2AA20650E640085CED4 /* libjsinspector.a */,
5537E2AC20650E640085CED4 /* libjsinspector-tvOS.a */, 5537E2AC20650E640085CED4 /* libjsinspector-tvOS.a */,
C900480C1FC47AF50002B8EA /* libthird-party.a */, C900480C1FC47AF50002B8EA /* libthird-party.a */,
C900480E1FC47AF50002B8EA /* libthird-party.a */, C900480E1FC47AF50002B8EA /* libthird-party.a */,
C90048101FC47AF50002B8EA /* libdouble-conversion.a */, C90048101FC47AF50002B8EA /* libdouble-conversion.a */,
C90048121FC47AF50002B8EA /* libdouble-conversion.a */, C90048121FC47AF50002B8EA /* libdouble-conversion.a */,
C90048141FC47AF50002B8EA /* libprivatedata.a */, 4CB6B0FA223BA994003FA049 /* libjsi.a */,
C90048161FC47AF50002B8EA /* libprivatedata-tvOS.a */, 4CB6B0FC223BA994003FA049 /* libjsiexecutor.a */,
4CB6B0FE223BA994003FA049 /* libjsi-tvOS.a */,
4CB6B100223BA994003FA049 /* libjsiexecutor-tvOS.a */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1427,6 +1427,34 @@
remoteRef = 475D1FBF20B7413500879A77 /* PBXContainerItemProxy */; remoteRef = 475D1FBF20B7413500879A77 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR; sourceTree = BUILT_PRODUCTS_DIR;
}; };
4CB6B0FA223BA994003FA049 /* libjsi.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libjsi.a;
remoteRef = 4CB6B0F9223BA994003FA049 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
4CB6B0FC223BA994003FA049 /* libjsiexecutor.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libjsiexecutor.a;
remoteRef = 4CB6B0FB223BA994003FA049 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
4CB6B0FE223BA994003FA049 /* libjsi-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libjsi-tvOS.a";
remoteRef = 4CB6B0FD223BA994003FA049 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
4CB6B100223BA994003FA049 /* libjsiexecutor-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libjsiexecutor-tvOS.a";
remoteRef = 4CB6B0FF223BA994003FA049 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
5537E2AA20650E640085CED4 /* libjsinspector.a */ = { 5537E2AA20650E640085CED4 /* libjsinspector.a */ = {
isa = PBXReferenceProxy; isa = PBXReferenceProxy;
fileType = archive.ar; fileType = archive.ar;
@ -1630,20 +1658,6 @@
remoteRef = C90048051FC47AF50002B8EA /* PBXContainerItemProxy */; remoteRef = C90048051FC47AF50002B8EA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR; sourceTree = BUILT_PRODUCTS_DIR;
}; };
C90048081FC47AF50002B8EA /* libjschelpers.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libjschelpers.a;
remoteRef = C90048071FC47AF50002B8EA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
C900480A1FC47AF50002B8EA /* libjschelpers.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libjschelpers.a;
remoteRef = C90048091FC47AF50002B8EA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
C900480C1FC47AF50002B8EA /* libthird-party.a */ = { C900480C1FC47AF50002B8EA /* libthird-party.a */ = {
isa = PBXReferenceProxy; isa = PBXReferenceProxy;
fileType = archive.ar; fileType = archive.ar;
@ -1672,20 +1686,6 @@
remoteRef = C90048111FC47AF50002B8EA /* PBXContainerItemProxy */; remoteRef = C90048111FC47AF50002B8EA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR; sourceTree = BUILT_PRODUCTS_DIR;
}; };
C90048141FC47AF50002B8EA /* libprivatedata.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libprivatedata.a;
remoteRef = C90048131FC47AF50002B8EA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
C90048161FC47AF50002B8EA /* libprivatedata-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libprivatedata-tvOS.a";
remoteRef = C90048151FC47AF50002B8EA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
C900481D1FC47AF50002B8EA /* libRNFS.a */ = { C900481D1FC47AF50002B8EA /* libRNFS.a */ = {
isa = PBXReferenceProxy; isa = PBXReferenceProxy;
fileType = archive.ar; fileType = archive.ar;
@ -1776,7 +1776,7 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "set -o errexit\nexport NODE_BINARY=\"node --max-old-space-size=8192\"\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; shellScript = "set -o errexit\nexport NODE_BINARY=\"node\"\nexport NODE_ARGS=\" --max-old-space-size=16384 \"\n../node_modules/react-native/scripts/react-native-xcode.sh\n";
}; };
2EAC54E16AB243C3EBBFE1BA /* [CP] Check Pods Manifest.lock */ = { 2EAC54E16AB243C3EBBFE1BA /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "0830" LastUpgradeVersion = "0940"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "NO" parallelizeBuildables = "NO"

View File

@ -1,5 +1,5 @@
/** /**
* Copyright (c) 2015-present, Facebook, Inc. * Copyright (c) Facebook, Inc. and its affiliates.
* All rights reserved. * All rights reserved.
* *
* This source code is licensed under the BSD-style license found in the * This source code is licensed under the BSD-style license found in the
@ -7,9 +7,10 @@
* of patent rights can be found in the PATENTS file in the same directory. * of patent rights can be found in the PATENTS file in the same directory.
*/ */
#import <React/RCTBridgeDelegate.h>
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate> @interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>
@property (nonatomic, strong) UIWindow *window; @property (nonatomic, strong) UIWindow *window;

View File

@ -1,5 +1,5 @@
/** /**
* Copyright (c) 2015-present, Facebook, Inc. * Copyright (c) Facebook, Inc. and its affiliates.
* All rights reserved. * All rights reserved.
* *
* This source code is licensed under the BSD-style license found in the * This source code is licensed under the BSD-style license found in the
@ -47,12 +47,10 @@
RCTSetLogThreshold(RCTLogLevelTrace); RCTSetLogThreshold(RCTLogLevelTrace);
} }
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"StatusIm" moduleName:@"StatusIm"
initialProperties:nil initialProperties:nil];
launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
@ -94,4 +92,13 @@
restorationHandler:restorationHandler]; restorationHandler:restorationHandler];
} }
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}
@end @end

View File

@ -1,5 +1,5 @@
/** /**
* Copyright (c) 2015-present, Facebook, Inc. * Copyright (c) Facebook, Inc. and its affiliates.
* All rights reserved. * All rights reserved.
* *
* This source code is licensed under the BSD-style license found in the * This source code is licensed under the BSD-style license found in the

View File

@ -1,5 +1,5 @@
/** /**
* Copyright (c) 2015-present, Facebook, Inc. * Copyright (c) Facebook, Inc. and its affiliates.
* All rights reserved. * All rights reserved.
* *
* This source code is licensed under the BSD-style license found in the * This source code is licensed under the BSD-style license found in the

View File

@ -1,3 +1,5 @@
{ {
"presets": ["react-native"] "presets": [
"module:metro-react-native-babel-preset"
]
} }

View File

@ -0,0 +1,22 @@
const { getDefaultConfig } = require("metro-config");
module.exports = (async () => {
const {
resolver: { sourceExts, assetExts }
} = await getDefaultConfig();
return {
transformer: {
babelTransformerPath: require.resolve("react-native-svg-transformer"),
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
resolver: {
assetExts: assetExts.filter(ext => ext !== "svg"),
sourceExts: [...sourceExts, "svg"]
}
};
})();

View File

@ -24,16 +24,16 @@
"events": "1.1.1", "events": "1.1.1",
"hi-base32": "0.5.0", "hi-base32": "0.5.0",
"homoglyph-finder": "1.1.1", "homoglyph-finder": "1.1.1",
"identicon.js": "git+https://github.com/status-im/identicon.js.git#v1.2.1-status",
"i18n-js": "^3.1.0", "i18n-js": "^3.1.0",
"identicon.js": "git+https://github.com/status-im/identicon.js.git#v1.2.1-status",
"js-sha3": "^0.8.0", "js-sha3": "^0.8.0",
"process": "0.11.10", "process": "0.11.10",
"prop-types": "15.6.0", "prop-types": "15.6.0",
"punycode": "1.4.1", "punycode": "1.4.1",
"querystring-es3": "0.2.1", "querystring-es3": "0.2.1",
"react": "16.4.1", "react": "16.8.3",
"react-dom": "16.4.2", "react-dom": "16.4.2",
"react-native": "git+https://github.com/status-im/react-native.git#0.56.1-status", "react-native": "git+https://github.com/status-im/react-native.git#status-v0.59.2",
"react-native-background-timer": "2.1.0-alpha.6", "react-native-background-timer": "2.1.0-alpha.6",
"react-native-camera": "git+https://github.com/status-im/react-native-camera.git#v1.1.5-1-status", "react-native-camera": "git+https://github.com/status-im/react-native-camera.git#v1.1.5-1-status",
"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",
@ -49,27 +49,25 @@
"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-os": "git+https://github.com/status-im/react-native-os.git#v1.1.0-1-status", "react-native-os": "git+https://github.com/status-im/react-native-os.git#v1.1.0-1-status",
"react-native-qrcode": "0.2.7", "react-native-qrcode": "git+https://github.com/status-im/react-native-qrcode.git#v0.2.8",
"react-native-randombytes": "3.5.0", "react-native-randombytes": "3.5.0",
"react-native-safe-area-view": "0.9.0", "react-native-safe-area-view": "0.9.0",
"react-native-securerandom": "git+https://github.com/status-im/react-native-securerandom.git#0.1.1-2", "react-native-securerandom": "git+https://github.com/status-im/react-native-securerandom.git#0.1.1-2",
"react-native-splash-screen": "3.1.1", "react-native-splash-screen": "3.1.1",
"react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#v2.3.10", "react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#v2.3.10",
"react-native-svg": "6.5.2", "react-native-svg": "^9.2.4",
"react-native-svg-transformer": "^0.12.1",
"react-native-tcp": "git+https://github.com/status-im/react-native-tcp.git#v3.3.0-1-status", "react-native-tcp": "git+https://github.com/status-im/react-native-tcp.git#v3.3.0-1-status",
"react-native-udp": "git+https://github.com/status-im/react-native-udp.git#2.3.1-1", "react-native-udp": "git+https://github.com/status-im/react-native-udp.git#2.3.1-1",
"react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#v0.33.16-6",
"react-native-webview": "^5.2.1", "react-native-webview": "^5.2.1",
"react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#fix/classnames-colision",
"react-navigation": "^2.12.1", "react-navigation": "^2.12.1",
"realm": "2.21.0", "realm": "^2.24.0",
"rn-snoopy": "git+https://github.com/status-im/rn-snoopy.git#v2.0.2-status", "rn-snoopy": "git+https://github.com/status-im/rn-snoopy.git#v2.0.2-status",
"string_decoder": "0.10.31", "string_decoder": "0.10.31",
"text-encoding": "^0.6.4", "text-encoding": "^0.6.4",
"url": "0.10.3", "url": "0.10.3",
"web3": "git+https://github.com/status-im/web3.js.git#0.20.2-status", "web3": "git+https://github.com/status-im/web3.js.git#0.20.2-status",
"web3-utils": "1.0.0-beta.36" "web3-utils": "1.0.0-beta.36"
},
"devDependencies": {
"@babel/core": "7.0.0-beta.47"
} }
} }

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 420 KiB

After

Width:  |  Height:  |  Size: 420 KiB

View File

@ -6,15 +6,15 @@
{ stdenv, fetchzip }: { stdenv, fetchzip }:
let let
ndk-version = "r10e"; ndk-version = "r17c";
archives = { archives = {
macosx = fetchzip { macosx = fetchzip {
url = "https://dl.google.com/android/repository/android-ndk-${ndk-version}-darwin-x86_64.zip"; url = "https://dl.google.com/android/repository/android-ndk-${ndk-version}-darwin-x86_64.zip";
sha256 = "0pqagwqrp6sw7l5hcbjs308wqnxyslnpr7x8svs58dlkzn70255q"; sha256 = "0299m2l8jp773r9y1l9jbyy4xw2mvsz8gqv5b409gwclq8apip1w";
}; };
linux = fetchzip { linux = fetchzip {
url = "https://dl.google.com/android/repository/android-ndk-${ndk-version}-linux-x86_64.zip"; url = "https://dl.google.com/android/repository/android-ndk-${ndk-version}-linux-x86_64.zip";
sha256 = "168dbhk7cvrri1b4jwskjqm5mj14cg6px7y7ycz4g9m8byqvqjhf"; sha256 = "02q1hy423syl868jdyaxjm44hn59cmni5019r811vinagvq3m7qi";
}; };
}; };

View File

@ -55,6 +55,9 @@ if [ ! -f .babelrc ] || [ $(readlink .babelrc) != "${PLATFORM_FOLDER}/.babelrc"
echo "Creating link: .babelrc -> ${PLATFORM_FOLDER}/.babelrc" echo "Creating link: .babelrc -> ${PLATFORM_FOLDER}/.babelrc"
ln -sf ${PLATFORM_FOLDER}/.babelrc .babelrc ln -sf ${PLATFORM_FOLDER}/.babelrc .babelrc
echo "Creating link: .babelrc -> ${PLATFORM_FOLDER}/.babelrc"
ln -sf ${PLATFORM_FOLDER}/metro.config.js metro.config.js
fi fi
yarn install --frozen-lockfile yarn install --frozen-lockfile

View File

@ -69,7 +69,8 @@
:hardwallet-card (js/require "./resources/images/ui/hardwallet-card.png") :hardwallet-card (js/require "./resources/images/ui/hardwallet-card.png")
:secret-keys (js/require "./resources/images/ui/secret-keys.png") :secret-keys (js/require "./resources/images/ui/secret-keys.png")
:keycard-lock (js/require "./resources/images/ui/keycard-lock.png") :keycard-lock (js/require "./resources/images/ui/keycard-lock.png")
:hold-card-animation (js/require "./resources/images/ui/hold-card-animation.png") :hold-card-animation (try (js/require "./resources/images/ui/hold-card-animation.gif")
(catch :default e))
:warning-sign (js/require "./resources/images/ui/warning-sign.png") :warning-sign (js/require "./resources/images/ui/warning-sign.png")
:phone-nfc-on (js/require "./resources/images/ui/phone-nfc-on.png") :phone-nfc-on (js/require "./resources/images/ui/phone-nfc-on.png")
:phone-nfc-off (js/require "./resources/images/ui/phone-nfc-off.png") :phone-nfc-off (js/require "./resources/images/ui/phone-nfc-off.png")

View File

@ -5,12 +5,21 @@
[status-im.utils.platform :as platform] [status-im.utils.platform :as platform]
[status-im.ui.components.tooltip.views :as tooltip])) [status-im.ui.components.tooltip.views :as tooltip]))
(defn merge-container-styles
[height container]
(let [merged-styles (merge (styles/input-container height) container)]
;; `:background-color` can't be nil; in this case the app will crash.
;; Nevertheless, we need to be able to remove background if necessary.
(if (nil? (:background-color merged-styles))
(dissoc merged-styles :background-color)
merged-styles)))
(defn text-input-with-label [{:keys [label content error style height container text] :as props}] (defn text-input-with-label [{:keys [label content error style height container text] :as props}]
[react/view [react/view
(when label (when label
[react/text {:style styles/label} [react/text {:style styles/label}
label]) label])
[react/view {:style (merge (styles/input-container height) container)} [react/view {:style (merge-container-styles height container)}
[react/text-input [react/text-input
(merge (merge
{:style (merge styles/input style) {:style (merge styles/input style)

View File

@ -110,7 +110,8 @@
{:should-component-update (fn [_ _ args] {:should-component-update (fn [_ _ args]
(let [[_ props] args] (let [[_ props] args]
(not (nil? (:url props)))))} (not (nil? (:url props)))))}
[react/view {:flex 1} [react/view {:flex 1
:elevation -10}
[react/view components.styles/flex [react/view components.styles/flex
(if unsafe? (if unsafe?
[site-blocked.views/view {:can-go-back? can-go-back? [site-blocked.views/view {:can-go-back? can-go-back?

View File

@ -111,7 +111,7 @@
(defview reply-message [from message-text] (defview reply-message [from message-text]
(letsubs [username [:contacts/contact-name-by-identity from] (letsubs [username [:contacts/contact-name-by-identity from]
current-public-key [:account/public-key]] current-public-key [:account/public-key]]
[react/view {:style style/reply-message-content} [react/scroll-view {:style style/reply-message-content}
(chat-utils/format-reply-author from username current-public-key style/reply-message-author) (chat-utils/format-reply-author from username current-public-key style/reply-message-author)
[react/text {:style (message-style/style-message-text false)} message-text]])) [react/text {:style (message-style/style-message-text false)} message-text]]))

View File

@ -33,9 +33,7 @@
(def reply-message-content (def reply-message-content
{:flex-direction :column {:flex-direction :column
:padding-left 7 :padding-left 7
:margin-right 30 :max-height 140})
:max-height 140
:overflow :scroll})
(defn reply-message-author [chosen?] (defn reply-message-author [chosen?]
(assoc (message-author-name chosen?) (assoc (message-author-name chosen?)

View File

@ -1,4 +1,5 @@
(ns status-im.ui.screens.qr-scanner.styles (ns status-im.ui.screens.qr-scanner.styles
(:require-macros [status-im.utils.styles :as styles])
(:require [status-im.ui.components.colors :as colors] (:require [status-im.ui.components.colors :as colors]
[status-im.ui.components.toolbar.styles :as toolbar.styles])) [status-im.ui.components.toolbar.styles :as toolbar.styles]))
@ -6,8 +7,10 @@
{:flex 1 {:flex 1
:background-color :white}) :background-color :white})
(def barcode-scanner (styles/defstyle barcode-scanner
{:flex 1}) {:flex 1
:elevation -10
:android {:marginTop 10}})
(def rectangle-container (def rectangle-container
{:position :absolute {:position :absolute

View File

@ -13,7 +13,7 @@
(defview qr-scanner-toolbar [title identifier] (defview qr-scanner-toolbar [title identifier]
[react/view [react/view
[status-bar/status-bar] [status-bar/status-bar]
[toolbar/toolbar nil [toolbar/toolbar {:style {:background-color :white}}
[toolbar/nav-button (actions/back [toolbar/nav-button (actions/back
#(do #(do
(re-frame/dispatch [:qr-scanner.callback/scan-qr-code-cancel identifier]) (re-frame/dispatch [:qr-scanner.callback/scan-qr-code-cancel identifier])

View File

@ -37,7 +37,8 @@
(when (and (not (zero? price))) ;(not no-snt?)) (when (and (not (zero? price))) ;(not no-snt?))
[icons/icon :icons/logo {:color colors/white :width 12 :height 12 :container-style {:margin-right 8}}]) [icons/icon :icons/logo {:color colors/white :width 12 :height 12 :container-style {:margin-right 8}}])
(if pending (if pending
[components/activity-indicator {:animating true}] [components/activity-indicator {:animating true
:color colors/white}]
[react/text {:style {:color colors/white}} [react/text {:style {:color colors/white}}
(cond (or owned (zero? price)) (cond (or owned (zero? price))
(i18n/label :t/install) (i18n/label :t/install)

View File

@ -60,7 +60,7 @@ class ChatElement(BaseButton):
class DeleteButton(BaseButton): class DeleteButton(BaseButton):
def __init__(self, driver, parent_locator: str): def __init__(self, driver, parent_locator: str):
super(DeleteButton, self).__init__(driver) super(DeleteButton, self).__init__(driver)
locator_str = "/..//*[@content-desc='icon']" locator_str = "/../..//*[@content-desc='icon']"
self.locator = self.Locator.xpath_selector(parent_locator + locator_str) self.locator = self.Locator.xpath_selector(parent_locator + locator_str)
return DeleteButton(self.driver, self.locator.value) return DeleteButton(self.driver, self.locator.value)

View File

@ -105,14 +105,14 @@ class UserNameSetByUserText(BaseText):
def __init__(self, driver): def __init__(self, driver):
super(UserNameSetByUserText, self).__init__(driver) super(UserNameSetByUserText, self).__init__(driver)
self.locator = self.Locator.xpath_selector( self.locator = self.Locator.xpath_selector(
'//android.widget.ImageView[@content-desc="chat-icon"]/../../android.widget.TextView[1]') '//android.widget.ImageView[@content-desc="chat-icon"]/../android.widget.TextView[1]')
class DefaultUserNameText(BaseText): class DefaultUserNameText(BaseText):
def __init__(self, driver): def __init__(self, driver):
super(DefaultUserNameText, self).__init__(driver) super(DefaultUserNameText, self).__init__(driver)
self.locator = self.Locator.xpath_selector( self.locator = self.Locator.xpath_selector(
'//android.widget.ImageView[@content-desc="chat-icon"]/../../android.widget.TextView[2]') '//android.widget.ImageView[@content-desc="chat-icon"]/../android.widget.TextView[2]')
class ShareMyProfileButton(BaseButton): class ShareMyProfileButton(BaseButton):

View File

@ -271,7 +271,7 @@ class WalletView(BaseView):
def send_transaction(self, **kwargs): def send_transaction(self, **kwargs):
send_transaction_view = self.send_transaction_button.click() send_transaction_view = self.send_transaction_button.click()
send_transaction_view.select_asset_button.click() send_transaction_view.select_asset_button.click()
asset_name = kwargs.get('asset_name', 'ETHro') asset_name = kwargs.get('asset_name', 'ETHro').upper()
asset_button = send_transaction_view.asset_by_name(asset_name) asset_button = send_transaction_view.asset_by_name(asset_name)
send_transaction_view.select_asset_button.click_until_presence_of_element(asset_button) send_transaction_view.select_asset_button.click_until_presence_of_element(asset_button)
asset_button.click() asset_button.click()