diff options
| author | Craig Stout <cstout@google.com> | 2014-09-15 08:23:32 -0700 |
|---|---|---|
| committer | Craig Stout <cstout@google.com> | 2014-09-15 12:47:00 -0700 |
| commit | 76d6eba7e2999ca7b030459e73d83f71773a16a3 (patch) | |
| tree | 163253cd0cb7e806ae01832dc05c8f68305d9f35 /samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchActivity.java | |
| parent | bd2bea18ab91a3e0502c7e74adc977f08d1c511e (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.java | 36 |
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); + } } } |
