History log of /frameworks/base/core/java/android/app/SearchDialog.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
370ca9844fe614b5e741a3e7f6bd5ad5e1cbe905 01-May-2015 Clara Bayarri <clarabayarri@google.com> Allow Floating ActionModes in SearchDialog.

The current implementation was always blocking them due to the override of
the typeless startActionModeForChild method. The typed method already
supports blocking PRIMARY types and lets FLOATING through, but the super
implementation always checks the typeless implementation, hence the
FLOATING action modes were also blocked.

Also cleaned up an unused field and its setter.

Change-Id: I115b4511f1b61512b293af3e53af72c22412ccb0
/frameworks/base/core/java/android/app/SearchDialog.java
0433ae61e2a1dd3dd765aa517fecd94479601ec3 14-Apr-2015 Clara Bayarri <clarabayarri@google.com> Enable Text Selection Action Mode for seach boxes and action bar components.

Pre-M, these were disabled as the ActionMode would be rendered
in the ActionBar, obscuring the originating view. Now that we have
Floating Toolbars, this is no longer the case.

Also the TextViews in this situation used to show the paste popup
which has now been removed, so they require the floating toolbar to
avoid regressions.

BUG: 20205351
Change-Id: Ifdc96c3b0db5b40c890ae807c26b76aa2992edbc
/frameworks/base/core/java/android/app/SearchDialog.java
4423d91de5300d3fd318bf5bc2d4d7e5bb856abf 02-Mar-2015 Clara Bayarri <clarabayarri@google.com> Add a type parameter to startActionMode() calls.

This requires adding a new method to View and Window.Callback to pass
down the type as a parameter.

For compatibility purposes, the new method implementations keep the
type and call the old method, in case clients have subclassed it.

Change-Id: If5d857f131e33be8cc6a8814f2e9c4e85ad2da25
/frameworks/base/core/java/android/app/SearchDialog.java
8eea3ea5591e59f55cbb4f6b2b7e9363a285ced3 04-Feb-2014 Alan Viverette <alanv@google.com> Add APIs for obtaining themed Drawable from Theme, Context

BUG: 12611005
Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
/frameworks/base/core/java/android/app/SearchDialog.java
5bbd1d12a6a1ea429273c10c33c83bbeb0a21a90 24-Jan-2012 Geremy Condra <gcondra@google.com> Removed intent logging from SearchDialog.java

This fixes an issue in which URLs, including HTTPS URLs, were
being sent to logcat.

Change-Id: I85a0aab4d5d1c01cd21f99d88ce4ff343f836cd5
/frameworks/base/core/java/android/app/SearchDialog.java
6a7421ba94b1fca0a20ddf146054ebd771ee471e 27-Jul-2011 Amith Yamasani <yamasani@google.com> Don't submit a query if it's whitespace only.

Just to maintain backward compatibility. It's not documented that a space
is not a valid query, but it does make sense to expect that.
Bug: 5079755

Also avoid showing an x by an empty query, by having the SearchDialog simulate an ActionBar.

Change-Id: I3a9332286a439b659e179a249587c491ef29e5c1
/frameworks/base/core/java/android/app/SearchDialog.java
b4569fb17fada4fdc43e4f4dbfbc79bb097a1f74 09-Jul-2011 Amith Yamasani <yamasani@google.com> SearchView behavioral and visual changes

Align text suggestions and search string.
Close button only clears the field.
Back button clears focus, hides dropdown and keyboard.
Tweaked SearchDialog's use of SearchView to follow above patterns.
Fixed other little bugs.

Change-Id: I9d34c2ebe2b1b2ca887220894c19a26809db85f6
/frameworks/base/core/java/android/app/SearchDialog.java
a40d7ec7ef5f57d61cc3dcc954009593c7829c70 01-Jul-2011 Amith Yamasani <yamasani@google.com> Restore some lost space in the SearchView text field in Search Dialog.

A defunct invisible drawable was taking up some pixels in the Search Dialog's text field.
Disabled the drawable until the spinner functionality is revived.

Change-Id: Icfcc51d7b1215e54f9e291d0051e8b42c208a725
/frameworks/base/core/java/android/app/SearchDialog.java
246529891ee289e8393ad4a486db785ef455c778 24-Jun-2011 Amith Yamasani <yamasani@google.com> SearchView improvements per design.

- X is visible only if there is text, or we need a way to close a
search field that is iconified by default.
- Search dialog (legacy) has a back button to the left.
- Hitting X on a non-focused search view will bring it into focus
and show the keyboard if necessary.

Change-Id: I5a30bb08adcf84639a922a9e13be1d1562f714e6
/frameworks/base/core/java/android/app/SearchDialog.java
8abebcde3fd2317b25629263db6ad4637c8eeb34 20-May-2011 Adam Powell <adamp@google.com> New opaque cab assets; search dialog tweaks.

* New opaque assets (now actually opaque!)

* SearchDialog determines theme to use from parent context

* SearchDialog now disallows action modes

Change-Id: If05fe64d7cc4460678d78412275ee988ddb47e9e
/frameworks/base/core/java/android/app/SearchDialog.java
940ef38c7c46565a8f8fdd6bb8e0183646d0abdc 03-Mar-2011 Amith Yamasani <yamasani@google.com> Pass AppData to the app from SearchDialog queries.

Bug: 3494468

During migration of SearchDialog to use SearchView, the appdata was not
passed along. This fixes the loss.

Change-Id: Ia754086d2bb95294e1d29650a72e4fdddec9c899
/frameworks/base/core/java/android/app/SearchDialog.java
01f21354654a315ea2a2a1668bbda50645123d4a 21-Jan-2011 Adam Powell <adamp@google.com> SearchView API Review - bug 3370353 and bug 3370338

Renaming as per API council review

Change-Id: Id889be5a708fdc295ee50bb1b05014b2ff72122c
/frameworks/base/core/java/android/app/SearchDialog.java
968ec938399033d280b1648123104ac567f2a093 02-Dec-2010 Amith Yamasani <yamasani@google.com> Use SearchView in SearchDialog for legacy apps using the old model.

Bug: 3140925

Removed all the code from SearchDialog that is already in SearchView
and moved more stuff into SearchView.

SearchDialog layout changed to be more like a Holo.Light themed action mode.
Search field is right justified and limited to 500dip.

