execute ParseJail synchronously: allows to avoid synchronization deadlocks inside com.github.ericwlange:AndroidJSCore at JSContext instantiation

This commit is contained in:
Roman Volosovskyi 2017-12-11 08:55:19 +02:00
parent 10da67a63f
commit bd017457e3
No known key found for this signature in database
GPG Key ID: 37135489EAE4B2D7
2 changed files with 7 additions and 14 deletions

View File

@ -7,4 +7,4 @@ MAINNET_NETWORKS_ENABLED=1
ERC20_ENABLED=1
OFFLINE_INBOX_ENABLED=0
LOG_LEVEL=debug
JSC_ENABLED=0
JSC_ENABLED=1

View File

@ -179,7 +179,7 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL
String gethLogFileName = "geth.log";
jsonConfig.put("LogEnabled", false);
jsonConfig.put("LogFile", gethLogFileName);
jsonConfig.put("LogLevel", "DEBUG");
jsonConfig.put("LogLevel", "INFO");
jsonConfig.put("DataDir", root + customConfig.get("DataDir"));
jsonConfig.put("NetworkId", customConfig.get("NetworkId"));
try {
@ -509,23 +509,16 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL
@ReactMethod
public void parseJail(final String chatId, final String js, final Callback callback) {
Log.d(TAG, "parseJail chatId:" + chatId);
Log.d(TAG, js);
//Log.d(TAG, js);
if (!checkAvailability()) {
callback.invoke(false);
return;
}
Thread thread = new Thread() {
@Override
public void run() {
String res = jail.parseJail(chatId, js);
Log.d(TAG, res);
Log.d(TAG, "endParseJail");
callback.invoke(res);
}
};
thread.start();
String res = jail.parseJail(chatId, js);
Log.d(TAG, res);
Log.d(TAG, "endParseJail");
callback.invoke(res);
}
@ReactMethod