Skip to content

Commit

Permalink
Fix problem with threads
Browse files Browse the repository at this point in the history
  • Loading branch information
Danil Skachkov committed Dec 4, 2015
1 parent 78541f5 commit a6be969
Showing 1 changed file with 31 additions and 21 deletions.
52 changes: 31 additions & 21 deletions src/android/ApiAiPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -97,30 +97,32 @@ public void run() {
} else if (action.equals("requestText")) {
JSONObject argObject = args.getJSONObject(0);

if (argObject != null) {
final RequestExtras requestExtras = new RequestExtras();
String query = "";
if (argObject == null) {
callbackContext.error("Arguments is empty");
return true;
}

if (argObject.has("query")) {
query = argObject.getString("query");
}
else {
callbackContext.error("Argument query must not be empty");
}
if (!argObject.has("query")) {
callbackContext.error("Argument query must not be empty");
return true;
}

fillContextsFromArg(argObject, requestExtras);
fillEntitiesFromArg(argObject, requestExtras);
final RequestExtras requestExtras = new RequestExtras();
final String query = argObject.getString("query");

if (argObject.has("resetContexts")) {
requestExtras.setResetContexts(argObject.getBoolean("resetContexts"));
}
fillContextsFromArg(argObject, requestExtras);
fillEntitiesFromArg(argObject, requestExtras);

this.textRequest(query, requestExtras, callbackContext);
if (argObject.has("resetContexts")) {
requestExtras.setResetContexts(argObject.getBoolean("resetContexts"));
}
else{
callbackContext.error("Arguments is empty");
}


this.cordova.getThreadPool().execute(new Runnable() {
public void run() {
textRequest(query, requestExtras, callbackContext);
}
});

return true;
} else if (action.equals("requestVoice")) {

Expand All @@ -136,10 +138,18 @@ public void run() {
requestExtras.setResetContexts(argObject.getBoolean("resetContexts"));
}

this.requestVoice(requestExtras, callbackContext);
this.cordova.getThreadPool().execute(new Runnable() {
public void run() {
requestVoice(requestExtras, callbackContext);
}
});
}
else{
this.requestVoice(null, callbackContext);
this.cordova.getThreadPool().execute(new Runnable() {
public void run() {
requestVoice(null, callbackContext);
}
});
}

return true;
Expand Down

0 comments on commit a6be969

Please sign in to comment.