Zero query dropdown added to SearchView (causing some problems with Gmail,
but that may be an existing issue that's only now showing up due to this change)

Holo.Light search views assets still need to be updated, as the contrast is too low.
/frameworks/base/core/java/android/app/SearchDialog.java
4e256eae3ca61388386dea22497b66df93e9cac9 22-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am c8454a85: am b2b0db2d: Merge "SearchDialog: Fix for NullpointerException while using Suggestions in Browser"

* commit 'c8454a851f26b78de77c0f6b1aa746ce3e2517f1':
SearchDialog: Fix for NullpointerException while using Suggestions in Browser
c8454a851f26b78de77c0f6b1aa746ce3e2517f1 22-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am b2b0db2d: Merge "SearchDialog: Fix for NullpointerException while using Suggestions in Browser"

* commit 'b2b0db2d5c89ae8824a4cb5d7944bae3a1dc8bf4':
SearchDialog: Fix for NullpointerException while using Suggestions in Browser
b00d41acd6bbef4fbdab17320b48e40258732465 22-Nov-2010 Deepika Sai Amuri <damuri@codeaurora.org> SearchDialog: Fix for NullpointerException while using Suggestions in
Browser

Change-Id: Ic208ae51e4f7678363ea6d7de9db97707713bf6d
/frameworks/base/core/java/android/app/SearchDialog.java
e678f46ec45076203f6260f8a26f56d838c6b6ff 16-Sep-2010 Amith Yamasani <yamasani@google.com> Query refinement feature in SearchView.

New method : setQueryRefinementEnabled() which will either enable all suggestions
to have the little query refinement icon in the right or just the ones that have
a bit set in the new SUGGEST_FLAGS column of the suggestion provider cursor.
/frameworks/base/core/java/android/app/SearchDialog.java
720d5985f5d31912c97b7e549230d241e58c1298 14-Sep-2010 Leon Scroggins III <scroggo@google.com> am 901b7b9b: am ca8f3d04: Merge "Add an option to hide the Voice Search icon." into froyo

Merge commit '901b7b9b17d20dc8085fb5fd3bab0f0804f3906b' into gingerbread-plus-aosp

* commit '901b7b9b17d20dc8085fb5fd3bab0f0804f3906b':
Add an option to hide the Voice Search icon.
4a028009468a95e932fc4fcd9ccdd358e02b1b0a 14-Sep-2010 Leon Scroggins III <scroggo@google.com> Add an option to hide the Voice Search icon.

Some search engines do not support voice search, so provide a flag
to disable showing the icon in the SearchDialog.

Change-Id: I7ef4ad5d382edb86c08014260defa4af6d5eca0a
/frameworks/base/core/java/android/app/SearchDialog.java
4138677a72a6ebba3312cc0d32593d11f7a252e1 15-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I405069e9495e43fdcdedc41efce77d43a291272c
e6af73e18eaa1303a1499b6ec240afd953a92607 25-May-2010 Christian Mehlmauer <FireFart@gmail.com> Replaced deprecated Inten.toURI method

Change-Id: Iff3200294edbc1cac188502219bfe481133a5d8e
/frameworks/base/core/java/android/app/SearchDialog.java
e7501c17e6a926505eaf347252c644da44369235 31-Mar-2010 Leon Scroggins <scroggo@google.com> Show the microphone when the search box is opened from browser

Fix for http://b/issue?id=2549036

Also required moving the call to updateWidgetState to after the
update of mUserQuery so mUserQuery could be used as a comparison.

Change-Id: I4996f09c02751a6d74e8f517669025e4bdd709d8
/frameworks/base/core/java/android/app/SearchDialog.java
d0635d51bc8a71e7dcc7dda39862f18aca5bd135 02-Apr-2010 Mike LeBeau <mlebeau@android.com> Use flattenToShortString instead of toShortString on ComponentNames to
be sent in RecognizerIntent.EXTRA_CALLING_PACKAGE. This never should have
been using toShortString because that includes curly braces and is not
correctly parsed by ComponentName.unflattenFromString.

This was needed as part of http://b/2546173

Change-Id: If34a9273cbcae13a75347be0b6b7ef307134ed40
/frameworks/base/core/java/android/app/SearchDialog.java
6af5ad5e618e773e629a490f1ed268b1bc155d59 01-Apr-2010 Mike LeBeau <mlebeau@android.com> Also send EXTRA_CALLING_PACKAGE for voice search intents that do web
search (not just for in-app search). Needed as part of http://b/2546173

Change-Id: I661ff52bace754459651eacd369a19e97364c3c6
/frameworks/base/core/java/android/app/SearchDialog.java
4986044fd3bce877247e425374b47967775081a8 18-Mar-2010 Amith Yamasani <yamasani@google.com> Fix window leak and receiver leak. Bug: 2520143 and Bug: 2517390

In Activity.onDestroy close any open SearchDialog to avoid a window leak.

Register/unregister broadcast receiver in onStart/onStop of the dialog.
/frameworks/base/core/java/android/app/SearchDialog.java
a03d4ce5b4dfcf5d1bdbae085fc5f51da982ff9a 17-Mar-2010 Leon Scroggins <scroggo@google.com> Make browser search consistent with QSB.

Use the arrow icon for the browser search.

Fixes http://b/issue?id=2520802

Change-Id: I5ebc7de2b5df5fe80be730a46da32fee35d5deff
/frameworks/base/core/java/android/app/SearchDialog.java
d25eb35b6b80b6f8065ab39b1cf1abb1fd801234 11-Mar-2010 Amith Yamasani <yamasani@google.com> Fix for 2175289 : Can't get keyboard in search dialog after switching to landscape

The auto complete drop down was obscuring the keyboard. This fix checks if the
screen is in landscape mode and forces the keyboard in front when necessary.
/frameworks/base/core/java/android/app/SearchDialog.java
4f22a545552d308377e178d5df5557cfe15252f9 09-Mar-2010 Leon Scroggins <scroggo@google.com> When context is voice, show the microphone.

Part of fix for http://b/issue?id=2501400

Change-Id: Ibdf364942bcdc8ec837fb8bb30a33c1af2ba5b06
/frameworks/base/core/java/android/app/SearchDialog.java
33b167be343aa6b635113159f9901e9cc48d085e 05-Mar-2010 Bjorn Bringert <bringert@android.com> Hide Go button in browser when no text is entered

Fixes http://b/issue?id=2485438

Change-Id: If3d6106eebb22d8b4a2d9aed8d3118c14fdbedde
/frameworks/base/core/java/android/app/SearchDialog.java
defb1df520ce2e642dc42e8fc1082562294cf741 04-Mar-2010 Amith Yamasani <yamasani@google.com> Show AutoCompleteTextView dropdown in Search dialog when cursor updates. Fixes b/2426929

Calls onFilterComplete when the data set changes, so that it can recompute whether
the dropdown should be shown or not.
/frameworks/base/core/java/android/app/SearchDialog.java
22b23a1bea61df3988daf2c5b7d6fe2f60b80aab 03-Mar-2010 Bjorn Bringert <bringert@android.com> Use "play" icon for search dialog button in Browser

Fixes http://b/issue?id=2485462

Change-Id: Ibc8843b236aa0a063d91fbd37a2c09cebd21163e
/frameworks/base/core/java/android/app/SearchDialog.java
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
/frameworks/base/core/java/android/app/SearchDialog.java
d368572f8e0c9bd851aacb71ea57adecfbd5d1a4 25-Feb-2010 Amith Yamasani <yamasani@google.com> Fix for voice search crash in maps and youtube. Bug 2453182

No need to nullify the context variable.

Also fix 2463128 : No voice icon when text is present in text field
/frameworks/base/core/java/android/app/SearchDialog.java
6cf7a325e6e9e70d9858e21fbb438341332ed254 23-Feb-2010 Bjorn Bringert <bringert@android.com> Clean up global search and web search activity finding

This removes the '*' value for android.app.searchable and
android.app.default_searchable that was previously used by apps to say
that they want global search as their search. I think the only
activity that this will affect is the wallpaper chooser in the
launcher, which doesn't seem like it matters. It could mean that some
third party code will stop invoking global search, but all they would
need to do is call startSearch() with globalSearch=true instead.

Fixes http://b/issue?id=2377433 and http://b/issue?id=2377429

Change-Id: I0252952b44ae85dab31221b598ed79cc24e2b580
/frameworks/base/core/java/android/app/SearchDialog.java
479ae0a28099eb77299fe0f44d4dfabce3115fb6 04-Feb-2010 Amith Yamasani <yamasani@google.com> Cleanup of global search references in SearchDialog and SearchManager.
/frameworks/base/core/java/android/app/SearchDialog.java
c2fd9adf0e804edf530d1cfc805d0c20e8d42c8e 13-Feb-2010 Mike LeBeau <mlebeau@android.com> Add constant to android-common for voice search's EXTRA_CALLING_PACKAGE,
and use it from SearchDialog.
/frameworks/base/core/java/android/app/SearchDialog.java
0ffc570598b3f1503b5b7299db07da975e8264c4 13-Feb-2010 Mike LeBeau <mlebeau@android.com> Really fix the build - one more change to SearchDialog which shouldn't have
been submitted.
/frameworks/base/core/java/android/app/SearchDialog.java
9c57aca188665916cc1dafbbe23dbe8cfd98883d 12-Feb-2010 Mike LeBeau <mlebeau@android.com> Make the corresponding frameworks change to add VoiceRecognitionService to
the list of SDK sample apps.
/frameworks/base/core/java/android/app/SearchDialog.java
5e2c81dca659aaf392e99574f15768caea24c002 11-Feb-2010 Amith Yamasani <yamasani@google.com> Remove in-app to global search toggle. Bug: 2436539

Quick fix to ignore the search key in SearchDialog. Need to
cleanup related code.
/frameworks/base/core/java/android/app/SearchDialog.java
da5c1bd4443b5b569a0d392cd53b476b4e160c47 04-Feb-2010 Bjorn Bringert <bringert@android.com> Remove source selector from SearchDialog

Fixes http://b/issue?id=2419208

This reverts commit 32d580c360da0a0f15e7a080f4ebd0b7b514fe4c.

Change-Id: I5d8821d52badf3e0347230b86671f8ceb65a663d
/frameworks/base/core/java/android/app/SearchDialog.java
0f55b197aabf6e2a902c33217e9ed7fe58cdf9d4 01-Feb-2010 Amith Yamasani <yamasani@google.com> Fix an NPE in SearchDialog when clicking on Mic button. Bug: 2410605
/frameworks/base/core/java/android/app/SearchDialog.java
e9ce3f01d42769f03f10e70c3244500e92d7eee1 25-Jan-2010 Amith Yamasani <yamasani@google.com> Move Search dialog out of system process into current activity.

SearchManager now manages the SearchDialog, in-process.
Nuked SearchDialogWrapper
SearchManagerService now just holds the Searchables information.
Hitting Search when in the local Search dialog will launch the QSB.
/frameworks/base/core/java/android/app/SearchDialog.java
32d580c360da0a0f15e7a080f4ebd0b7b514fe4c 06-Jan-2010 Bjorn Bringert <bringert@android.com> Copy SearchSourceSelector from QuickSearchBox

The widget shows the icon for a search source, and when clicked
fires an intent that shows a search source selection activity.
That intent is handled by the QuickSearchBox app.

This change also adds the source selector to the in-app
search dialog.

An upcoming change to QuickSearchBox will add the search source
selector to the home screen search widget and to the Quick Search Box
activity.

TODO: Add assets for selected and pressed states to the search selector.
TODO: The SearchDialog hides when the soruce selection activity
appears. This will be fixed when SearchDialog is changed from a
system window to a normal app window.

Change-Id: I91eadd60682577614e274ecf5b995b927c70a48a
/frameworks/base/core/java/android/app/SearchDialog.java
980a938c1c9a6a5791a8240e5a1e6638ab28dc77 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
/frameworks/base/core/java/android/app/SearchDialog.java
2126aac7f992b57fc52141a8bd09fa7a45ac2509 03-Dec-2009 Bjorn Bringert <bringert@android.com> Move android.server.search.SearchableInfo to android.app

We need to expose SearchableInfo in the SDK in order to unbundle
Quick Search Box. Since the android.server.search package is
hidden, I'm moving SearchableInfo to android.app, where
SearchManager lives.

This change doesn't actually expose SearchableInfo. I'll do
that in a separate change to keep the change that
api-council needs to review small.

This is part of the fix for: http://b/issue?id=2270838

Change-Id: I9589f9c2c11d36c958beedff8245fe0c3319c6ba
/frameworks/base/core/java/android/app/SearchDialog.java
ded0e6447ed6e0f200dbca13e43c6cf4efc16a1d 18-Nov-2009 Dan Egnor <egnor@google.com> Create android-common static library which gets included in frameworks.jar,
but can also be used by unbundled apps. Move android.text.util.Regex there as
a starting example, renamed to a more sensible (?) com.android.common.Patterns.
Set up a corresponding test package, and move RegexTest (to PatternsTest).
Update clients.
/frameworks/base/core/java/android/app/SearchDialog.java
dc1396c881b80074c99d171aee02d3a5486180ca 06-Nov-2009 Evan Millar <emillar@google.com> Only use FLAG_ACTIVITY_CLEAR_TOP on the search intent when from global search.

Fixes http://b/issue?id=2178591
/frameworks/base/core/java/android/app/SearchDialog.java
7df846186d29ddfa4a567deddd04ad1043d32fd8 31-Oct-2009 Mike LeBeau <mlebeau@android.com> 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
/frameworks/base/core/java/android/app/SearchDialog.java
214b6b9ef91320cd7b2eab592fbe0eec1614f3cb 07-Oct-2009 Bryan Mawhinney <bryanmawhinney@google.com> Only dismiss search dialog after launching intent.

This fixes an NPE that occurs when launching the intent
tries to access state cleared by onStop.

Bug: 2171752
Change-Id: I29232f2a44d8dfa27b2c79933093c0c8983b2e92
/frameworks/base/core/java/android/app/SearchDialog.java
11f09bb5cd45a76ae7757b6f20807e836c3692f8 05-Oct-2009 Bjorn Bringert <bringert@android.com> Don't reinflate search bar when dialog is already showing

Change https://android-git.corp.google.com/g/27729 started reinflating
the entire search bar every time the search source was changed, to get
around problems with bad state in AutoCompleteTextView
(http://b/issue?id=2132686). This had some side-effects if the
search dialog was already visible, as it is when selecting a
source in "More results" or when presing the search key to go to
QSB from in-app search.

This change changes the reinflation to only happen if the dialog is
not already showing.

Fixes:

http://b/issue?id=2166640
"After selecting More results from suggestions, the search box is no longer visible."

http://b/issue?id=2166675
"Calling QSB with the hardware key does not place focus in the search tab."

http://b/issue?id=2166712
"back key has unexpected behaviour in QSB after selecting "More results" from suggestions."

Change-Id: I8d48149c3e9ad97ec11c49ec7efb356f27dfe4f6
/frameworks/base/core/java/android/app/SearchDialog.java
a6309c30722ad3aee88ddc2394cea2a499168d99 01-Oct-2009 Bjorn Bringert <bringert@android.com> On BACK in search, hide just IME if IME is fullscreen

Since a fullscreen IME covers the entire search dialog, there was
no discoverable way to get back to the search dialog.
Now, on BACK presses when the IME is fullscreen (e.g. in landscape
mode without hard keyboard), we dismiss only the IME.
A second BACK press will dismiss the search dialog.

Fixes http://b/issue?id=2159132

Change-Id: I8e5736d83d7c35936a718929017ea04c6214700b
/frameworks/base/core/java/android/app/SearchDialog.java
f36740b2e4a9a187bf688c632c1d0a7ae926c96a 30-Sep-2009 Bryan Mawhinney <bryanmawhinney@google.com> Recreate search dialog view each time it's shown.

This is slower, but less vulnerable to problems in TextField, for example.

Change-Id: I3bb6220f30d8231cedde97fc5e0c4db993660d27
/frameworks/base/core/java/android/app/SearchDialog.java
5b6b41241d97ca6c08b610a421b758815a451803 28-Sep-2009 Bjorn Bringert <bringert@android.com> Don't crash search when getKeyDispatcherState() is null

Fixes http://b/editIssue?id=2150672

Change-Id: I6fb87c1a59b4b3a945822932047a66c4116e6391
/frameworks/base/core/java/android/app/SearchDialog.java
29d52e120f36b46d7ef596b1c182db52d3476be7 25-Sep-2009 Bryan Mawhinney <bryanmawhinney@google.com> Redraw search autocomplete dropdown after config change.

This ensures the dropdown is redrawn after changing
from landscape to portrait mode, for example.

Change-Id: I71f4425d1df789faf34d20dd30b3a5c64b5caec3
/frameworks/base/core/java/android/app/SearchDialog.java
42b7af57c59d8b7cb9be3fea713478424b53b7fc 25-Sep-2009 Bryan Mawhinney <bryanmawhinney@google.com> Dismiss QSB dialog when doing an in-app global search.

This prevents QSB from obscuring the results when they are handled
by the current application.

Bug: 2141208
Change-Id: I6f848aa2003c75b97effe1d3d2af5316ad4fbf92
/frameworks/base/core/java/android/app/SearchDialog.java
077357ccf0c8b35094a69c3fc8bddd9ee605cf78 23-Sep-2009 Bjorn Bringert <bringert@android.com> Back button in search always goes back or closes search

Before, the back button had different behavior depending on
which part of the search dialog had focus, and depending on
whether there were more suggestions than could fit in the
visible space in the drop-down.

This change makes the behavior of the BACK button more
predictable, by always going back to QSB when pivoted
into a source, and closing the search dialog when in
QSB.

Fixes http://b/issue?id=2126526
"One tap of back button when entering text to search
should always take you back to previous page"

Change-Id: I7b3553122eaa1a5d87ac966d5ab2a9f432063cc9
/frameworks/base/core/java/android/app/SearchDialog.java
442da48b24f75e6075763b89943b513197a0bfe9 22-Sep-2009 Bjorn Bringert <bringert@android.com> Use FLAG_ACTIVITY_CLEAR_TOP when launching search suggestions.

Fixes http://b/issue?id=2118143
"Sometimes clicking a contact suggestion opens the
wrong activity in Contacts"

Change-Id: Ie4c150e91e455949e9f17245920850cfe7e6599e
/frameworks/base/core/java/android/app/SearchDialog.java
be5b73c5926cbebd508d8323bdeaafa2e048a93c 22-Sep-2009 Bjorn Bringert <bringert@android.com> Add search_mode flag to intents launched by QSB suggestions

This lets recipents determine whether an intent was launched
by a global search suggestion. This will for example
be used when deciding how to log clicks on web search suggestions.

Needed for http://b/issue?id=2097469

Change-Id: Ifc25ec3477a63be8bad094951bfffa7a5e703e7c
/frameworks/base/core/java/android/app/SearchDialog.java
5417f09c141713c62be697fe10fe149d6d3d0eb4 17-Sep-2009 Bjorn Bringert <bringert@android.com> Send action key and msg with GlobalSearch clicks

Needed for QSB logging, http://b/issue?id=2097469

Change-Id: I817e5b26c9739ab05bd873675854478ce601d234
/frameworks/base/core/java/android/app/SearchDialog.java
3c5767d8fea785ec8d4ad6de96032cdfe752f5da 18-Sep-2009 Bryan Mawhinney <bryanmawhinney@google.com> Track search KeyEvents in SearchDialog.

This fixes the bug preventing switching between global and in-app search,
and also enables long press for voice search (I think).

Bug: 2127442
Change-Id: I045a0f7b2c797c016191709a3983b6b33fc6186e
/frameworks/base/core/java/android/app/SearchDialog.java
0e62e2df369b1f5a8e8ed38d3a6af6f568caf5e4 19-Sep-2009 Bjorn Bringert <bringert@android.com> Set intent_component of in-app shortcuts to app itself

Fixes http://b/issue?id=2130474
"Shortcuts created by pivoted-in search do not
have intent_component_name set"

Change-Id: I702fe39348b762393ed08ce9905771eb892bf782
/frameworks/base/core/java/android/app/SearchDialog.java
dfcbc046d7fcd74c8aacd9f26bd48084900d3b4a 17-Sep-2009 Bryan Mawhinney <bryanmawhinney@google.com> Reserve space for the searchbox spinner, even when stopped.

Make the searchbox spinner invisible (transparent) when it's not active. This prevents the size of the text field from varying depending on whether the spinner is spinning or not, which can cause an annoying flicker.

Bug: 2084293
Change-Id: Idd63a296d1f07c5bd47884040f21e4880038f424
/frameworks/base/core/java/android/app/SearchDialog.java
87d61f22e13e81550559c92f6cf6fb795a39d37f 17-Sep-2009 Bjorn Bringert <bringert@android.com> Handle BACK key with focus in search ACTV correctly

Fixes http://b/issue?id=2124700
"Back key kills pivoted-in search, should go back to QSB"

Change-Id: Ib54c5de158fc362faa3f0fef553ee403437635ae
/frameworks/base/core/java/android/app/SearchDialog.java
8d37426c754e9822feaa8c6cc0b7c13e8523e217 15-Sep-2009 Dianne Hackborn <hackbod@google.com> Various fixed for back key handling.

My last change was far from perfect. Hopefully this gets us
a little closer.

Change-Id: I413e55b6af42400b565de3040859d25d668bc9d2
/frameworks/base/core/java/android/app/SearchDialog.java
83fe3f559249451706957b1a5f660b2b8272f114 13-Sep-2009 Dianne Hackborn <hackbod@google.com> Last big work on #1991910: Make swipes work with capacitive keys

This takes care of allowing us to cancel the back button. The
back button is a bear because it is strewn all over the place --
everywhere you can close something, there is some code looking
for the back button that now needs to deal with being canceled.

The main things changed are activity (of course), dialog,
input method, search dialog. There are some other misc places
in the framework (and some I missed here that I will get in a
second pass).

To facility all of this, the key dispatching APIs now provide
a lot more support for dealing with looking for cancelled keys,
and incidentally also provide an actual API for catching long
key presses. This also helped clean up the code in PhoneWindow
where it deals with all of the combinations of key pressed and
releases. (And also allows people to override
Activity.onKeyLongPress() to provide a different long press
action for a standard key like search.)

And while I was doing this, I reworked how we detect long
presses by having this be part of the key event delivered by
the window manager. This should greatly reduce (hopefully
outright eliminate) the problems with long presses being
mis-detected when an application is being slow.

Change-Id: Ia19066b8d588d573df3eee6d96e1c90fdc19f57d
/frameworks/base/core/java/android/app/SearchDialog.java
2fcaf79a1856186e3823390c488e806c5955c8a6 11-Sep-2009 Bjorn Bringert <bringert@android.com> Tell GlobalSearch about searches without a suggestion

This is the framework part of http://b/issue?id=2099399
"executing a search in QSB should create a shortcut (like
when you click on a search suggestion)"

Change-Id: I2d07d9bfc808112948629ca16b24bc870fbd5fa6
/frameworks/base/core/java/android/app/SearchDialog.java
96836e1e8a79563b84b21bf73a359cfde4042dff 04-Sep-2009 Karl Rosaen <krosaen@android.com> Don't toggle between in app and global search on repeat key events.

Fixes http://b/issue?id=2019231.
/frameworks/base/core/java/android/app/SearchDialog.java
98d8858890227861c5dc28bc7acee9b1adedda45 26-Aug-2009 Bjorn Bringert <bringert@android.com> am ba223760: Close suggestion cursors that arrive after adapter is closed

Merge commit 'ba223760895e62ad2fcb85476984cb29018860c9' into eclair

* commit 'ba223760895e62ad2fcb85476984cb29018860c9':
Close suggestion cursors that arrive after adapter is closed
ba223760895e62ad2fcb85476984cb29018860c9 26-Aug-2009 Bjorn Bringert <bringert@android.com> Close suggestion cursors that arrive after adapter is closed

Before, after using the Browser, memory-hungry apps could
become very sluggish. This was because the search dialog in the
system process had the BrowserProvider open, which in turn had
EnhancedGoogleSearch open. Since EhancedGoogleSearch runs in acore,
the system would keep both the Browser process and acore to stay
around forever.

The cause (or at least one common cause) for this was that
if the user types quickly, and clicks on a suggestion before
the displayed suggestions have caught up, some suggestion cursors
are not be closed.

This change solves this problem by adding a close() method to
SuggestionsAdapter. SuggestionsAdapter now closes any cursors
that are passed to it after close() is called.

Fixes http://b/issue?id=2078226
"global search holding reference to browser: system -> browser -> acore = :("
/frameworks/base/core/java/android/app/SearchDialog.java
d2d6014f715f12f6263f61ba3eeb6f8cba6d0fa6 17-Aug-2009 krosaen <krosaen@android.com> NEW API for SearchManager and Activity to 'triggerSearch'.

This is pretty much the same thing as startSearch, except it also launches the
query. We enforce that this can only be done for the package of the app that is
associated with the search mananger (e.g you can't trigger a contacts search
from anywhere).
/frameworks/base/core/java/android/app/SearchDialog.java
abf44279add64c6f22a40592895225779b8481ea 11-Aug-2009 Karl Rosaen <krosaen@google.com> Fix NPE in SearchDialog (and thereby fix bug 2045398).
/frameworks/base/core/java/android/app/SearchDialog.java
a7a3b6ef0fdaf6b17993642b76baf90a03ae0077 07-Aug-2009 Karl Rosaen <krosaen@google.com> Dismiss both the soft keyboard and the search dialog on back if there is no text entered and no shortcuts are being obscured by the soft keyboard.

Fixes bug 2039508. This makes backing out of the search dialog easier when dismissing the soft keyboard doesn't really
add any value.
/frameworks/base/core/java/android/app/SearchDialog.java
6942330251cd778f85169c6265c584648b42428d 05-Aug-2009 Karl Rosaen <krosaen@google.com> Remove the menu from the search dialog since there are a couple of issues with it we don't have time to fix for donut.

Fixes bugs 2034242 and 2034216 (the issues with the menu showing up above the ime, and triggering the ime to reshow
when closed).
/frameworks/base/core/java/android/app/SearchDialog.java
c5e7fe36fbb79ea888da636779318d3e430aa24c 04-Aug-2009 Mike LeBeau <mlebeau@android.com> Close the search dialog before starting voice search in all cases, i.e.,
also when launching web search, not just when it's using the intent API.
/frameworks/base/core/java/android/app/SearchDialog.java
c2e06072051e319bc609df66f4c72b77716f4fa4 31-Jul-2009 Mike LeBeau <mlebeau@android.com> Tell the SearchManager to stopSearch before starting an in-app voice
search. Without this, because of the recent changes to how the search
dialog hides and resumes, we end up re-showing the search dialog after
returning to the app from voice search, obscuring the new voice search
results behind.

Fixes http://b/2025364
/frameworks/base/core/java/android/app/SearchDialog.java
83dba19a8e9d5be6f18a4c9e2e254386c25c66fe 30-Jul-2009 Bjorn Bringert <bringert@android.com> Fix in-app search shortcut icons

When the suggstion provider is in a different package from the searchable
activity, the icons stored for shortcuts used the package of the
activity instead of the provider.

Fixes http://b/issue?id=2023993
/frameworks/base/core/java/android/app/SearchDialog.java
5a7d752b65edc83abc1eeef462b8bf01038ebdff 30-Jul-2009 Mike LeBeau <mlebeau@android.com> Special-case search within the browser to not show the app icon
to the left of the search field. Also, because this removes context
about whether you're in browser search or global search, we make
sure to clear any entered text if you jump out to global search from
within browser search.

This is a really ugly hack, but was required by the UI team. We will
find a better way to reconcile in Eclair.
/frameworks/base/core/java/android/app/SearchDialog.java
725d8ff6c5b4e27c8b7f2969ce1ddf6ec715ea6d 29-Jul-2009 Bjorn Bringert <bringert@android.com> Log uid and package name when launching intents from search

This is to help debug http://b/issue?id=2020252
where the WEB_SEARCH intent is sometimes not handled.
/frameworks/base/core/java/android/app/SearchDialog.java
f4acf39d99d105e1e4fc7c43fa54377bb2f262ae 28-Jul-2009 Bjorn Bringert <bringert@android.com> Add menu with search settings to search dialog.

Fixes http://b/issue?id=2018143
/frameworks/base/core/java/android/app/SearchDialog.java
003ad48380fe90556da408fedba7dfc1a37790b9 28-Jul-2009 Bjorn Bringert <bringert@android.com> Cancel search on BACK if IME is obscured.

This adds a hidden method AutoCompleteTextView.isImeHidden(),
and uses that in SearchDialog to cancel the search dialog
when BACK is pressed, if there is no previous search component
to return to.

mlebeau says:
If we fill the whole screen then it makes the issue of the back
button a little more important. Specifically, right now if you have
the list expanded and you press back, the keyboard hides but it's not
really showing any more anyway so it seems like pressing the button
does nothing. We rationalized this by saying "part of the keyboard
will be showing so it won't be completely non-obvious that it was
hidden". But since really the right UX is to fill the screen, as part
of this we should probably also add logic to the back button such
that if it is pressed when the list is obscuring the keyboard
(i.e. softInputMode on the PopupWindow is INPUT_METHOD_NOT_NEEDED)
then we should hide the dialog entirely rather than closing the
keyboard.

This is part of the fix for http://b/issue?id=2014450
/frameworks/base/core/java/android/app/SearchDialog.java
da1f4b669ead7813079643b43301f100127aaeed 28-Jul-2009 Bjorn Bringert <bringert@android.com> Only dismiss search on suggestion click in in-app search

We now distinguish between in-app search (pivoted in from GlobalSearch)
and real in-app search mode. Only the latter dismisses the search
dialog when a suggestion is clicked. Also, the drop-down
is now always visible except in real in-app search mode.

Fixes http://b/issue?id=2014626
/frameworks/base/core/java/android/app/SearchDialog.java
5b11a0f3e1d8e2681cfd3326b6808b894bb9c2c3 27-Jul-2009 Bjorn Bringert <bringert@android.com> DPAD_DOWN moves from search/voice search key to drop-down

Fixes http://b/issue?id=2014688
/frameworks/base/core/java/android/app/SearchDialog.java
d4760d77e7e8ab66af0307dcae39e0a8e9d90a14 23-Jul-2009 Mike LeBeau <mlebeau@android.com> Add new hidden API setForceIgnoreOutsideTouch to AutoCompleteTextView for
use by SearchDialog. SearchDialog wants to be able to say a dropdown should
not always be visible but still let it ignore outside touch when it does
show.

Fixes http://b/1997170
/frameworks/base/core/java/android/app/SearchDialog.java
4899e386ff9541e066a37cb5e9449844ded5ae4e 22-Jul-2009 Bjorn Bringert <bringert@android.com> Move global search intent launching to search dialog

Fixes http://b/issue?id=1969032
/frameworks/base/core/java/android/app/SearchDialog.java
5d22f9bbee623dfdf543365489f559da57838d24 20-Jul-2009 Karl Rosaen <krosaen@google.com> add comment to illuminate why we only dismiss the dialog when launching an intent for in app search
/frameworks/base/core/java/android/app/SearchDialog.java
876627d8c52300608c8c716f980a8686f43bf476 20-Jul-2009 Karl Rosaen <krosaen@google.com> whoops, still need to dismiss when launching an intent for in-app search
/frameworks/base/core/java/android/app/SearchDialog.java
ea52d29bc46c306f3607d121aa1ad84f0e9eb473 20-Jul-2009 Karl Rosaen <krosaen@google.com> Fix back key handling for search dialog.

Now that the search manager service handles hiding (not dismissing) and reshowing it
when the user hits back after launching a result, search manager can't cache
"mShowing". Also noticed a few other minor problems that was hosing the handling
of pause / resume to reshow the dialog, like moving some logic to onHide instead
of onDismiss.
/frameworks/base/core/java/android/app/SearchDialog.java
dfefa3e915938aa1eeeaa7c0910a882bded7bcf7 17-Jul-2009 Bjorn Bringert <bringert@android.com> Copy cached drawables in search dialog.

Before, Drawables for cached icons were reused. This is not good,
since they can then share mutable state information. This change
copies all Drawables when getting them from the cache, storing
only the constant state in the cache.

Hopefully fixes http://b/issue?id=1984813
/frameworks/base/core/java/android/app/SearchDialog.java
ffe3ecf2b1ee04288008758c0f60ae22238797c1 17-Jul-2009 Mike LeBeau <mlebeau@android.com> Make the SearchDialog's AutoCompleteTextView dropdown respect the
IME again when the user presses right or left from a query-jammed
suggestion to continue editing. Previously we required the user
to press on the text field again in order to get the IME to show.

We accomplish this by factoring out the code to 'ensureImeVisible'
into a separate method and calling that from SearchDialog.

Fixes http://b/1976338
/frameworks/base/core/java/android/app/SearchDialog.java
ee716fa2b03666622a73f8cc54dae4afd091353d 16-Jul-2009 Bjorn Bringert <bringert@android.com> Make sure SearchDialog.mSearchable != null in key handlers

This change adds checking that the searchdialog is initialized
properly to a few key event listeners where it was missing
before.

Also makes sure that the search dialog is not shown if the
global search is requested but the global search provider
cannot be found.

Should fix http://b/issue?id=1982128
"Device rebooting after search results"
where SearchDialog.onKeyDown() threw an NPE
/frameworks/base/core/java/android/app/SearchDialog.java
260dfb5716eab1dfe9dcb93b3e658cefaad197f9 16-Jul-2009 Mike LeBeau <mlebeau@android.com> Include 'calling_package' extra for uses of in-app voice search so that
the server can tailor recognition to an individual app.
/frameworks/base/core/java/android/app/SearchDialog.java
1fffbd97fa756ef7d3e7e885a5c1c8bb64380c20 15-Jul-2009 Mike LeBeau <mlebeau@android.com> Fix keyboard not showing for global search on Dream. Rather than trying to
call the hidden showSoftInputUnchecked method to show the IME in SearchDialog#show(),
override onWindowFocusChanged in our subclass of AutoCompleteTextView so that whenever
it gets focus, we call the public showSoftInput method, passing in the ACTV, which is
the correct way to do this.

This fixes http://b/1930989.
/frameworks/base/core/java/android/app/SearchDialog.java
b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0 13-Jul-2009 Dianne Hackborn <hackbod@google.com> Add reporting of activity movement for search manager.

This adds a new API with the activity manager to find out about movement between
activities. For my sanity, the old IActivityWatcher is now renamed to
IActivityController, and the new activity movement interface is named
IActivityWatcher.

This changes the search manager itself to use the new API to manage its state.
Note that there are still problems when going back to the search dialog after
it was hidden -- the suggestions window no longer appears until you explicitly
dismiss and re-show it.
/frameworks/base/core/java/android/app/SearchDialog.java
b1665f2e15439f693b1ef75cb1c07593f99edde7 10-Jul-2009 Satish Sampath <satish@android.com> Fix regression in handling the 'Go' button

This was introduced in CL https://android-git.corp.google.com/g/6460.
Bug: http://b/issue?id=1970776
/frameworks/base/core/java/android/app/SearchDialog.java
ec8ee34e06f7d3f55f284da48585a8eecaa9b4b4 08-Jul-2009 Bjorn Bringert <bringert@android.com> Hide soft keyboard in SearchDialog.dismiss()

Before it was hidden in cancel(), which does not get
called when the search dialog is dismissed by clicking
on a suggestion.

Fixes http://b/issue?id=1967633
/frameworks/base/core/java/android/app/SearchDialog.java
444c727e0eecf83e9d0b9c4e7af5cbf5fc4135f8 06-Jul-2009 Bjorn Bringert <bringert@android.com> Run search UI on its own thread.

Details:

- Add a new SearchDialogWrapper class that makes sure
all access to the SearchDialog is run one a single thread
other than the main ServerThread.
- Don't save/restore seach dialog state in Activity.
This resulted in lots of calls to the SearchManager
throughout the life cycle of all activities, for
the questionable benefit of restoring the search dialog
in a few cases.
- Remove search UI state save/restore, and the isVisible()
method from SearchManagerService. They are no longer used,
and were tricky to implement since they return values from
the search UI thread to the service.
- Handle configuration changes in searchDialogWrapper instead
of calling through from Activity.

Fixes http://b/issue?id=1938101

TODO:
- Activity.performPause() calls stopSearch(). This call may not happen
until the new activity has been started. If the new activity starts a
search immediately, this search could be cancelled by the old activity's
call top stopSearch().
/frameworks/base/core/java/android/app/SearchDialog.java
d21572cd446e56efe94689324107927ac2bffd2a 08-Jul-2009 Satish Sampath <satish@android.com> NEW_API: Expose autoUrlDetect searchable attribute.

If provided and true, URLs entered in the search dialog while searching within this activity would be detected and treated as URLs (show a 'go' button in the keyboard and invoke the browser directly when user launches the URL instead of passing the URL to the activity). If set to false any URLs entered are treated as normal query text.
The default value is false. This is an optional attribute.
/frameworks/base/core/java/android/app/SearchDialog.java
617202a53a26d1b38a41ce69c40b1fffd784c178 06-Jul-2009 Mike LeBeau <mlebeau@android.com> Fix a bug where clicking the "more results" suggestion with the trackball
did not seem to expand to show the corpus selectors. (http://b/1906643)

It turns out that when the trackball was used to select this item, onItemClick
was getting called on the listener twice in AutoCompleteTextView#onKeyUp:
once when we call onKeyUp on the DropDownListView, and once a little further
down when we call performCompletion(). In our case, performCompletion() is
useless since it was intended for normal AutoCompleteTextViews which populate
text into the TextView when an item in the list is clicked, but we do not
rely on this. So the easiest fix is just to make performCompletion() do nothing
in our SearchAutoComplete subclass.
/frameworks/base/core/java/android/app/SearchDialog.java
fef8d3e4d8f6f46c098d04b3a57409c947ec1c75 01-Jul-2009 Satish Sampath <satish@android.com> Make search UI open up quicker to the user.

On invoking the search UI, the drop down list box with past queries and shortcut items
appears after a few hundreds of milliseconds on screen. This was because we were
displaying the drop down within the onFilterCompleted callback after the list box filtered
the items based on the given query text. While that code path is necessary, for the first
invocation of the search dialog with an empty query we can show the list box before the
text stuff happens. This change does that, issuing an async request to show the drop
down after pending events have been processed.

Without this change, on an average it took 350ms for the code to show the drop down.
With this change, on an average it takes 150ms.
/frameworks/base/core/java/android/app/SearchDialog.java
b5537c452271634b6ff3981b0624fa65384abd5b 30-Jun-2009 Romain Guy <romainguy@android.com> Replace indeterminate progress animated asset with new ones
/frameworks/base/core/java/android/app/SearchDialog.java
f4f7046183f0daedd17703fa16cf9026442bdaee 27-Jun-2009 Romain Guy <romainguy@android.com> Update spinner's drawables. Clean up resources, pave the way for new animation.
/frameworks/base/core/java/android/app/SearchDialog.java
35df87c6319863beed9fd95d0a279e34ff94e92e 24-Jun-2009 Mike LeBeau <mlebeau@android.com> Fix the weird anchoring of the search dropdown when pivoting into an
app for search. (This started when we moved to system process, not sure
why then, but we should be getting the dropdown to update at this point
regardless.)
/frameworks/base/core/java/android/app/SearchDialog.java
6f8e592347d463044b7dd8999588840cec6e956e 24-Jun-2009 Mike LeBeau <mlebeau@android.com> Move to a single dropdown background for the search dialog. This one
is full-screen width but has rounded corners on the bottom so it doesn't
look crappy if the list is not full-screen height. This was already
being used for in-app search, so I just got rid of the old global search
background and use the in-app one for everything.

By removing the lines in SearchDialog, I'm causing it to rely on the
value specified for the dropdown background in
frameworks/base/core/res/res/layout/search_bar.xml.
/frameworks/base/core/java/android/app/SearchDialog.java
5f80605a0b866f34c74955e190909bd6ab5d992e 24-Jun-2009 Bjorn Bringert <bringert@android.com> Include user query in search intents

This change adds a new intent extra field USER_QUERY set in intents
launched by the search dialog. It contains the query as typed by
the user, unaffected by query jamming or search suggestions.

Fixes http://b/issue?id=1939592
/frameworks/base/core/java/android/app/SearchDialog.java
b0ae27f4e10a9e5fe56b9ca549718051fe342bba 23-Jun-2009 Bjorn Bringert <bringert@android.com> Store correct state in SearchDialog.onSaveInstanceState()

Adds this to the instance state bundle:
- mStoredComponentName
- mStoredAppSearchData
- mPreviousComponents

All the UI selection fields that were previously saved were removed.
It's not necessarily useful to restore the
selection, and it's hard to get right. The old code was buggy
(see http://b/issue?id=1911660) and did not restore the
list selection because that's quite hard.

Fixes http://b/issue?id=1926174
/frameworks/base/core/java/android/app/SearchDialog.java
662df0b9630fd685a7cf86bbfec15ac6b6c286c6 23-Jun-2009 Satish Sampath <satish@android.com> Launch user-entered URLs directly without a web search.

This is to fix bug http://b/issue?id=1931983

Instead of changing the keyboard button from search to carriage return,
I have changed it from search to 'Go' which I find more useful since
it indicates that the user can now go to that URL.
/frameworks/base/core/java/android/app/SearchDialog.java
8d1538237847baf381787b881141f8c0478bef5b 22-Jun-2009 Bjorn Bringert <bringert@android.com> Make all static methods in SearchManager non-static.

They were only static because of a now removed restriction that
only activity contexts could instantiate SearchManager.
This only changes hidden APIs, but all users of the changed methods
must be updated to use them non-statically before this is submitted.
/frameworks/base/core/java/android/app/SearchDialog.java
cce7dbc31ed100b39c3e1174dd3d9a01de648e5b 18-Jun-2009 Mike LeBeau <mlebeau@android.com> Re-enable query jamming.
/frameworks/base/core/java/android/app/SearchDialog.java
bf23fe062ab4321143717c21827d329e087cc72f 16-Jun-2009 Satish Sampath <satish@android.com> Prepare SearchManager framework for adding Genie logging.

- Instead of passing the suggest provider component name as the field
EXTRA_DATA, we now pass via the field COMPONENT_NAME
- Kept EXTRA_DATA field as is so we can use it for real extra data.
/frameworks/base/core/java/android/app/SearchDialog.java
6d3d9892c2115bbb4a20229cf2a44cf809751dde 16-Jun-2009 Bjorn Bringert <bringert@android.com> Don't get location in search dialog.

This change removes all location code from the
system search dialog. The code was out of sync with
the EnhancedGoogleSearchprovider, and was possibly
responsible for some network location provider
crashes.

Instead we will try to make EnhancedGoogleSearch persistent, so that
it has a reasonable location most of the time.
/frameworks/base/core/java/android/app/SearchDialog.java
8d17f3f24bbda9a9cd7ea08c5925508dc2c011be 05-Jun-2009 Bjorn Bringert <bringert@android.com> Run search dialog in the system process.

Fixes http://b/issue?id=1905863

This is needed to address two security issues with global search:
http://b/issue?id=1871088 (Apps can read content providers through GlobalSearch)
http://b/issue?id=1819627 (Apps can use GlobalSearch to launch arbirtrary intents)

This also fixes http://b/issue?id=1693153 (SearchManager.OnDismissListener
never gets called)

To fix the security issues, GlobalSearch also needs to require
a non-app permission to access its content provider and launch intents.
/frameworks/base/core/java/android/app/SearchDialog.java
d4c98c4c450a95b67fe9746675984333b7653713 09-Jun-2009 Karl Rosaen <krosaen@android.com> Track clicks that occur after pivoting into an app from global search.

(framework portion).

Global search has a write-only content provider for reporting clicks that SearchDialog
makes use of.

update: addressed code review feedback
/frameworks/base/core/java/android/app/SearchDialog.java
1c54cf0903cd81467ca41ec6733c459e10b22763 04-Jun-2009 Karl Rosaen <krosaen@android.com> Detect impressions, and cleanup the SearchDialog / SuggestionCursor communication.

(framework portion)

There are now 4 times the search dialog will check with the cursor:
- after data set changed
- when an item is clicked
- when the cursor is about to be closed
- when an item at a particular position is detected as showing

these are now the points where we can add data in either direction, which we use to accomplish:
- finding out whether there are any pending results
- find out if there is a position at which to notify when it is displayed (the "more results" triggering)
- toggling the "more results" button
- sending the max position that was displayed when the cursor is done

the new behavior (in addition to the refactoring) is improved detection of "more results" to trigger the additional sources
(it is now precise), and detection of which items were displayed to the user.
/frameworks/base/core/java/android/app/SearchDialog.java
a058f02b591d971a829cb1e28d48a992e46ad85e 02-Jun-2009 Karl Rosaen <krosaen@android.com> progress towards impression and click stats on all sources, plus some internal cleanup

(framework portion)

suggestionCursor has new callbacks for impressions and clicks
- impressions now used to trigger "more" UI, cleanup apis around that

search dialog reports which position was clicked on via cursor#respond
- can now detect when sources under "more results" are clicked
- also used to simplify existing stuff:
- can detect when "more results" entry is clicked and toggle base on that (no longer need INTENT_ACTION_CURSOR_RESPOND one off)
- use response from click reporting to instruct which position should be selected
/frameworks/base/core/java/android/app/SearchDialog.java
ae9760b62c400e3e7009d4a7b85e9524a5cd44fc 01-Jun-2009 Mike LeBeau <mlebeau@android.com> Add framework support for scrolling to the "More results..." list item
when it is clicked.
/frameworks/base/core/java/android/app/SearchDialog.java
a97f4a117415fd877bc63d6c90a6775ca04eb3fe 23-May-2009 Mike LeBeau <mlebeau@android.com> Remove dimmed background (and accompanying animation) for global
search, since we should never really see that background anyway,
and I suspect the animation is using a significant amount of CPU.
/frameworks/base/core/java/android/app/SearchDialog.java
1c6907515134c8a2e086d2eed4427f909d301935 21-May-2009 Mike LeBeau <mlebeau@android.com> Trigger the LocationManager whenever the SearchDialog is shown
(and stop when the SearchDialog is stopped). This way we get a
network-based location quickly so that by the time any location-
based suggestion provider wants to do suggestions, it's likely
to have a good fresh location.
/frameworks/base/core/java/android/app/SearchDialog.java
1480eb27f5321ef5fc2faeee87c7464e279a4912 21-May-2009 Mike LeBeau <mlebeau@android.com> Add support to SuggestionsAdapter to query the 'working' status
of its underlying cursor and update a spinner in the search dialog
accordingly.
/frameworks/base/core/java/android/app/SearchDialog.java
1746d6fefcb1b4869f475a81f5aec35db4695603 14-May-2009 Marco Nelissen <marcone@google.com> Fix a bug that findbugs found
/frameworks/base/core/java/android/app/SearchDialog.java
a59d7b0f2f9af672d48041b29e147fdce1218c08 13-May-2009 Mike LeBeau <mlebeau@android.com> Make pressing the search button within an app that does not support
search bring up global search. This still respects the case where an
app has chosen to disable search entirely by overriding
onSearchRequested() to return false.

I do not believe any changes to the SearchManager documentation
(http://developer.android.com/reference/android/app/SearchManager.html#HowSearchIsInvoked)
are necessary, because this documentation already indicates that
pressing the search button within an app that does nothing special with
regard to search can bring up global search.
/frameworks/base/core/java/android/app/SearchDialog.java
b059d90691e3ecd2d9843b537e9a08db983586e7 09-May-2009 Mike LeBeau <mlebeau@android.com> Make in-app search have a different background resource which looks
like a slide-out drawer, to provide app context and because it is not
full-screen.

Also fix a problem where bringing up global search sometimes still did
not size the dropdown correctly, because the keyboard was not yet showing.
/frameworks/base/core/java/android/app/SearchDialog.java
98acd54fa6657e8131b3a2a957de7882a2f511ab 08-May-2009 Mike LeBeau <mlebeau@android.com> Make the search dialog's autocomplete dropdown behave correctly
with respect to the soft keyboard. getMaxAvailableHeight in
PopupWindow relies on View's getWindowVisibleDisplayFrame, which
always takes into account the IME, whereas in this case, because
we want the window to extend down to the bottom of the display
when it is being interacted with by the user, I added a new
boolean option 'ignoreBottomDecorations' to getMaxAvailableHeight.
If true, the method returns the height which will extend the
PopupWindow down to the bottom of the screen, rather than just
down to the IME.

Then in AutoCompleteTextView, I set this to true when the
dropDownAlwaysVisible attribute is true and the PopupWindow's
input method mode is INPUT_METHOD_NOT_NEEDED (which happens when
the list is dragged or otherwise interacted with).

Then, because the dropdown height is only calculated when we call
showDropDown(), I had to replace a couple calls to mPopup.update().

There are still a few remaining bugs here I'm tracking Still to do:
* Fix a strange re-placement of the window which happens
intermittently.
* Strange behavior when using the directional pad.
* In a few cases, the list does not correctly size itself to the IME.
This seems to be because the available height is calculated before
the IME is yet on screen, and thus is calculated as the entire screen.
/frameworks/base/core/java/android/app/SearchDialog.java
a92041306e4d73baa10fb711fb905b9590f06b26 05-May-2009 Bjorn Bringert <bringert@android.com> Refactor SearchableInfo.

- Removes the mSearchable field which was only
for communication between the constructor and
getActivityMetaData().
- Removes the badge and query rewriting fields,
since their values can be efficiently computed
on the fly.
- Makes all the other public fields private and adds getters
for them.
- Makes all fields final, except mActionKeys.
- Removes the DBG_INHIBIT_SUGGESTIONS_CONSTANT.
I don't see why we would every want that, and it
complicated making the fields final.
- Makes all fields in ActionKeyInfo final.
- Makes all fields in ActionKeyInfo private and adds getters.
- Removes the use of ActioKeyInfo.mKeyCode for failure
signalling. Uses IllegalArgumentException instead.
- Replaces the ad hoc linked list for looking up
action keys by a HashMap. This is needed to
make the fields in ActionkeyInfo final, and also avoids O(N)
lookup in the (unlikely) case that an activity
has lots of action keys.
- Don't throw exceptions when reading searchable
meta-data, since that could crash SearchManagerService.
- Adds debug logging.
/frameworks/base/core/java/android/app/SearchDialog.java
b3aab6958120ad8bc8d70c493ebf49dcb4fbc30e 30-Apr-2009 Mike LeBeau <mlebeau@android.com> Allow access to global search by pressing the hard search button again
within in-app search. If within in-app search and toggled out to global
search, pressing the hard search button will take the user *back* into
in-app search too.
/frameworks/base/core/java/android/app/SearchDialog.java
c1f40960644b461b108480b6446c89963441492d 29-Apr-2009 Bjorn Bringert <bringert@android.com> Remove menu from SearchDialog.

Before, pressing MENU with the SearchDialog open would show
a menu item that launched the search settings activity. Now that
the search settings are accessible from the Settings app, this is
no longer needed.

Fixes http://b/issue?id=1819469 and http://b/issue?id=1817823
/frameworks/base/core/java/android/app/SearchDialog.java
203464af9638e4d5aecd811452af67fff9aa3087 27-Apr-2009 Bjorn Bringert <bringert@android.com> Add searchSuggestThreshold to searchable meta-data.

This lets the searchable activity specify the number of
characters needed to trigger suggestions. Before, this was
hard-coded at 0. This caused unnecessary querying of the
suggestion provider in cases where the provider does not
return suggestions for empty or short queries.

The attribute is not yet public, pending API council approval.
/frameworks/base/core/java/android/app/SearchDialog.java
98e333f551a4bf2ebb50bb97a2a56b14bfdcd74b 28-Apr-2009 Karl Rosaen <krosaen@google.com> Fix back key and ime behavior for search dialog.

The back key now dismisses the soft keyboard, and then the dialog.

The soft keyboard behavior is improved by having ACTV do the following when 'mDropdownAlwaysShowing' is true:
- touching outside of the drop down doesn't dismiss it
- touching the text field ensures the imei is brought in front of the drop down
/frameworks/base/core/java/android/app/SearchDialog.java
1fd73239dcd2f17603e0819ca9963e04c8267bb2 28-Apr-2009 Mike LeBeau <mlebeau@android.com> Display the app icon to the left of the search field for search within apps.
/frameworks/base/core/java/android/app/SearchDialog.java
875d50a4b9294b2be33cff6493cae7acd1d07ea7 24-Apr-2009 Karl Rosaen <> AI 147564: Merge back from search branch to donut. Notes:
- all public apis and framework changes have been reviewed by relevant folks in our branch (e.g romainguy)
- all new public apis are @hidden; they will still get reviewed by api council once we're in git
- other than that, it's mostly GlobalSearch and search dialog stuff, a new apps provider, and some tweaks
to the contacts provider that was reviewed by jham

Automated import of CL 147564
/frameworks/base/core/java/android/app/SearchDialog.java
a8f556ee8cee24674663fd73c7a5b5a919b2d5bb 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@141726,141726
/frameworks/base/core/java/android/app/SearchDialog.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
/frameworks/base/core/java/android/app/SearchDialog.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/core/java/android/app/SearchDialog.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/SearchDialog.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/SearchDialog.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/core/java/android/app/SearchDialog.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/core/java/android/app/SearchDialog.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/frameworks/base/core/java/android/app/SearchDialog.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
/frameworks/base/core/java/android/app/SearchDialog.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/app/SearchDialog.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
/frameworks/base/core/java/android/app/SearchDialog.java
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
/frameworks/base/core/java/android/app/SearchDialog.java
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
/frameworks/base/core/java/android/app/SearchDialog.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/frameworks/base/core/java/android/app/SearchDialog.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/app/SearchDialog.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/app/SearchDialog.java