@Override public void onRequestPickOption(PickOptionRequest request) { Log.i( TAG, "onPickOption: prompt=" + request.getVoicePrompt() + " options=" + request.getOptions() + " extras=" + request.getExtras()); mConfirmButton.setText("Pick Option"); mPendingRequest = request; setPrompt(request.getVoicePrompt()); mPendingOptions = request.getOptions(); mState = STATE_PICK_OPTION; updatePickText(); updateState(); }
public void onClick(View v) { if (v == mTreeButton) { if (mAssistVisualizer != null) { mAssistVisualizer.logTree(); } } else if (v == mTextButton) { if (mAssistVisualizer != null) { mAssistVisualizer.logText(); } } else if (v == mOptionsCheck) { refreshOptions(); } else if (v == mDisallowAssist) { int flags = getDisabledShowContext(); if (mDisallowAssist.isChecked()) { flags |= SHOW_WITH_ASSIST; } else { flags &= ~SHOW_WITH_ASSIST; } setDisabledShowContext(flags); } else if (v == mDisallowScreenshot) { int flags = getDisabledShowContext(); if (mDisallowScreenshot.isChecked()) { flags |= SHOW_WITH_SCREENSHOT; } else { flags &= ~SHOW_WITH_SCREENSHOT; } setDisabledShowContext(flags); } else if (v == mStartButton) { mState = STATE_LAUNCHING; updateState(); startVoiceActivity(mStartIntent); } else if (v == mConfirmButton) { if (mPendingRequest instanceof ConfirmationRequest) { ((ConfirmationRequest) mPendingRequest).sendConfirmationResult(true, null); mPendingRequest = null; mState = STATE_LAUNCHING; } else if (mPendingRequest instanceof PickOptionRequest) { PickOptionRequest pick = (PickOptionRequest) mPendingRequest; int numReturn = mPendingOptions.length / 2; if (numReturn <= 0) { numReturn = 1; } VoiceInteractor.PickOptionRequest.Option[] picked = new VoiceInteractor.PickOptionRequest.Option[numReturn]; for (int i = 0; i < picked.length; i++) { picked[i] = mPendingOptions[i * 2]; } mPendingOptions = picked; if (picked.length <= 1) { pick.sendPickOptionResult(picked, null); mPendingRequest = null; mState = STATE_LAUNCHING; } else { pick.sendIntermediatePickOptionResult(picked, null); updatePickText(); } } else if (mPendingRequest instanceof CommandRequest) { Bundle result = new Bundle(); result.putString("key", "a result!"); ((CommandRequest) mPendingRequest).sendResult(result); mPendingRequest = null; mState = STATE_LAUNCHING; } } else if (v == mAbortButton && mPendingRequest instanceof AbortVoiceRequest) { ((AbortVoiceRequest) mPendingRequest).sendAbortResult(null); mPendingRequest = null; } else if (v == mCompleteButton && mPendingRequest instanceof CompleteVoiceRequest) { ((CompleteVoiceRequest) mPendingRequest).sendCompleteResult(null); mPendingRequest = null; } else if (v == mScreenshot) { if (mFullScreenshot.getVisibility() != View.VISIBLE) { mFullScreenshot.setVisibility(View.VISIBLE); } else { mFullScreenshot.setVisibility(View.INVISIBLE); } } updateState(); }