diff options
Diffstat (limited to 'tests')
3 files changed, 51 insertions, 22 deletions
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java index dae1ac3..3090a11 100644 --- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java +++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java @@ -23,6 +23,7 @@ import android.app.AssistStructure; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; +import android.net.Uri; import android.os.Bundle; import android.service.voice.VoiceInteractionSession; import android.util.Log; @@ -79,6 +80,9 @@ public class MainInteractionSession extends VoiceInteractionSession super.onShow(args, showFlags); mState = STATE_IDLE; mStartIntent = args.getParcelable("intent"); + if (mStartIntent == null) { + mStartIntent = new Intent(getContext(), TestInteractionActivity.class); + } if (mAssistVisualizer != null) { mAssistVisualizer.clearAssistData(); } @@ -119,6 +123,7 @@ public class MainInteractionSession extends VoiceInteractionSession } public void onHandleAssist(Bundle assistBundle) { + boolean hasStructure = false; if (assistBundle != null) { Bundle assistContext = assistBundle.getBundle(Intent.EXTRA_ASSIST_CONTEXT); if (assistContext != null) { @@ -126,6 +131,7 @@ public class MainInteractionSession extends VoiceInteractionSession if (mAssistStructure != null) { if (mAssistVisualizer != null) { mAssistVisualizer.setAssistStructure(mAssistStructure); + hasStructure = true; } } AssistContent content = AssistContent.getAssistContent(assistContext); @@ -133,10 +139,13 @@ public class MainInteractionSession extends VoiceInteractionSession Log.i(TAG, "Assist intent: " + content.getIntent()); Log.i(TAG, "Assist clipdata: " + content.getClipData()); } - return; + } + Uri referrer = assistBundle.getParcelable(Intent.EXTRA_REFERRER); + if (referrer != null) { + Log.i(TAG, "Referrer: " + referrer); } } - if (mAssistVisualizer != null) { + if (!hasStructure && mAssistVisualizer != null) { mAssistVisualizer.clearAssistData(); } } diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java index 67db289..c038414 100644 --- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java +++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java @@ -23,15 +23,18 @@ import android.content.Intent; import android.os.Bundle; import android.service.voice.VoiceInteractionService; import android.util.Log; -import android.view.Gravity; import android.view.View; -import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; public class TestInteractionActivity extends Activity implements View.OnClickListener { static final String TAG = "TestInteractionActivity"; + static final String REQUEST_ABORT = "abort"; + static final String REQUEST_COMPLETE = "complete"; + static final String REQUEST_PICK = "pick"; + static final String REQUEST_CONFIRM = "confirm"; + VoiceInteractor mInteractor; VoiceInteractor.Request mCurrentRequest = null; TextView mLog; @@ -72,21 +75,32 @@ public class TestInteractionActivity extends Activity implements View.OnClickLis mCancelButton.setOnClickListener(this); mInteractor = getVoiceInteractor(); - mCurrentRequest = new VoiceInteractor.ConfirmationRequest( - new VoiceInteractor.Prompt("This is a confirmation"), null) { - @Override - public void onCancel() { - Log.i(TAG, "Canceled!"); - getActivity().finish(); - } - - @Override - public void onConfirmationResult(boolean confirmed, Bundle result) { - Log.i(TAG, "Confirmation result: confirmed=" + confirmed + " result=" + result); - getActivity().finish(); - } - }; - mInteractor.submitRequest(mCurrentRequest); + + VoiceInteractor.Request[] active = mInteractor.getActiveRequests(); + for (int i=0; i<active.length; i++) { + Log.i(TAG, "Active #" + i + " / " + active[i].getName() + ": " + active[i]); + } + + mCurrentRequest = mInteractor.getActiveRequest(REQUEST_CONFIRM); + if (mCurrentRequest == null) { + mCurrentRequest = new VoiceInteractor.ConfirmationRequest( + new VoiceInteractor.Prompt("This is a confirmation"), null) { + @Override + public void onCancel() { + Log.i(TAG, "Canceled!"); + getActivity().finish(); + } + + @Override + public void onConfirmationResult(boolean confirmed, Bundle result) { + Log.i(TAG, "Confirmation result: confirmed=" + confirmed + " result=" + result); + getActivity().finish(); + } + }; + mInteractor.submitRequest(mCurrentRequest, REQUEST_CONFIRM); + } else { + Log.i(TAG, "Restarting with active confirmation: " + mCurrentRequest); + } } @Override @@ -112,7 +126,7 @@ public class TestInteractionActivity extends Activity implements View.OnClickLis getActivity().finish(); } }; - mInteractor.submitRequest(req); + mInteractor.submitRequest(req, REQUEST_ABORT); } else if (v == mCompleteButton) { VoiceInteractor.CompleteVoiceRequest req = new VoiceInteractor.CompleteVoiceRequest( new VoiceInteractor.Prompt("Woohoo, completed!"), null) { @@ -129,7 +143,7 @@ public class TestInteractionActivity extends Activity implements View.OnClickLis getActivity().finish(); } }; - mInteractor.submitRequest(req); + mInteractor.submitRequest(req, REQUEST_COMPLETE); } else if (v == mPickButton) { VoiceInteractor.PickOptionRequest.Option[] options = new VoiceInteractor.PickOptionRequest.Option[5]; @@ -168,7 +182,7 @@ public class TestInteractionActivity extends Activity implements View.OnClickLis } } }; - mInteractor.submitRequest(req); + mInteractor.submitRequest(req, REQUEST_PICK); } else if (v == mJumpOutButton) { Log.i(TAG, "Jump out"); Intent intent = new Intent(Intent.ACTION_MAIN); diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java index 5d212a4..a7636c3 100644 --- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java +++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java @@ -18,6 +18,7 @@ package com.android.test.voiceinteraction; import android.app.Activity; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.view.View; @@ -41,6 +42,11 @@ public class VoiceInteractionMain extends Activity { super.onDestroy(); } + @Override + public Uri onProvideReferrer() { + return Uri.parse("http://www.example.com/VoiceInteractionMain"); + } + View.OnClickListener mStartListener = new View.OnClickListener() { public void onClick(View v) { startService(new Intent(VoiceInteractionMain.this, MainInteractionService.class)); |