From 7df846186d29ddfa4a567deddd04ad1043d32fd8 Mon Sep 17 00:00:00 2001 From: Mike LeBeau Date: Fri, 30 Oct 2009 16:11:40 -0700 Subject: Add a privateImeOption to represent that the IME should not show the voice input microphone, if it otherwise would, whenever the search dialog is planning on showing a voice search button (as specified by the current searchable). The IME will respect this shortly. http://b/2228562 --- core/java/android/app/SearchDialog.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'core/java/android/app/SearchDialog.java') diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java index 697ac7654f94..8faef59bab25 100644 --- a/core/java/android/app/SearchDialog.java +++ b/core/java/android/app/SearchDialog.java @@ -96,6 +96,10 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS // 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"; private static final int SEARCH_PLATE_LEFT_PADDING_GLOBAL = 12; private static final int SEARCH_PLATE_LEFT_PADDING_NON_GLOBAL = 7; @@ -543,6 +547,14 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS mSearchAutoComplete.setInputType(inputType); mSearchAutoCompleteImeOptions = mSearchable.getImeOptions(); mSearchAutoComplete.setImeOptions(mSearchAutoCompleteImeOptions); + + // If the search dialog is going to show a voice search button, then don't let + // the soft keyboard display a microphone button if it would have otherwise. + if (mSearchable.getVoiceSearchEnabled()) { + mSearchAutoComplete.setPrivateImeOptions(IME_OPTION_NO_MICROPHONE); + } else { + mSearchAutoComplete.setPrivateImeOptions(null); + } } } -- cgit v1.2.3