diff --git a/modules/react-native-status/android/build.gradle b/modules/react-native-status/android/build.gradle index ae256010f2..4b730b9bff 100644 --- a/modules/react-native-status/android/build.gradle +++ b/modules/react-native-status/android/build.gradle @@ -15,5 +15,5 @@ android { dependencies { compile 'com.facebook.react:react-native:+' compile 'com.instabug.library:instabug:3+' - compile(group: 'status-im', name: 'status-go', version: 'whisper-on-geth1.6.1', ext: 'aar') + compile(group: 'status-im', name: 'status-go', version: 'bug-whisper-on-geth1.6.1-g3f6f0fa+', ext: 'aar') } diff --git a/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java b/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java index d9272d22dc..88fad31ad0 100644 --- a/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java +++ b/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java @@ -38,7 +38,6 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL private ServiceConnector status = null; private ExecutorService executor = null; private boolean debug; - private Web3Bridge w3Bridge = new Web3Bridge(); StatusModule(ReactApplicationContext reactContext, boolean debug) { super(reactContext); @@ -294,7 +293,6 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL return; } - this.w3Bridge = new Web3Bridge(); Thread thread = new Thread() { @Override public void run() { @@ -596,7 +594,8 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL Thread thread = new Thread() { @Override public void run() { - w3Bridge.sendRequest(host, payload, callback); + String res = Statusgo.CallRPC(payload); + callback.invoke(res); } }; diff --git a/modules/react-native-status/android/src/main/java/im/status/ethereum/module/Web3Bridge.java b/modules/react-native-status/android/src/main/java/im/status/ethereum/module/Web3Bridge.java deleted file mode 100644 index f845719325..0000000000 --- a/modules/react-native-status/android/src/main/java/im/status/ethereum/module/Web3Bridge.java +++ /dev/null @@ -1,36 +0,0 @@ -package im.status.ethereum.module; - -import android.os.Build; -import com.facebook.react.bridge.Callback; -import okhttp3.*; - -import java.io.IOException; -import java.util.concurrent.TimeUnit; - -public class Web3Bridge { - public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); - private OkHttpClient client; - - public Web3Bridge() { - OkHttpClient.Builder b = new OkHttpClient.Builder(); - b.readTimeout(310, TimeUnit.SECONDS); - client = b.build(); - } - - public void sendRequest(final String host, final String json, final Callback callback) { - - RequestBody body = RequestBody.create(JSON, json); - Request request = new Request.Builder() - .url(host) - .post(body) - .build(); - - try (Response response = client.newCall(request).execute()) { - String rpcResponse = response.body().string().trim(); - - callback.invoke(rpcResponse); - } catch (IOException e) { - e.printStackTrace(); - } - } -} diff --git a/modules/react-native-status/ios/RCTStatus/RCTStatus.m b/modules/react-native-status/ios/RCTStatus/RCTStatus.m index 1d96ca5f39..9cb4c66463 100644 --- a/modules/react-native-status/ios/RCTStatus/RCTStatus.m +++ b/modules/react-native-status/ios/RCTStatus/RCTStatus.m @@ -400,32 +400,12 @@ RCT_EXPORT_METHOD(clearStorageAPIs) { RCT_EXPORT_METHOD(sendWeb3Request:(NSString *)host password:(NSString *)payload callback:(RCTResponseSenderBlock)callback) { - - NSData *postData = [payload dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; - - NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; - - NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; - [request setURL:[NSURL URLWithString:host]]; - [request setHTTPMethod:@"POST"]; - [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; - [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; - [request setHTTPBody:postData]; - [request setTimeoutInterval:310]; - - NSError *error; - - NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; - NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil]; - - NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { - NSString *strResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - NSString *trimmedResponse = [strResponse stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; - - callback(@[trimmedResponse]); - }]; - - [postDataTask resume]; + dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + char * result = CallRPC((char *) [payload UTF8String]); + dispatch_async( dispatch_get_main_queue(), ^{ + callback(@[[NSString stringWithUTF8String: result]]); + }); + }); } diff --git a/modules/react-native-status/ios/RCTStatus/pom.xml b/modules/react-native-status/ios/RCTStatus/pom.xml index abca4b6a8f..d802769fc7 100644 --- a/modules/react-native-status/ios/RCTStatus/pom.xml +++ b/modules/react-native-status/ios/RCTStatus/pom.xml @@ -25,7 +25,7 @@ status-im status-go-ios-simulator - whisper-on-geth1.6.1 + bug-whisper-on-geth1.6.1-g3f6f0fa+ zip true ./ diff --git a/package-lock.json b/package-lock.json index 3b48a3e932..dee5ce1409 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4791,7 +4791,7 @@ "integrity": "sha1-dELADh/Nn8oykRncuvdE0SvNG1o=" }, "react-native-mapbox-gl": { - "version": "github:mapbox/react-native-mapbox-gl#64a51561d21cc2f5538afad1c0618219286db3b3", + "version": "github:mapbox/react-native-mapbox-gl#5a1983ac9c5c6ce985f0f987928eeefe017ae0c5", "requires": { "babel-eslint": "6.1.2", "lodash": "4.17.4" @@ -4916,7 +4916,7 @@ } }, "react-native-webview-bridge": { - "version": "github:status-im/react-native-webview-bridge#fd3fff1783854b713e56dcad235dc8b2988a5012", + "version": "github:status-im/react-native-webview-bridge#6e46b3c931c6d3c0c76507ee512b419ecb85973c", "requires": { "invariant": "2.2.0", "keymirror": "0.1.1" diff --git a/package.json b/package.json index 2676789da8..c4de47879b 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "react-native-tcp": "^3.2.1", "react-native-udp": "^2.0.0", "react-native-vector-icons": "^4.0.1", - "react-native-webview-bridge": "github:status-im/react-native-webview-bridge#0.33.14", + "react-native-webview-bridge": "github:status-im/react-native-webview-bridge#0.33.15", "readable-stream": "1.0.33", "realm": "^0.14.3", "stream-browserify": "^1.0.0", diff --git a/src/status_im/handlers.cljs b/src/status_im/handlers.cljs index e958fc2e2d..73727755af 100644 --- a/src/status_im/handlers.cljs +++ b/src/status_im/handlers.cljs @@ -188,12 +188,10 @@ (register-handler :app-state-change (u/side-effect! - (fn [{:keys [webview-bridge] :as db} [_ state]] + (fn [db [_ state]] (case state "background" (status/stop-rpc-server) - "active" (do (status/start-rpc-server) - (when webview-bridge - (.resetOkHttpClient webview-bridge))) + "active" (status/start-rpc-server) nil)))) (register-handler :request-permissions