From 9c57aca188665916cc1dafbbe23dbe8cfd98883d Mon Sep 17 00:00:00 2001 From: Mike LeBeau Date: Fri, 12 Feb 2010 14:09:55 -0800 Subject: [PATCH] Make the corresponding frameworks change to add VoiceRecognitionService to the list of SDK sample apps. --- Android.mk | 4 +- .../android/common/speech/Recognition.java | 38 +++++++++++++++++++ core/java/android/app/SearchDialog.java | 6 +-- 3 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 common/java/com/android/common/speech/Recognition.java diff --git a/Android.mk b/Android.mk index 4ecf5bd651979..0911712f871b3 100644 --- a/Android.mk +++ b/Android.mk @@ -409,7 +409,9 @@ web_docs_sample_code_flags := \ -samplecode $(sample_dir)/Wiktionary \ resources/samples/Wiktionary "Wiktionary" \ -samplecode $(sample_dir)/WiktionarySimple \ - resources/samples/WiktionarySimple "Wiktionary (Simplified)" + resources/samples/WiktionarySimple "Wiktionary (Simplified)" \ + -samplecode $(sample_dir)/VoiceRecognitionService \ + resources/samples/VoiceRecognitionService "Voice Recognition Service" ## SDK version identifiers used in the published docs # major[.minor] version for current SDK. (full releases only) diff --git a/common/java/com/android/common/speech/Recognition.java b/common/java/com/android/common/speech/Recognition.java new file mode 100644 index 0000000000000..c647687d58b9d --- /dev/null +++ b/common/java/com/android/common/speech/Recognition.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.common.speech; + +import android.app.SearchDialog; + +/** + * Utilities for voice recognition implementations. + * + * @see android.app.RecognitionService + */ +public class Recognition { + + /** + * The extra key used in an intent to the speech recognizer for voice search. Not + * generally to be used by developers. The {@link SearchDialog} uses this, for example, + * to set a calling package for identification by a voice search API. If this extra + * is set by anyone but the system process, it should be overridden by the voice search + * implementation. + */ + public final static String EXTRA_CALLING_PACKAGE = "calling_package"; + + private Recognition() { } // don't instantiate +} diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java index 63e95c0aa8f55..e4c1ba6e851f1 100644 --- a/core/java/android/app/SearchDialog.java +++ b/core/java/android/app/SearchDialog.java @@ -68,6 +68,7 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import com.android.common.Patterns; +import com.android.common.speech.Recognition; import java.util.ArrayList; import java.util.WeakHashMap; @@ -94,9 +95,6 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS private static final String INSTANCE_KEY_PREVIOUS_COMPONENTS = "sPrev"; private static final String INSTANCE_KEY_USER_QUERY = "uQry"; - // The extra key used in an intent to the speech recognizer for in-app voice search. - private static final String EXTRA_CALLING_PACKAGE = "calling_package"; - // The string used for privateImeOptions to identify to the IME that it should not show // a microphone button since one already exists in the search dialog. private static final String IME_OPTION_NO_MICROPHONE = "nm"; @@ -948,7 +946,7 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS voiceIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, prompt); voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, language); voiceIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, maxResults); - voiceIntent.putExtra(EXTRA_CALLING_PACKAGE, + voiceIntent.putExtra(Recognition.EXTRA_CALLING_PACKAGE, searchActivity == null ? null : searchActivity.toShortString()); // Add the values that configure forwarding the results