summaryrefslogtreecommitdiff
path: root/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java
diff options
context:
space:
mode:
authorCraig Stout <cstout@google.com>2014-09-15 08:23:32 -0700
committerCraig Stout <cstout@google.com>2014-09-15 12:47:00 -0700
commit76d6eba7e2999ca7b030459e73d83f71773a16a3 (patch)
tree163253cd0cb7e806ae01832dc05c8f68305d9f35 /samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java
parentbd2bea18ab91a3e0502c7e74adc977f08d1c511e (diff)
Use new callback for search by intent.
Change-Id: I3e3eafa50a93ad55f55bff0bb5b0b6efdda48bbb
Diffstat (limited to 'samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java')
-rw-r--r--samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java
index 437bd7267..e87201829 100644
--- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java
+++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java
@@ -15,14 +15,50 @@ package com.example.android.leanback;
import android.app.Activity;
import android.os.Bundle;
+import android.support.v17.leanback.app.SearchFragment;
+import android.support.v17.leanback.widget.SpeechRecognitionCallback;
+import android.util.Log;
public class SearchActivity extends Activity
{
+ private static final String TAG = "SearchActivity";
+ private static boolean DEBUG = true;
+
+ /** If using internal speech recognizer, you must have RECORD_AUDIO permission */
+ private static boolean USE_INTERNAL_SPEECH_RECOGNIZER = false;
+ private static final int REQUEST_SPEECH = 1;
+
+ private SearchFragment mFragment;
+ private SpeechRecognitionCallback mSpeechRecognitionCallback;
+
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
+
+ mFragment = (SearchFragment) getFragmentManager().findFragmentById(R.id.search_fragment);
+
+ if (!USE_INTERNAL_SPEECH_RECOGNIZER) {
+ mSpeechRecognitionCallback = new SpeechRecognitionCallback() {
+ @Override
+ public void recognizeSpeech() {
+ if (DEBUG) Log.v(TAG, "recognizeSpeech");
+ startActivityForResult(mFragment.getRecognizerIntent(), REQUEST_SPEECH);
+ }
+ };
+ mFragment.setSpeechRecognitionCallback(mSpeechRecognitionCallback);
+ }
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (DEBUG) Log.v(TAG, "onActivityResult requestCode=" + requestCode +
+ " resultCode=" + resultCode +
+ " data=" + data);
+ if (requestCode == REQUEST_SPEECH && resultCode == RESULT_OK) {
+ mFragment.setSearchQuery(data, true);
+ }
}
}