diff --git a/.flowconfig b/.flowconfig
index ee340094c2..e28e2f5bd5 100644
--- a/.flowconfig
+++ b/.flowconfig
@@ -1,70 +1,13 @@
[ignore]
# We fork some components by platform.
-.*/*.web.js
.*/*.android.js
-# Some modules have their own node_modules with overlap
-.*/node_modules/node-haste/.*
-
-# Ugh
-.*/node_modules/babel.*
-.*/node_modules/babylon.*
-.*/node_modules/invariant.*
-
-# Ignore react and fbjs where there are overlaps, but don't ignore
-# anything that react-native relies on
-.*/node_modules/fbjs/lib/Map.js
-.*/node_modules/fbjs/lib/fetch.js
-.*/node_modules/fbjs/lib/ExecutionEnvironment.js
-.*/node_modules/fbjs/lib/ErrorUtils.js
-
-# Flow has a built-in definition for the 'react' module which we prefer to use
-# over the currently-untyped source
-.*/node_modules/react/react.js
-.*/node_modules/react/lib/React.js
-.*/node_modules/react/lib/ReactDOM.js
-
-.*/__mocks__/.*
-.*/__tests__/.*
-
-.*/commoner/test/source/widget/share.js
-
-# Ignore commoner tests
-.*/node_modules/commoner/test/.*
-
-# See https://github.com/facebook/flow/issues/442
-.*/react-tools/node_modules/commoner/lib/reader.js
-
-# Ignore jest
-.*/node_modules/jest-cli/.*
-
-# Ignore Website
-.*/website/.*
-
-# Ignore generators
+# Ignore templates with `@flow` in header
.*/local-cli/generator.*
-# Ignore BUCK generated folders
-.*\.buckd/
-
-.*/node_modules/is-my-json-valid/test/.*\.json
-.*/node_modules/iconv-lite/encodings/tables/.*\.json
+# Ignore malformed json
.*/node_modules/y18n/test/.*\.json
-.*/node_modules/spdx-license-ids/spdx-license-ids.json
-.*/node_modules/spdx-exceptions/index.json
-.*/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json
-.*/node_modules/resolve/lib/core.json
-.*/node_modules/jsonparse/samplejson/.*\.json
-.*/node_modules/json5/test/.*\.json
-.*/node_modules/ua-parser-js/test/.*\.json
-.*/node_modules/builtin-modules/builtin-modules.json
-.*/node_modules/binary-extensions/binary-extensions.json
-.*/node_modules/url-regex/tlds.json
-.*/node_modules/joi/.*\.json
-.*/node_modules/isemail/.*\.json
-.*/node_modules/tr46/.*\.json
-
[include]
@@ -79,18 +22,20 @@ module.system=haste
esproposal.class_static_fields=enable
esproposal.class_instance_fields=enable
+experimental.strict_type_args=true
+
munge_underscores=true
module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub'
-module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\)$' -> 'RelativeImageStub'
+module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub'
suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FixMe
-suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-2]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
-suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-2]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
+suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
+suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
[version]
-^0.22.0
+^0.27.0
diff --git a/.re-natal b/.re-natal
index 3df6476527..29e05a1828 100644
--- a/.re-natal
+++ b/.re-natal
@@ -1,13 +1,12 @@
{
"name": "StatusIm",
"interface": "reagent",
- "androidHost": "10.0.3.2",
+ "androidHost": "localhost",
"modules": [
"react-native-contacts",
"react-native-invertible-scroll-view",
"awesome-phonenumber",
"realm",
- "react-native-loading-spinner-overlay",
"react-native-i18n",
"realm/react-native",
"react-native-action-button",
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 0682d5fac0..a1d00ae137 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -120,7 +120,8 @@ android {
}
dependencies {
- compile project(':randombytes')
+ compile project(':react-native-randombytes')
+ compile project(':react-native-android-sms-listener')
compile project(':realm')
compile project(':react-native-vector-icons')
compile fileTree(dir: "libs", include: ["*.jar"])
@@ -129,7 +130,6 @@ dependencies {
compile project(':react-native-contacts')
compile project(':react-native-i18n')
compile project(':react-native-linear-gradient')
- compile project(':ReactNativeAndroidSmsListener')
compile project(':react-native-camera')
compile project(':react-native-status')
compile project(':react-native-orientation')
diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro
index 7d72e46927..48361a9015 100644
--- a/android/app/proguard-rules.pro
+++ b/android/app/proguard-rules.pro
@@ -26,11 +26,14 @@
# See http://sourceforge.net/p/proguard/bugs/466/
-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
+-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
# Do not strip any method/class that is annotated with @DoNotStrip
-keep @com.facebook.proguard.annotations.DoNotStrip class *
+-keep @com.facebook.common.internal.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.proguard.annotations.DoNotStrip *;
+ @com.facebook.common.internal.DoNotStrip *;
}
-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
@@ -51,9 +54,9 @@
-keepattributes Signature
-keepattributes *Annotation*
--keep class com.squareup.okhttp.** { *; }
--keep interface com.squareup.okhttp.** { *; }
--dontwarn com.squareup.okhttp.**
+-keep class okhttp3.** { *; }
+-keep interface okhttp3.** { *; }
+-dontwarn okhttp3.**
# okio
@@ -61,7 +64,3 @@
-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn okio.**
-
-# stetho
-
--dontwarn com.facebook.stetho.**
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 05008651d2..8131fa84ff 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,32 +1,33 @@
+ package="com.statusim">
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+ android:allowBackup="true"
+ android:label="@string/app_name"
+ android:icon="@mipmap/ic_launcher"
+ android:theme="@style/AppTheme"
+ android:name=".MainApplication">
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/assets/fonts/Ionicons.ttf b/android/app/src/main/assets/fonts/Ionicons.ttf
index c4e4632486..307ad889aa 100644
Binary files a/android/app/src/main/assets/fonts/Ionicons.ttf and b/android/app/src/main/assets/fonts/Ionicons.ttf differ
diff --git a/android/app/src/main/java/com/statusim/MainActivity.java b/android/app/src/main/java/com/statusim/MainActivity.java
index 81a745793a..cc26f91d5f 100644
--- a/android/app/src/main/java/com/statusim/MainActivity.java
+++ b/android/app/src/main/java/com/statusim/MainActivity.java
@@ -1,38 +1,17 @@
package com.statusim;
-import com.facebook.react.ReactActivity;
-import com.statusim.geth.module.GethPackage;
-import io.realm.react.RealmReactPackage;
-import com.oblador.vectoricons.VectorIconsPackage;
-import com.facebook.react.ReactPackage;
-import com.facebook.react.shell.MainReactPackage;
-import com.rt2zz.reactnativecontacts.ReactNativeContacts;
-import android.os.Bundle;
import android.app.AlertDialog;
import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnCancelListener;
+import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
-
-import com.bitgo.randombytes.RandomBytesPackage;
-import com.BV.LinearGradient.LinearGradientPackage;
-import com.centaurwarchief.smslistener.SmsListener;
-import com.github.yamill.orientation.OrientationPackage;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-import java.io.File;
-import com.statusim.Jail.JailPackage;
-
-import com.lwansbrough.RCTCamera.*;
-import com.i18n.reactnativei18n.ReactNativeI18n;
import android.content.res.Configuration;
+import android.os.Bundle;
+import com.facebook.react.ReactActivity;
-import com.rnfs.RNFSPackage;
+import java.util.Properties;
public class MainActivity extends ReactActivity {
-
private static final String TAG = "MainActivity";
protected void startStatus() {
@@ -46,29 +25,34 @@ public class MainActivity extends ReactActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- if(!RootUtil.isDeviceRooted()) {
+ if (!RootUtil.isDeviceRooted()) {
startStatus();
} else {
- AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).setMessage(getResources().getString(R.string.root_warning))
+ AlertDialog dialog = new AlertDialog.Builder(MainActivity.this)
+ .setMessage(getResources().getString(R.string.root_warning))
.setPositiveButton(getResources().getString(R.string.root_okay), new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
startStatus();
}
- }).setNegativeButton(getResources().getString(R.string.root_cancel), new OnClickListener() {
+ })
+ .setNegativeButton(getResources().getString(R.string.root_cancel), new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
MainActivity.this.finishAffinity();
}
- }).setOnCancelListener(new OnCancelListener() {
+ })
+ .setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
dialog.dismiss();
MainActivity.this.finishAffinity();
}
- }).create();
+ })
+ .create();
+
dialog.show();
}
}
@@ -87,38 +71,6 @@ public class MainActivity extends ReactActivity {
return "StatusIm";
}
- /**
- * Returns whether dev mode should be enabled.
- * This enables e.g. the dev menu.
- */
- @Override
- protected boolean getUseDeveloperSupport() {
- return BuildConfig.DEBUG;
- }
-
- /**
- * A list of packages used by the app. If the app uses additional views
- * or modules besides the default ones, add more packages here.
- */
- @Override
- protected List getPackages() {
- return Arrays.asList(
- new MainReactPackage(),
- new JailPackage(this),
- new RealmReactPackage(),
- new VectorIconsPackage(),
- new ReactNativeContacts(),
- new ReactNativeI18n(),
- new RandomBytesPackage(),
- new LinearGradientPackage(),
- new RCTCameraPackage(),
- new SmsListener(this),
- new OrientationPackage(this),
- new RNFSPackage(),
- new GethPackage()
- );
- }
-
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
diff --git a/android/app/src/main/java/com/statusim/MainApplication.java b/android/app/src/main/java/com/statusim/MainApplication.java
new file mode 100644
index 0000000000..ae3045e59a
--- /dev/null
+++ b/android/app/src/main/java/com/statusim/MainApplication.java
@@ -0,0 +1,58 @@
+package com.statusim;
+
+import android.app.Application;
+
+import com.facebook.react.ReactApplication;
+import com.facebook.react.ReactNativeHost;
+import com.facebook.react.ReactPackage;
+import com.facebook.react.shell.MainReactPackage;
+
+import com.statusim.Jail.JailPackage;
+import io.realm.react.RealmReactPackage;
+import com.oblador.vectoricons.VectorIconsPackage;
+import com.rt2zz.reactnativecontacts.ReactNativeContacts;
+import com.i18n.reactnativei18n.ReactNativeI18n;
+import com.bitgo.randombytes.RandomBytesPackage;
+import com.BV.LinearGradient.LinearGradientPackage;
+import com.lwansbrough.RCTCamera.*;
+import com.centaurwarchief.smslistener.SmsListenerPackage;
+import com.github.yamill.orientation.OrientationPackage;
+import com.rnfs.RNFSPackage;
+import com.statusim.geth.module.GethPackage;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class MainApplication extends Application implements ReactApplication {
+
+ private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
+ @Override
+ protected boolean getUseDeveloperSupport() {
+ return BuildConfig.DEBUG;
+ }
+
+ @Override
+ protected List getPackages() {
+ return Arrays.asList(
+ new MainReactPackage(),
+ new JailPackage(),
+ new RealmReactPackage(),
+ new VectorIconsPackage(),
+ new ReactNativeContacts(),
+ new ReactNativeI18n(),
+ new RandomBytesPackage(),
+ new LinearGradientPackage(),
+ new RCTCameraPackage(),
+ new SmsListenerPackage(),
+ new OrientationPackage(),
+ new RNFSPackage(),
+ new GethPackage()
+ );
+ }
+ };
+
+ @Override
+ public ReactNativeHost getReactNativeHost() {
+ return mReactNativeHost;
+ }
+}
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 428623ba43..90015aba8f 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -1,4 +1,6 @@
+
+
Status
Your phone appears to be ROOTED, by pressing CONTINUE you understand and accept the risks in using this software.
Continue
diff --git a/android/build.gradle b/android/build.gradle
index 3bd68882a8..fec9574948 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -18,7 +18,7 @@ allprojects {
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
- url "$projectDir/../../node_modules/react-native/android"
+ url "$rootDir/../node_modules/react-native/android"
}
// for geth
flatDir {
diff --git a/android/settings.gradle b/android/settings.gradle
index 77a38a09cf..df86d401f0 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -1,31 +1,25 @@
rootProject.name = 'StatusIm'
include ':app'
-
+include ':react-native-randombytes'
+project(':react-native-randombytes').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-randombytes/android')
+include ':react-native-android-sms-listener'
+project(':react-native-android-sms-listener').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-sms-listener/android')
include ':react-native-contacts'
project(':react-native-contacts').projectDir = new File(settingsDir, '../node_modules/react-native-contacts/android')
-
include ':react-native-i18n'
project(':react-native-i18n').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-i18n/android')
-// realm dependency
include ':react-native-vector-icons'
project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
include ':realm'
project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')
-include ':randombytes'
-project(':randombytes').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-randombytes/android')
include ':react-native-linear-gradient'
project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android')
-include ':ReactNativeAndroidSmsListener'
-project(':ReactNativeAndroidSmsListener').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-sms-listener/android')
-
include ':react-native-status'
project(':react-native-status').projectDir = new File(rootProject.projectDir, '../node_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-orientation', ':app'
project(':react-native-orientation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-orientation/android')
-
include ':react-native-fs'
project(':react-native-fs').projectDir = new File(settingsDir, '../node_modules/react-native-fs/android')
diff --git a/env/dev/env/android/main.cljs b/env/dev/env/android/main.cljs
index f0c3d96fca..1bf474e505 100644
--- a/env/dev/env/android/main.cljs
+++ b/env/dev/env/android/main.cljs
@@ -10,7 +10,7 @@
(def root-el (r/as-element [reloader]))
(figwheel/watch-and-reload
- :websocket-url "ws://10.0.3.2:3449/figwheel-ws"
+ :websocket-url "ws://localhost:3449/figwheel-ws"
:heads-up-display false
:jsload-callback #(swap! cnt inc))
diff --git a/figwheel-bridge.js b/figwheel-bridge.js
index 6a36687e4e..6c02270954 100644
--- a/figwheel-bridge.js
+++ b/figwheel-bridge.js
@@ -5,6 +5,7 @@
*/
var CLOSURE_UNCOMPILED_DEFINES = null;
+var debugEnabled = false;
var config = {
basePath: "target/",
@@ -12,14 +13,26 @@ var config = {
serverPort: 8081
};
-var React = require('react-native');
+var React = require('react');
+var ReactNative = require('react-native');
+var WebSocket = require('WebSocket');
var self;
var scriptQueue = [];
var serverHost = null; // will be set dynamically
var fileBasePath = null; // will be set dynamically
var evaluate = eval; // This is needed, direct calls to eval does not work (RN packager???)
var externalModules = {};
-var evalListeners = []; // functions to be called when a script is evaluated
+var evalListeners = [ // Functions to be called after each js file is loaded and evaluated
+ function (url) {
+ if (url.indexOf('jsloader') > -1) {
+ shimJsLoader();
+ }
+ },
+ function (url) {
+ if (url.indexOf('/figwheel/client/socket') > -1) {
+ setCorrectWebSocketImpl();
+ }
+ }];
var figwheelApp = function (platform, devHost) {
return React.createClass({
@@ -30,9 +43,9 @@ var figwheelApp = function (platform, devHost) {
if (!this.state.loaded) {
var plainStyle = {flex: 1, alignItems: 'center', justifyContent: 'center'};
return (
-
- Waiting for Figwheel to load files.
-
+
+ Waiting for Figwheel to load files.
+
);
}
return this.state.root;
@@ -40,7 +53,7 @@ var figwheelApp = function (platform, devHost) {
componentDidMount: function () {
var app = this;
if (typeof goog === "undefined") {
- loadApp(platform, devHost, function(appRoot) {
+ loadApp(platform, devHost, function (appRoot) {
app.setState({root: appRoot, loaded: true})
});
}
@@ -48,20 +61,25 @@ var figwheelApp = function (platform, devHost) {
})
};
+function logDebug(msg) {
+ if (debugEnabled) {
+ console.log(msg);
+ }
+}
+
// evaluates js code ensuring proper ordering
function customEval(url, javascript, success, error) {
if (scriptQueue.length > 0) {
if (scriptQueue[0] === url) {
try {
evaluate(javascript);
- console.info('Evaluated: ' + url);
+ logDebug('Evaluated: ' + url);
scriptQueue.shift();
evalListeners.forEach(function (listener) {
listener(url)
});
success();
} catch (e) {
- console.error('Evaluation error in: ' + url);
console.error(e);
error();
}
@@ -81,7 +99,7 @@ var isChrome = function () {
};
function asyncImportScripts(url, success, error) {
- console.info('(asyncImportScripts) Importing: ' + url);
+ logDebug('(asyncImportScripts) Importing: ' + url);
scriptQueue.push(url);
fetch(url)
.then(function (response) {
@@ -91,7 +109,6 @@ function asyncImportScripts(url, success, error) {
return customEval(url, responseText, success, error);
})
.catch(function (error) {
- console.error('Error loading script, please check your config setup.');
console.error(error);
return error();
});
@@ -100,12 +117,13 @@ function asyncImportScripts(url, success, error) {
function syncImportScripts(url, success, error) {
try {
importScripts(url);
- console.info('Evaluated: ' + url);
+ logDebug('Evaluated: ' + url);
evalListeners.forEach(function (listener) {
listener(url)
});
success();
} catch (e) {
+ console.error(e);
error()
}
}
@@ -123,7 +141,7 @@ function importJs(src, success, error) {
var file = fileBasePath + '/' + src;
- console.info('(importJs) Importing: ' + file);
+ logDebug('(importJs) Importing: ' + file);
if (isChrome()) {
syncImportScripts(serverBaseUrl("localhost") + '/' + file, success, error);
} else {
@@ -143,32 +161,39 @@ function interceptRequire() {
};
}
-// do not show debug messages in yellow box
-function debugToLog() {
- console.debug = console.log;
+function compileWarningsToYellowBox() {
+ var log = window.console.log;
+ var compileWarningRx = /Figwheel: Compile/;
+ window.console.log = function (msg) {
+ if (compileWarningRx.test(msg)) {
+ console.warn(msg);
+ } else {
+ log.apply(window.console, arguments);
+ }
+ };
}
function serverBaseUrl(host) {
return "http://" + host + ":" + config.serverPort
}
+function setCorrectWebSocketImpl() {
+ figwheel.client.socket.get_websocket_imp = function () {
+ return WebSocket;
+ };
+}
+
function loadApp(platform, devHost, onLoadCb) {
serverHost = devHost;
fileBasePath = config.basePath + platform;
- evalListeners.push(function (url) {
- if (url.indexOf('jsloader') > -1) {
- shimJsLoader();
- }
- });
-
// callback when app is ready to get the reloadable component
var mainJs = '/env/' + platform + '/main.js';
var mainTestJs = '/env/' + platform + '_test/main.js';
evalListeners.push(function (url) {
if (url.indexOf(mainJs) > -1) {
onLoadCb(env[platform].main.root_el);
- console.log('Done loading Clojure app');
+ console.info('Done loading Clojure app');
}
if (url.indexOf(mainTestJs) > -1) {
@@ -178,14 +203,13 @@ function loadApp(platform, devHost, onLoadCb) {
});
if (typeof goog === "undefined") {
- console.log('Loading Closure base.');
+ console.info('Loading Closure base.');
interceptRequire();
+ compileWarningsToYellowBox();
importJs('goog/base.js', function () {
shimBaseGoog();
- fakeLocalStorageAndDocument();
importJs('cljs_deps.js');
importJs('goog/deps.js', function () {
- debugToLog();
// This is needed because of RN packager
// seriously React packager? why.
var googreq = goog.require;
@@ -197,7 +221,7 @@ function loadApp(platform, devHost, onLoadCb) {
}
function startApp(appName, platform, devHost) {
- React.AppRegistry.registerComponent(
+ ReactNative.AppRegistry.registerComponent(
appName, () => figwheelApp(platform, devHost));
}
@@ -215,39 +239,6 @@ function shimBaseGoog() {
importJs(src);
return true;
};
- goog.inHtmlDocument_ = function () {
- return true;
- };
-}
-
-function fakeLocalStorageAndDocument() {
- window.localStorage = {};
- window.localStorage.getItem = function () {
- return 'true';
- };
- window.localStorage.setItem = function () {
- };
-
- window.document = {};
- window.document.body = {};
- window.document.body.dispatchEvent = function () {
- };
- window.document.createElement = function () {
- };
-
- if (typeof window.location === 'undefined') {
- window.location = {};
- }
- console.debug = console.warn;
- window.addEventListener = function () {
- };
- // make figwheel think that heads-up-display divs are there
- window.document.querySelector = function (selector) {
- return {};
- };
- window.document.getElementById = function (id) {
- return {style:{}};
- };
}
// Figwheel fixes
diff --git a/ios/StatusIm.xcodeproj/project.pbxproj b/ios/StatusIm.xcodeproj/project.pbxproj
index d933ac7b4f..86af60ba25 100644
--- a/ios/StatusIm.xcodeproj/project.pbxproj
+++ b/ios/StatusIm.xcodeproj/project.pbxproj
@@ -13,6 +13,7 @@
00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; };
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; };
00E356F31AD99517003FC87E /* StatusImTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StatusImTests.m */; };
+ 0F942CF509F74CCDB5CB35B0 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 54E2B86FB12D4CC49DA05C69 /* MaterialIcons.ttf */; };
133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; };
139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; };
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; };
@@ -21,7 +22,25 @@
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
+ 213311F38CA74CE280FD09AD /* libRNI18n.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 52F6ED6465184513A082652B /* libRNI18n.a */; };
+ 22118DE1207A419FBFE7B62D /* libRealmReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD48A32459B64E96843BB238 /* libRealmReact.a */; };
+ 25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */; };
+ 4D3D740D5EFA4F8592B048D7 /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DF1CD4C3D1254774ACCAE4E8 /* libBVLinearGradient.a */; };
+ 4FFAE7B0414A463991039A2E /* libRNRandomBytes.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C55F15EB4D4DAF9202A662 /* libRNRandomBytes.a */; };
+ 67F099D82798449FADF8358A /* libRCTOrientation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5535217F57E44D77AA9CF083 /* libRCTOrientation.a */; };
+ 6CE6374707AC4EC788354DD1 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 11632AA0A5F84F029DD91797 /* libRNVectorIcons.a */; };
+ 74242ACAF37A48D0BFACDE82 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2756305FAFF144C4A6B0A039 /* Zocial.ttf */; };
+ 82E689BAF9FB43C8AC6FF1CA /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CEB0E2659D1A4F5FA842057A /* EvilIcons.ttf */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
+ A39C8FE8BF9E45CF896017A7 /* libRCTCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A50F58D6FC94DE696FC3EB5 /* libRCTCamera.a */; };
+ A6AF670051B842249D520C7B /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7ED174A34D7D42358313368B /* Foundation.ttf */; };
+ AE97D4B08C9F4821B8E9C50B /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 359B076A658B4FBAB5128B03 /* Ionicons.ttf */; };
+ B45B40B471414274A7A83185 /* libRCTContacts.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3384AFA9609A409B81928AD5 /* libRCTContacts.a */; };
+ BA68A2377A20496EA737000D /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E586E1B0E544F64AA9F5BD1 /* libz.tbd */; };
+ C3EE9AEA6F77464588FBAA64 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7B5870D9ED504F32B6A09C35 /* FontAwesome.ttf */; };
+ D28AEFB4C39548EB80416889 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 52E205D210BC48B7A553BB62 /* Entypo.ttf */; };
+ EF2B5857B4A34E0C9707FB3F /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3B19223008342D096AA356E /* Octicons.ttf */; };
+ FD4F213C3873473CB703B1D2 /* libRNFS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 674B3D9595A047AB8D518F4E /* libRNFS.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -88,6 +107,76 @@
remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192;
remoteInfo = React;
};
+ 20B7D0FD1D3F74CC00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 45FB5F523DE04BDE9877869C /* RNRandomBytes.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 73EEC9391BFE4B1D00D468EB;
+ remoteInfo = RNRandomBytes;
+ };
+ 20B7D1021D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 8AE71EE8751F4652B13BFE83 /* RNVectorIcons.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 5DBEB1501B18CEA900B34395;
+ remoteInfo = RNVectorIcons;
+ };
+ 20B7D1091D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 1441618E1BD0A79300FA4F59;
+ remoteInfo = RCTContacts;
+ };
+ 20B7D10D1D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 46E2F6052EB44C698C680894 /* RNI18n.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = CDD7BF781B2D5125006FDA75;
+ remoteInfo = RNI18n;
+ };
+ 20B7D10F1D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 46E2F6052EB44C698C680894 /* RNI18n.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = CDD7BF831B2D5126006FDA75;
+ remoteInfo = RNI18nTests;
+ };
+ 20B7D1141D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 9F1854E6D9654226B1FC8308 /* RCTCamera.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 4107012F1ACB723B00C6AA39;
+ remoteInfo = RCTCamera;
+ };
+ 20B7D1191D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 305F194186D848FDB07AF34C /* RNFS.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = F12AFB9B1ADAF8F800E0535D;
+ remoteInfo = RNFS;
+ };
+ 20B7D11E1D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 807594C429CA44128AB5666B /* BVLinearGradient.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 134814201AA4EA6300B7C361;
+ remoteInfo = BVLinearGradient;
+ };
+ 20B7D1231D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 43A6FA689D844B0BAF3AA8B4 /* RCTOrientation.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 134814201AA4EA6300B7C361;
+ remoteInfo = RCTOrientation;
+ };
+ 20B7D1281D3F74CD00B70F14 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = F090E261B9854867A728CE4F /* RealmReact.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = F60690131CA2766F0003FB26;
+ remoteInfo = RealmReact;
+ };
78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
@@ -105,17 +194,20 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = main.jsbundle; path = main.jsbundle; sourceTree = ""; };
- 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = ../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj; sourceTree = ""; };
- 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = ../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj; sourceTree = ""; };
- 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = ../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj; sourceTree = ""; };
- 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = ../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj; sourceTree = ""; };
- 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = ../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj; sourceTree = ""; };
+ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; };
+ 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; };
+ 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; };
+ 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; };
+ 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; };
+ 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; };
00E356EE1AD99517003FC87E /* StatusImTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StatusImTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
00E356F21AD99517003FC87E /* StatusImTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StatusImTests.m; sourceTree = ""; };
- 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = ../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj; sourceTree = ""; };
- 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = ../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj; sourceTree = ""; };
+ 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTContacts.xcodeproj; path = "../node_modules/react-native-contacts/ios/RCTContacts.xcodeproj"; sourceTree = ""; };
+ 0A50F58D6FC94DE696FC3EB5 /* libRCTCamera.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTCamera.a; sourceTree = ""; };
+ 11632AA0A5F84F029DD91797 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; };
+ 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; };
+ 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; };
13B07F961A680F5B00A75B9A /* StatusIm.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StatusIm.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = StatusIm/AppDelegate.h; sourceTree = ""; };
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = StatusIm/AppDelegate.m; sourceTree = ""; };
@@ -123,9 +215,34 @@
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = StatusIm/Images.xcassets; sourceTree = ""; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = StatusIm/Info.plist; sourceTree = ""; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = StatusIm/main.m; sourceTree = ""; };
- 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = ../node_modules/react-native/React/React.xcodeproj; sourceTree = ""; };
- 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = ../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj; sourceTree = ""; };
- 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = ../node_modules/react-native/Libraries/Text/RCTText.xcodeproj; sourceTree = ""; };
+ 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; };
+ 2756305FAFF144C4A6B0A039 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; };
+ 305F194186D848FDB07AF34C /* RNFS.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFS.xcodeproj; path = "../node_modules/react-native-fs/RNFS.xcodeproj"; sourceTree = ""; };
+ 3384AFA9609A409B81928AD5 /* libRCTContacts.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTContacts.a; sourceTree = ""; };
+ 359B076A658B4FBAB5128B03 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; };
+ 43A6FA689D844B0BAF3AA8B4 /* RCTOrientation.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTOrientation.xcodeproj; path = "../node_modules/react-native-orientation/iOS/RCTOrientation.xcodeproj"; sourceTree = ""; };
+ 45FB5F523DE04BDE9877869C /* RNRandomBytes.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNRandomBytes.xcodeproj; path = "../node_modules/react-native-randombytes/RNRandomBytes.xcodeproj"; sourceTree = ""; };
+ 46E2F6052EB44C698C680894 /* RNI18n.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNI18n.xcodeproj; path = "../node_modules/react-native-i18n/RNI18n.xcodeproj"; sourceTree = ""; };
+ 4E586E1B0E544F64AA9F5BD1 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
+ 52E205D210BC48B7A553BB62 /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; };
+ 52F6ED6465184513A082652B /* libRNI18n.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNI18n.a; sourceTree = ""; };
+ 54E2B86FB12D4CC49DA05C69 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; };
+ 5535217F57E44D77AA9CF083 /* libRCTOrientation.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTOrientation.a; sourceTree = ""; };
+ 674B3D9595A047AB8D518F4E /* libRNFS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFS.a; sourceTree = ""; };
+ 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; };
+ 78C55F15EB4D4DAF9202A662 /* libRNRandomBytes.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNRandomBytes.a; sourceTree = ""; };
+ 7B5870D9ED504F32B6A09C35 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; };
+ 7ED174A34D7D42358313368B /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; };
+ 807594C429CA44128AB5666B /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BVLinearGradient.xcodeproj; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = ""; };
+ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; };
+ 8AE71EE8751F4652B13BFE83 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; };
+ 8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
+ 9F1854E6D9654226B1FC8308 /* RCTCamera.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTCamera.xcodeproj; path = "../node_modules/react-native-camera/ios/RCTCamera.xcodeproj"; sourceTree = ""; };
+ B3B19223008342D096AA356E /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; };
+ CD48A32459B64E96843BB238 /* libRealmReact.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRealmReact.a; sourceTree = ""; };
+ CEB0E2659D1A4F5FA842057A /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; };
+ DF1CD4C3D1254774ACCAE4E8 /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = ""; };
+ F090E261B9854867A728CE4F /* RealmReact.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RealmReact.xcodeproj; path = "../node_modules/realm/react-native/ios/RealmReact.xcodeproj"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -150,6 +267,17 @@
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
+ A39C8FE8BF9E45CF896017A7 /* libRCTCamera.a in Frameworks */,
+ B45B40B471414274A7A83185 /* libRCTContacts.a in Frameworks */,
+ FD4F213C3873473CB703B1D2 /* libRNFS.a in Frameworks */,
+ 213311F38CA74CE280FD09AD /* libRNI18n.a in Frameworks */,
+ 4D3D740D5EFA4F8592B048D7 /* libBVLinearGradient.a in Frameworks */,
+ 67F099D82798449FADF8358A /* libRCTOrientation.a in Frameworks */,
+ 4FFAE7B0414A463991039A2E /* libRNRandomBytes.a in Frameworks */,
+ 6CE6374707AC4EC788354DD1 /* libRNVectorIcons.a in Frameworks */,
+ 22118DE1207A419FBFE7B62D /* libRealmReact.a in Frameworks */,
+ 25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */,
+ BA68A2377A20496EA737000D /* libz.tbd in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -251,6 +379,94 @@
name = Products;
sourceTree = "";
};
+ 1E7837547A9A40E18AD63CF3 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 52E205D210BC48B7A553BB62 /* Entypo.ttf */,
+ CEB0E2659D1A4F5FA842057A /* EvilIcons.ttf */,
+ 7B5870D9ED504F32B6A09C35 /* FontAwesome.ttf */,
+ 7ED174A34D7D42358313368B /* Foundation.ttf */,
+ 359B076A658B4FBAB5128B03 /* Ionicons.ttf */,
+ 54E2B86FB12D4CC49DA05C69 /* MaterialIcons.ttf */,
+ B3B19223008342D096AA356E /* Octicons.ttf */,
+ 2756305FAFF144C4A6B0A039 /* Zocial.ttf */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 20B7D0F01D3F74CC00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D0FE1D3F74CC00B70F14 /* libRNRandomBytes.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D0FF1D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D1031D3F74CD00B70F14 /* libRNVectorIcons.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D1041D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D10E1D3F74CD00B70F14 /* libRNI18n.a */,
+ 20B7D1101D3F74CD00B70F14 /* RNI18nTests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D1061D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D10A1D3F74CD00B70F14 /* libRCTContacts.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D1111D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D1151D3F74CD00B70F14 /* libRCTCamera.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D1161D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D11A1D3F74CD00B70F14 /* libRNFS.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D11B1D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D11F1D3F74CD00B70F14 /* libBVLinearGradient.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D1201D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D1241D3F74CD00B70F14 /* libRCTOrientation.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 20B7D1251D3F74CD00B70F14 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 20B7D1291D3F74CD00B70F14 /* libRealmReact.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
78C398B11ACF4ADC00677621 /* Products */ = {
isa = PBXGroup;
children = (
@@ -272,6 +488,15 @@
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,
00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
+ 9F1854E6D9654226B1FC8308 /* RCTCamera.xcodeproj */,
+ 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */,
+ 305F194186D848FDB07AF34C /* RNFS.xcodeproj */,
+ 46E2F6052EB44C698C680894 /* RNI18n.xcodeproj */,
+ 807594C429CA44128AB5666B /* BVLinearGradient.xcodeproj */,
+ 43A6FA689D844B0BAF3AA8B4 /* RCTOrientation.xcodeproj */,
+ 45FB5F523DE04BDE9877869C /* RNRandomBytes.xcodeproj */,
+ 8AE71EE8751F4652B13BFE83 /* RNVectorIcons.xcodeproj */,
+ F090E261B9854867A728CE4F /* RealmReact.xcodeproj */,
);
name = Libraries;
sourceTree = "";
@@ -291,6 +516,8 @@
832341AE1AAA6A7D00B99B32 /* Libraries */,
00E356EF1AD99517003FC87E /* StatusImTests */,
83CBBA001A601CBA00E9B192 /* Products */,
+ A97BA941B2FB44B4B66EE6D3 /* Frameworks */,
+ 1E7837547A9A40E18AD63CF3 /* Resources */,
);
indentWidth = 2;
sourceTree = "";
@@ -305,6 +532,15 @@
name = Products;
sourceTree = "";
};
+ A97BA941B2FB44B4B66EE6D3 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */,
+ 4E586E1B0E544F64AA9F5BD1 /* libz.tbd */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -350,7 +586,7 @@
83CBB9F71A601CBA00E9B192 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastUpgradeCheck = 610;
ORGANIZATIONNAME = Facebook;
TargetAttributes = {
00E356ED1AD99517003FC87E = {
@@ -371,10 +607,22 @@
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
projectDirPath = "";
projectReferences = (
+ {
+ ProductGroup = 20B7D11B1D3F74CD00B70F14 /* Products */;
+ ProjectRef = 807594C429CA44128AB5666B /* BVLinearGradient.xcodeproj */;
+ },
{
ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */;
ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
},
+ {
+ ProductGroup = 20B7D1111D3F74CD00B70F14 /* Products */;
+ ProjectRef = 9F1854E6D9654226B1FC8308 /* RCTCamera.xcodeproj */;
+ },
+ {
+ ProductGroup = 20B7D1061D3F74CD00B70F14 /* Products */;
+ ProjectRef = 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */;
+ },
{
ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */;
ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */;
@@ -391,6 +639,10 @@
ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */;
ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
},
+ {
+ ProductGroup = 20B7D1201D3F74CD00B70F14 /* Products */;
+ ProjectRef = 43A6FA689D844B0BAF3AA8B4 /* RCTOrientation.xcodeproj */;
+ },
{
ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */;
ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
@@ -411,6 +663,26 @@
ProductGroup = 146834001AC3E56700842450 /* Products */;
ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
},
+ {
+ ProductGroup = 20B7D1251D3F74CD00B70F14 /* Products */;
+ ProjectRef = F090E261B9854867A728CE4F /* RealmReact.xcodeproj */;
+ },
+ {
+ ProductGroup = 20B7D1161D3F74CD00B70F14 /* Products */;
+ ProjectRef = 305F194186D848FDB07AF34C /* RNFS.xcodeproj */;
+ },
+ {
+ ProductGroup = 20B7D1041D3F74CD00B70F14 /* Products */;
+ ProjectRef = 46E2F6052EB44C698C680894 /* RNI18n.xcodeproj */;
+ },
+ {
+ ProductGroup = 20B7D0F01D3F74CC00B70F14 /* Products */;
+ ProjectRef = 45FB5F523DE04BDE9877869C /* RNRandomBytes.xcodeproj */;
+ },
+ {
+ ProductGroup = 20B7D0FF1D3F74CD00B70F14 /* Products */;
+ ProjectRef = 8AE71EE8751F4652B13BFE83 /* RNVectorIcons.xcodeproj */;
+ },
);
projectRoot = "";
targets = (
@@ -477,6 +749,76 @@
remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
+ 20B7D0FE1D3F74CC00B70F14 /* libRNRandomBytes.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRNRandomBytes.a;
+ remoteRef = 20B7D0FD1D3F74CC00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D1031D3F74CD00B70F14 /* libRNVectorIcons.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRNVectorIcons.a;
+ remoteRef = 20B7D1021D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D10A1D3F74CD00B70F14 /* libRCTContacts.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRCTContacts.a;
+ remoteRef = 20B7D1091D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D10E1D3F74CD00B70F14 /* libRNI18n.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRNI18n.a;
+ remoteRef = 20B7D10D1D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D1101D3F74CD00B70F14 /* RNI18nTests.xctest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = RNI18nTests.xctest;
+ remoteRef = 20B7D10F1D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D1151D3F74CD00B70F14 /* libRCTCamera.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRCTCamera.a;
+ remoteRef = 20B7D1141D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D11A1D3F74CD00B70F14 /* libRNFS.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRNFS.a;
+ remoteRef = 20B7D1191D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D11F1D3F74CD00B70F14 /* libBVLinearGradient.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libBVLinearGradient.a;
+ remoteRef = 20B7D11E1D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D1241D3F74CD00B70F14 /* libRCTOrientation.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRCTOrientation.a;
+ remoteRef = 20B7D1231D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 20B7D1291D3F74CD00B70F14 /* libRealmReact.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libRealmReact.a;
+ remoteRef = 20B7D1281D3F74CD00B70F14 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
@@ -507,6 +849,14 @@
files = (
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
+ D28AEFB4C39548EB80416889 /* Entypo.ttf in Resources */,
+ 82E689BAF9FB43C8AC6FF1CA /* EvilIcons.ttf in Resources */,
+ C3EE9AEA6F77464588FBAA64 /* FontAwesome.ttf in Resources */,
+ A6AF670051B842249D520C7B /* Foundation.ttf in Resources */,
+ AE97D4B08C9F4821B8E9C50B /* Ionicons.ttf in Resources */,
+ 0F942CF509F74CCDB5CB35B0 /* MaterialIcons.ttf in Resources */,
+ EF2B5857B4A34E0C9707FB3F /* Octicons.ttf in Resources */,
+ 74242ACAF37A48D0BFACDE82 /* Zocial.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -526,7 +876,6 @@
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh";
- showEnvVarsInLog = 1;
};
/* End PBXShellScriptBuildPhase section */
@@ -586,6 +935,18 @@
INFOPLIST_FILE = StatusImTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StatusIm.app/StatusIm";
};
@@ -603,6 +964,18 @@
INFOPLIST_FILE = StatusImTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StatusIm.app/StatusIm";
};
@@ -617,10 +990,23 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../node_modules/react-native/React/**",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios",
+ "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts",
+ "$(SRCROOT)/../node_modules/react-native-fs/**",
+ "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n",
+ "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
+ "$(SRCROOT)/../node_modules/react-native-orientation/iOS/RCTOrientation/**",
+ "$(SRCROOT)/../node_modules/react-native-randombytes",
+ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
+ "$(SRCROOT)/../node_modules/realm/src/**",
);
- INFOPLIST_FILE = "StatusIm/Info.plist";
+ INFOPLIST_FILE = StatusIm/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- OTHER_LDFLAGS = "-ObjC";
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "$(inherited)",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = com.statusim;
PRODUCT_NAME = StatusIm;
};
name = Debug;
@@ -629,14 +1015,28 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEAD_CODE_STRIPPING = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../node_modules/react-native/React/**",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios",
+ "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts",
+ "$(SRCROOT)/../node_modules/react-native-fs/**",
+ "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n",
+ "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
+ "$(SRCROOT)/../node_modules/react-native-orientation/iOS/RCTOrientation/**",
+ "$(SRCROOT)/../node_modules/react-native-randombytes",
+ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
+ "$(SRCROOT)/../node_modules/realm/src/**",
);
- INFOPLIST_FILE = "StatusIm/Info.plist";
+ INFOPLIST_FILE = StatusIm/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- OTHER_LDFLAGS = "-ObjC";
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "$(inherited)",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = com.statusim;
PRODUCT_NAME = StatusIm;
};
name = Release;
@@ -679,6 +1079,15 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../node_modules/react-native/React/**",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios",
+ "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts",
+ "$(SRCROOT)/../node_modules/react-native-fs/**",
+ "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n",
+ "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
+ "$(SRCROOT)/../node_modules/react-native-orientation/iOS/RCTOrientation/**",
+ "$(SRCROOT)/../node_modules/react-native-randombytes",
+ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
+ "$(SRCROOT)/../node_modules/realm/src/**",
);
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
@@ -719,6 +1128,15 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../node_modules/react-native/React/**",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios",
+ "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts",
+ "$(SRCROOT)/../node_modules/react-native-fs/**",
+ "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n",
+ "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
+ "$(SRCROOT)/../node_modules/react-native-orientation/iOS/RCTOrientation/**",
+ "$(SRCROOT)/../node_modules/react-native-randombytes",
+ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
+ "$(SRCROOT)/../node_modules/realm/src/**",
);
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
diff --git a/ios/StatusIm/AppDelegate.m b/ios/StatusIm/AppDelegate.m
index 8d0df9f4bc..92f2c6058e 100644
--- a/ios/StatusIm/AppDelegate.m
+++ b/ios/StatusIm/AppDelegate.m
@@ -9,6 +9,7 @@
#import "AppDelegate.h"
+#import "RCTBundleURLProvider.h"
#import "RCTRootView.h"
@implementation AppDelegate
@@ -17,36 +18,14 @@
{
NSURL *jsCodeLocation;
- /**
- * Loading JavaScript code - uncomment the one you want.
- *
- * OPTION 1
- * Load from development server. Start the server from the repository root:
- *
- * $ npm start
- *
- * To run on device, change `localhost` to the IP address of your computer
- * (you can get this by typing `ifconfig` into the terminal and selecting the
- * `inet` value under `en0:`) and make sure your computer and iOS device are
- * on the same Wi-Fi network.
- */
-
- jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
-
- /**
- * OPTION 2
- * Load from pre-bundled file on disk. The static bundle is automatically
- * generated by the "Bundle React Native code and images" build step when
- * running the project on an actual device or running the project on the
- * simulator in the "Release" build configuration.
- */
-
-// jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
-
+ [[RCTBundleURLProvider sharedSettings] setDefaults];
+ jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
+
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"StatusIm"
initialProperties:nil
launchOptions:launchOptions];
+ rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
diff --git a/ios/StatusIm/Info.plist b/ios/StatusIm/Info.plist
index 91963b2670..987f5a738e 100644
--- a/ios/StatusIm/Info.plist
+++ b/ios/StatusIm/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
@@ -22,6 +22,24 @@
1
LSRequiresIPhoneOS
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+
+ NSLocationWhenInUseUsageDescription
+
+ UIAppFonts
+
+ Entypo.ttf
+ EvilIcons.ttf
+ FontAwesome.ttf
+ Foundation.ttf
+ Ionicons.ttf
+ MaterialIcons.ttf
+ Octicons.ttf
+ Zocial.ttf
+
UILaunchStoryboardName
LaunchScreen
UIRequiredDeviceCapabilities
@@ -36,13 +54,5 @@
UIViewControllerBasedStatusBarAppearance
- NSLocationWhenInUseUsageDescription
-
- NSAppTransportSecurity
-
-
- NSAllowsArbitraryLoads
-
-
diff --git a/ios/StatusIm/main.m b/ios/StatusIm/main.m
index afe0335e03..3d767fcbb9 100644
--- a/ios/StatusIm/main.m
+++ b/ios/StatusIm/main.m
@@ -8,15 +8,11 @@
*/
#import
-#import
+
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
- dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
- run("--bootnodes enode://e2f28126720452aa82f7d3083e49e6b3945502cb94d9750a15e27ee310eed6991618199f878e5fbc7dfa0e20f0af9554b41f491dc8f1dbae8f0f2d37a3a613aa@139.162.13.89:30303 --shh --ipcdisable --nodiscover --rpc --rpcapi db,eth,net,web3,shh --fast");
- });
-
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
diff --git a/ios/StatusImTests/StatusImTests.m b/ios/StatusImTests/StatusImTests.m
index 362b123fd3..56fd4597f4 100644
--- a/ios/StatusImTests/StatusImTests.m
+++ b/ios/StatusImTests/StatusImTests.m
@@ -13,7 +13,7 @@
#import "RCTLog.h"
#import "RCTRootView.h"
-#define TIMEOUT_SECONDS 240
+#define TIMEOUT_SECONDS 600
#define TEXT_TO_LOOK_FOR @"Welcome to React Native!"
@interface StatusImTests : XCTestCase
diff --git a/package.json b/package.json
index 4842893288..8ba9e933dd 100644
--- a/package.json
+++ b/package.json
@@ -3,30 +3,105 @@
"version": "0.0.1",
"private": true,
"scripts": {
- "start": "node_modules/react-native/packager/packager.sh"
+ "start": "node_modules/react-native/packager/packager.sh",
+ "postinstall": "./node_modules/.bin/rn-nodeify --install --hack"
+ },
+ "devDependencies": {
+ "rn-nodeify": "^6.0.1"
},
"dependencies": {
+ "assert": "^1.4.1",
"awesome-phonenumber": "^1.0.13",
+ "browserify-zlib": "^0.1.4",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "0.0.1",
+ "dns.js": "^1.0.1",
+ "domain-browser": "^1.1.7",
+ "events": "^1.1.1",
+ "https-browserify": "0.0.1",
"identicon.js": "github:status-im/identicon.js",
- "react": "^0.14.5",
- "react-native": "^0.24.1",
- "react-native-action-button": "^1.1.4",
- "react-native-android-sms-listener": "^0.1.3",
+ "os-browserify": "^0.1.2",
+ "path-browserify": "0.0.0",
+ "process": "^0.11.5",
+ "punycode": "^1.4.1",
+ "querystring-es3": "^0.2.1",
+ "react": "^15.2.0",
+ "react-native": "^0.29.2",
+ "react-native-action-button": "^1.1.11",
+ "react-native-android-sms-listener": "github:alwx/react-native-android-sms-listener#rn0.29-support",
"react-native-camera": "github:codyhazelwood/react-native-camera",
- "react-native-circle-checkbox": "^0.1.3",
+ "react-native-circle-checkbox": "github:paramoshkinandrew/ReactNativeCircleCheckbox",
"react-native-contacts": "^0.2.4",
+ "react-native-crypto": "^2.0.1",
"react-native-fs": "^1.5.1",
+ "react-native-http": "github:tradle/react-native-http#834492d",
"react-native-i18n": "0.0.8",
"react-native-invertible-scroll-view": "^1.0.0",
+ "react-native-level-fs": "^2.0.1",
"react-native-linear-gradient": "1.5.7",
- "react-native-loading-spinner-overlay": "0.0.8",
- "react-native-orientation": "^1.17.0",
+ "react-native-orientation": "github:youennPennarun/react-native-orientation",
"react-native-qrcode": "^0.2.2",
"react-native-randombytes": "^2.1.0",
- "react-native-status": "git+ssh://git@github.com/status-im/react-native-status",
- "react-native-vector-icons": "^1.3.4",
- "react-native-orientation": "^1.17.0",
- "realm": "^0.11.1",
- "react-native-status": "git+ssh://git@github.com/status-im/react-native-status.git#set-soft-input-mode"
+ "react-native-status": "github:status-im/react-native-status",
+ "react-native-tcp": "^1.0.1",
+ "react-native-udp": "^1.2.5",
+ "react-native-vector-icons": "^2.0.3",
+ "readable-stream": "^1.0.33",
+ "realm": "^0.14.0",
+ "stream-browserify": "^1.0.0",
+ "timers-browserify": "^1.4.2",
+ "tty-browserify": "0.0.0",
+ "url": "^0.10.3",
+ "vm-browserify": "0.0.4"
+ },
+ "browser": {
+ "crypto": "react-native-crypto",
+ "_stream_transform": "readable-stream/transform",
+ "_stream_readable": "readable-stream/readable",
+ "_stream_writable": "readable-stream/writable",
+ "_stream_duplex": "readable-stream/duplex",
+ "_stream_passthrough": "readable-stream/passthrough",
+ "stream": "stream-browserify",
+ "zlib": "browserify-zlib",
+ "console": "console-browserify",
+ "constants": "constants-browserify",
+ "dns": "dns.js",
+ "net": "react-native-tcp",
+ "domain": "domain-browser",
+ "http": "react-native-http",
+ "https": "https-browserify",
+ "os": "os-browserify",
+ "path": "path-browserify",
+ "querystring": "querystring-es3",
+ "fs": "react-native-level-fs",
+ "dgram": "react-native-udp",
+ "timers": "timers-browserify",
+ "tty": "tty-browserify",
+ "vm": "vm-browserify"
+ },
+ "react-native": {
+ "crypto": "react-native-crypto",
+ "_stream_transform": "readable-stream/transform",
+ "_stream_readable": "readable-stream/readable",
+ "_stream_writable": "readable-stream/writable",
+ "_stream_duplex": "readable-stream/duplex",
+ "_stream_passthrough": "readable-stream/passthrough",
+ "stream": "stream-browserify",
+ "zlib": "browserify-zlib",
+ "console": "console-browserify",
+ "constants": "constants-browserify",
+ "dns": "dns.js",
+ "net": "react-native-tcp",
+ "domain": "domain-browser",
+ "http": "react-native-http",
+ "https": "https-browserify",
+ "os": "os-browserify",
+ "path": "path-browserify",
+ "querystring": "querystring-es3",
+ "fs": "react-native-level-fs",
+ "dgram": "react-native-udp",
+ "timers": "timers-browserify",
+ "tty": "tty-browserify",
+ "vm": "vm-browserify"
}
-}
+}
\ No newline at end of file
diff --git a/project.clj b/project.clj
index 4fe9b62f32..45da1f4146 100644
--- a/project.clj
+++ b/project.clj
@@ -11,7 +11,7 @@
^{:voom {:repo "git@github.com:status-im/status-lib.git"
:branch "master"}}
[status-im/protocol "0.1.1-20160706_085008-ge61756a"]
- [natal-shell "0.1.6"]
+ [natal-shell "0.3.0"]
[com.andrewmcveigh/cljs-time "0.4.0"]]
:plugins [[lein-cljsbuild "1.1.1"]
[lein-figwheel "0.5.0-2"]]
diff --git a/src/cljsjs/react.cljs b/src/cljsjs/react.cljs
index 582c4c83e0..db9e774237 100644
--- a/src/cljsjs/react.cljs
+++ b/src/cljsjs/react.cljs
@@ -1,4 +1,9 @@
(ns cljsjs.react)
(when (exists? js/window)
- (set! js/window.React (js/require "react-native")))
+ ;; cause there is no window.document object in the newest version
+ ;; of React Native, but chance.js requires it
+ (set! js/window.document #js {})
+
+ (set! js/window.React (js/require "react"))
+ (set! js/ReactNative (js/require "react-native")))
diff --git a/src/status_im/android/core.cljs b/src/status_im/android/core.cljs
index 859d12dbeb..2b13c9c616 100644
--- a/src/status_im/android/core.cljs
+++ b/src/status_im/android/core.cljs
@@ -5,7 +5,9 @@
[re-frame.core :refer [subscribe dispatch dispatch-sync]]
[status-im.handlers]
[status-im.subs]
- [status-im.components.react :refer [navigator app-registry device-event-emitter
+ [status-im.components.react :refer [navigator
+ app-registry
+ keyboard
orientation]]
[status-im.components.main-tabs :refer [main-tabs]]
[status-im.contacts.views.contact-list :refer [contact-list]]
@@ -58,13 +60,13 @@
orientation
#(dispatch [:set :orientation (orientation->keyword %)]))
(.lockToPortrait orientation)
- (.addListener device-event-emitter
+ (.addListener keyboard
"keyboardDidShow"
(fn [e]
(let [h (.. e -endCoordinates -height)]
(when-not (= h @keyboard-height)
(dispatch [:set :keyboard-height h])))))
- (.addListener device-event-emitter
+ (.addListener keyboard
"keyboardDidHide"
#(when-not (= 0 @keyboard-height)
(dispatch [:set :keyboard-height 0]))))
diff --git a/src/status_im/chat/handlers.cljs b/src/status_im/chat/handlers.cljs
index 0506fba958..815fb08756 100644
--- a/src/status_im/chat/handlers.cljs
+++ b/src/status_im/chat/handlers.cljs
@@ -193,6 +193,7 @@
:delivery-status (default-delivery-status current-chat-id)
:outgoing true
:timestamp (time/now-ms)})]
+ _ (.log js/console "WOW3")
(if command
(commands/set-command-input db :commands command)
(assoc db :new-message (when-not (str/blank? text) message)))))
diff --git a/src/status_im/chats_list/screen.cljs b/src/status_im/chats_list/screen.cljs
index 1b3e6e5f98..7bcfb38a83 100644
--- a/src/status_im/chats_list/screen.cljs
+++ b/src/status_im/chats_list/screen.cljs
@@ -76,12 +76,12 @@
{:title (label :t/new-chat)
:buttonColor :#9b59b6
:onPress #(dispatch [:show-group-contacts :people])}
- [icon {:name :android-create
+ [icon {:name :md-create
:style st/create-icon}]]
[action-button-item
{:title (label :t/new-group-chat)
:buttonColor :#1abc9c
:onPress #(dispatch [:show-group-new])}
- [icon {:name :person-stalker
+ [icon {:name :md-person
:style st/person-stalker-icon}]]]]
[bottom-gradient]])))
diff --git a/src/status_im/chats_list/styles.cljs b/src/status_im/chats_list/styles.cljs
index 42f8c39ca2..466a2fa81b 100644
--- a/src/status_im/chats_list/styles.cljs
+++ b/src/status_im/chats_list/styles.cljs
@@ -120,6 +120,6 @@
{:position :absolute
:right 0
:height 230
- :width 80
+ :width 220
:bottom 0
:transform [{:translateY (if animation? offset-y 1)}]})
diff --git a/src/status_im/components/animation.cljs b/src/status_im/components/animation.cljs
index 0176b6e360..21a6cac5c1 100644
--- a/src/status_im/components/animation.cljs
+++ b/src/status_im/components/animation.cljs
@@ -42,7 +42,7 @@
(.setValue anim-value value))
(defn create-value [value]
- (js/React.Animated.Value. value))
+ (js/ReactNative.Animated.Value. value))
(defn x [value-xy]
(.-x value-xy))
@@ -54,4 +54,4 @@
(js->clj (.getLayout value-xy)))
(defn create-value-xy [x y]
- (js/React.Animated.ValueXY. (clj->js {:x x, :y y})))
+ (js/ReactNative.Animated.ValueXY. (clj->js {:x x, :y y})))
diff --git a/src/status_im/components/carousel/carousel.cljs b/src/status_im/components/carousel/carousel.cljs
index 8c61cb114e..5f1bbc85dc 100644
--- a/src/status_im/components/carousel/carousel.cljs
+++ b/src/status_im/components/carousel/carousel.cljs
@@ -10,7 +10,7 @@
(defn window-page-width []
- (.-width (.get (.. r/react -Dimensions) "window")))
+ (.-width (.get (.. r/react-native -Dimensions) "window")))
(def defaults {:gap 10
:sneak 10
diff --git a/src/status_im/components/drawer/view.cljs b/src/status_im/components/drawer/view.cljs
index 726f9251d4..a85d4c40bf 100644
--- a/src/status_im/components/drawer/view.cljs
+++ b/src/status_im/components/drawer/view.cljs
@@ -2,7 +2,7 @@
(:require [clojure.string :as s]
[re-frame.core :refer [subscribe dispatch dispatch-sync]]
[reagent.core :as r]
- [status-im.components.react :refer [react
+ [status-im.components.react :refer [react-native
view
text
image
@@ -73,7 +73,7 @@
(defn drawer-view [items]
[drawer-layout-android {:drawerWidth 260
- :drawerPosition js/React.DrawerLayoutAndroid.positions.Left
+ :drawerPosition js/ReactNative.DrawerLayoutAndroid.positions.Left
:render-navigation-view #(r/as-element [drawer-menu])
:ref (fn [drawer]
(reset! drawer-atom drawer))}
diff --git a/src/status_im/components/jail.cljs b/src/status_im/components/jail.cljs
index 35d922f4a0..b80077e4ac 100644
--- a/src/status_im/components/jail.cljs
+++ b/src/status_im/components/jail.cljs
@@ -6,8 +6,8 @@
(def status-js (slurp "resources/status.js"))
(def jail
- (when (exists? (.-NativeModules r/react))
- (.-Jail (.-NativeModules r/react))))
+ (when (exists? (.-NativeModules r/react-native))
+ (.-Jail (.-NativeModules r/react-native))))
(when jail
(.init jail status-js))
diff --git a/src/status_im/components/react.cljs b/src/status_im/components/react.cljs
index c3096ece0f..e73c31b076 100644
--- a/src/status_im/components/react.cljs
+++ b/src/status_im/components/react.cljs
@@ -3,11 +3,11 @@
[status-im.components.styles :as st]
[status-im.utils.utils :as u]))
-(def react (u/require "react-native"))
-(def native-modules (.-NativeModules react))
+(def react-native (u/require "react-native"))
+(def native-modules (.-NativeModules react-native))
(defn get-react-property [name]
- (aget react name))
+ (aget react-native name))
(defn adapt-class [class]
(when class (r/adapt-react-class class)))
@@ -52,12 +52,12 @@
(when-let [picker (get-react-property "Picker")]
(adapt-class (.-Item picker))))
-(def pan-responder (.-PanResponder js/React))
-(def animated (.-Animated js/React))
+(def pan-responder (.-PanResponder js/ReactNative))
+(def animated (.-Animated js/ReactNative))
(def animated-view (r/adapt-react-class (.-View animated)))
(def animated-text (r/adapt-react-class (.-Text animated)))
-(def dimensions (.-Dimensions js/React))
+(def dimensions (.-Dimensions js/ReactNative))
(defn get-dimensions [name]
(js->clj (.get dimensions name) :keywordize-keys true))
@@ -75,15 +75,14 @@
(def platform
- (when-let [pl (.-Platform react)] (.-OS pl)))
+ (when-let [pl (.-Platform react-native)] (.-OS pl)))
(def android? (= platform "android"))
(defn list-item [component]
(r/as-element component))
-(def dismiss-keyboard! (u/require "dismissKeyboard"))
-(def device-event-emitter (.-DeviceEventEmitter react))
(def orientation (u/require "react-native-orientation"))
+(def keyboard (.-Keyboard react-native))
(def geth (.-Geth native-modules))
diff --git a/src/status_im/components/spinner.cljs b/src/status_im/components/spinner.cljs
deleted file mode 100644
index fe4d760d5e..0000000000
--- a/src/status_im/components/spinner.cljs
+++ /dev/null
@@ -1,6 +0,0 @@
-(ns status-im.components.spinner
- (:require [reagent.core :as r]))
-
-(def react-spinner (.-default (js/require "react-native-loading-spinner-overlay")))
-
-(def spinner (r/adapt-react-class react-spinner))
diff --git a/src/status_im/components/text_field/view.cljs b/src/status_im/components/text_field/view.cljs
index 4949c00ef2..0a3c6e2d6f 100644
--- a/src/status_im/components/text_field/view.cljs
+++ b/src/status_im/components/text_field/view.cljs
@@ -2,7 +2,7 @@
(:require [clojure.string :as s]
[re-frame.core :refer [subscribe dispatch dispatch-sync]]
[reagent.core :as r]
- [status-im.components.react :refer [react
+ [status-im.components.react :refer [react-native
view
text
animated-text
diff --git a/src/status_im/contacts/screen.cljs b/src/status_im/contacts/screen.cljs
index 21aaf4910d..7cd360f7d1 100644
--- a/src/status_im/contacts/screen.cljs
+++ b/src/status_im/contacts/screen.cljs
@@ -97,6 +97,6 @@
{:title (label :t/new-contact)
:buttonColor :#9b59b6
:onPress #(dispatch [:navigate-to :new-contact])}
- [icon {:name :android-create
+ [icon {:name :md-create
:style create-icon}]]]]
[bottom-gradient]])))
diff --git a/src/status_im/discovery/views/popular.cljs b/src/status_im/discovery/views/popular.cljs
index b91b233603..28b1d8c0c3 100644
--- a/src/status_im/discovery/views/popular.cljs
+++ b/src/status_im/discovery/views/popular.cljs
@@ -11,7 +11,7 @@
[status-im.components.react :as r]))
(defn page-width []
- (.-width (.get (.. r/react -Dimensions) "window")))
+ (.-width (.get (.. r/react-native -Dimensions) "window")))
(defview popular []
[popular-tags [:get-popular-tags 3]]
diff --git a/src/status_im/ios/core.cljs b/src/status_im/ios/core.cljs
index ebe6286dbe..97cbc651dc 100644
--- a/src/status_im/ios/core.cljs
+++ b/src/status_im/ios/core.cljs
@@ -1,33 +1,30 @@
(ns status-im.ios.core
(:require [reagent.core :as r :refer [atom]]
- [re-frame.core :refer [subscribe dispatch dispatch-sync]]
- [status-im.handlers]
- [status-im.subs]))
+ [re-frame.core :refer [subscribe dispatch dispatch-sync]]))
-(set! js/window.React (js/require "react-native"))
+(set! js/window.React (js/require "react"))
+(set! js/ReactNative (js/require "react-native"))
-(def app-registry (.-AppRegistry js/React))
-(def text (r/adapt-react-class (.-Text js/React)))
-(def view (r/adapt-react-class (.-View js/React)))
-(def image (r/adapt-react-class (.-Image js/React)))
-(def touchable-highlight (r/adapt-react-class (.-TouchableHighlight js/React)))
+(def app-registry (.-AppRegistry js/ReactNative))
+(def text (r/adapt-react-class (.-Text js/ReactNative)))
+(def view (r/adapt-react-class (.-View js/ReactNative)))
+(def image (r/adapt-react-class (.-Image js/ReactNative)))
+(def touchable-highlight (r/adapt-react-class (.-TouchableHighlight js/ReactNative)))
(def logo-img (js/require "./images/cljs.png"))
(defn alert [title]
- (.alert (.-Alert js/React) title))
+ (.alert (.-Alert js/ReactNative) title))
(defn app-root []
- (let [greeting (subscribe [:get-greeting])]
- (fn []
- [view {:style {:flex-direction "column" :margin 40 :align-items :center}}
- [text {:style {:font-size 30 :font-weight "100" :margin-bottom 20 :text-align :center}} @greeting]
- [image {:source logo-img
- :style {:width 80 :height 80 :margin-bottom 30}}]
- [touchable-highlight {:style {:background-color "#999" :padding 10 :border-radius 5}
- :on-press #(alert "HELLO!")}
- [text {:style {:color :white :text-align :center :font-weight "bold"}} "press me"]]])))
+ (fn []
+ [view {:style {:flex-direction "column" :margin 40 :align-items :center}}
+ [text {:style {:font-size 30 :font-weight "100" :margin-bottom 20 :text-align :center}} "Test"]
+ [image {:source logo-img
+ :style {:width 80 :height 80 :margin-bottom 30}}]
+ [touchable-highlight {:style {:background-color "#999" :padding 10 :border-radius 5}
+ :on-press #(alert "HELLO!")}
+ [text {:style {:color :white :text-align :center :font-weight "bold"}} "press me"]]]))
(defn init []
- (dispatch-sync [:initialize-db])
(.registerComponent app-registry "StatusIm" #(r/reactify-component app-root)))