Search in sources :

Example 1 with CommandRequest

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);
}
Also used : CommandRequest(ai.saiy.android.command.helper.CommandRequest)

Example 2 with CommandRequest

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();
    }
}
Also used : Quantum(ai.saiy.android.processing.Quantum) CommandRequest(ai.saiy.android.command.helper.CommandRequest)

Aggregations

CommandRequest (ai.saiy.android.command.helper.CommandRequest)2 Quantum (ai.saiy.android.processing.Quantum)1