use of ai.saiy.android.command.helper.CommandRequest in project Saiy-PS by brandall76.
the class Tunnelling method doInBackground.
@Override
protected Qubit doInBackground(final CommandRequest... commandRequestArray) {
final CommandRequest cr = commandRequestArray[0];
vrLocale = cr.getVRLocale(mContext);
ttsLocale = cr.getTTSLocale(mContext);
sl = cr.getSupportedLanguage();
request.setVRLocale(vrLocale);
request.setTTSLocale(ttsLocale);
cr.getResultsArray().removeAll(Collections.singleton(""));
cr.getResultsArray().removeAll(Collections.<String>singleton(null));
return doTunnelling(cr);
}
use of ai.saiy.android.command.helper.CommandRequest in project Saiy-PS by brandall76.
the class RecognitionAction method resolve.
/**
* Resolve the command and check for other conditions such as conversation or root commands.
* <p/>
* Will either forward to {@link Quantum} or start an error response.
* <p/>
* The instance of {@link Quantum} should never be requested to run more than once and in
* theory shouldn't be possible. For the sake of weird and wonderful error handling, we will use
* an {@link AsyncTask#THREAD_POOL_EXECUTOR} so even if an instance is running, a new instance
* is started in parallel to prevent a bottle-neck. This could produce some undesired side-effects
* though.
*/
@SuppressWarnings("unchecked")
private void resolve() {
if (DEBUG) {
MyLog.i(CLS_NAME, "resolve");
}
if (UtilsList.notNaked(resultsRecognition)) {
final CommandRequest cr = new CommandRequest(vrLocale, ttsLocale, sl);
cr.setResultsArray(resultsRecognition);
cr.setConfidenceArray(confidenceScores);
cr.setWasSecure(bundle.getBoolean(RecognizerIntent.EXTRA_SECURE, false));
final Quantum quantum = new Quantum(mContext);
switch(bundle.getInt(LocalRequest.EXTRA_CONDITION, Condition.CONDITION_NONE)) {
case Condition.CONDITION_NONE:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_NONE");
}
quantum.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, cr);
break;
case Condition.CONDITION_CONVERSATION:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_CONVERSATION");
}
// TODO
break;
case Condition.CONDITION_ROOT:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_ROOT");
}
// TODO
break;
case Condition.CONDITION_TRANSLATION:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_TRANSLATION");
}
// TODO
break;
case Condition.CONDITION_USER_CUSTOM:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_USER_CUSTOM");
}
// TODO
break;
case Condition.CONDITION_EMOTION:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_EMOTION");
}
// TODO
break;
case Condition.CONDITION_IDENTITY:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_IDENTITY");
}
// TODO
break;
case Condition.CONDITION_IDENTIFY:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_IDENTIFY");
}
// TODO
break;
case Condition.CONDITION_GOOGLE_NOW:
if (DEBUG) {
MyLog.i(CLS_NAME, "Condition.CONDITION_GOOGLE_NOW");
}
// TODO - this is in danger of creating multiple instances
quantum.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, cr);
break;
case Condition.CONDITION_IGNORE:
if (DEBUG) {
MyLog.w(CLS_NAME, "Condition.CONDITION_IGNORE");
}
sendErrorLocalRequest();
break;
default:
if (DEBUG) {
MyLog.w(CLS_NAME, "Condition.default");
}
sendErrorLocalRequest();
break;
}
} else {
if (DEBUG) {
MyLog.w(CLS_NAME, "recognition results naked");
}
sendErrorLocalRequest();
}
}
Aggregations