Commit Graph

239 Commits

Author SHA1 Message Date
Mike LeBeau
05b775e0b7 Update SearchManager documentation to reflect latest behavior. 2009-08-28 15:52:56 -07:00
Android (Google) Code Review
1e3483780c Merge change 23043 into donut
* changes:
  Revert "Remove third party support for Quick Search Box (aka global search)."
2009-08-27 18:32:27 -07:00
Karl Rosaen
590f63433c Revert "Remove third party support for Quick Search Box (aka global search)."
This reverts commit a647b7f29d65a7792cede74284e714b591337992.
2009-08-27 17:42:48 -07:00
Bjorn Bringert
ba22376089 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 = :("
2009-08-26 13:18:40 +01:00
Anonymous Coward
081a136d25 Remove third party support for Quick Search Box (aka global search).
- @hides relevant APIs
- removes relevant javadoc
- enforces that only system apps can participate

note: general support is still there, will be easy to reenable when we are ready.
2009-08-21 12:47:14 -07:00
Mike LeBeau
cfa419b754 Correct comments for startSearch in Activity and SearchManager to explain
Donut behavior correctly.
2009-08-17 11:10:32 -07:00
Dianne Hackborn
82e1ee93ee Fix issue #2048263: More debugging information
We now hopefully do better about generating the anr reports, and include
information about the malloc loaded assets in meminfo.
2009-08-11 18:56:41 -07:00
Karl Rosaen
b504136852 Docs only change: finish documentation of Android Quick Search Box related information in SearchManager.
Includes:
- an overview section on including search suggestions in quick search box
- additional table of searchable metadata attributes related to quick search box
- additional column descriptions that we've added for quick search box.
- description of how to expose your content provider's search suggestions to
the search infrastructure if you have permissions guarding your content provider.
2009-08-11 13:43:14 -07:00
Karl Rosaen
abf44279ad Fix NPE in SearchDialog (and thereby fix bug 2045398). 2009-08-10 17:09:24 -07:00
Mike LeBeau
8c91dd7ec8 First update of SearchManager docs to reflect the new Donut Quick Search Box feature.
This simply cleans up any inconsistencies or weirdnesses, we still need to add the new
info for QSB.
2009-08-10 16:32:29 -07:00
Karl Rosaen
a7a3b6ef0f 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.
2009-08-06 16:23:19 -07:00
Mike LeBeau
e303d2cf94 Send a special respond to the cursor in SuggestionsAdapter to tell it to
close itself directly because it may not happen correctly for some cursors
currently. This fixes http://b/2036290, which is being caused by
http://b/2015069 which we are not fixing for Donut, so this is a hack around
that for the time being.
2009-08-06 14:52:15 -07:00
Android (Google) Code Review
d4543c519b Merge change 20108 into donut
* changes:
  Guard against remote process dying when retrieving column from cursor.
2009-08-05 10:41:09 -07:00
Karl Rosaen
a02d0d6020 Guard against remote process dying when retrieving column from cursor.
Fixes bug 2035791.
2009-08-05 10:35:00 -07:00
Karl Rosaen
6942330251 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).
2009-08-05 10:34:53 -07:00
Mike LeBeau
c5e7fe36fb 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.
2009-08-04 13:24:19 -07:00
Mike LeBeau
c2e0607205 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
2009-07-30 15:48:24 -07:00
Bjorn Bringert
83dba19a8e 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
2009-07-30 13:58:23 +01:00
Mike LeBeau
5a7d752b65 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.
2009-07-29 18:17:13 -07:00
Bjorn Bringert
725d8ff6c5 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.
2009-07-29 11:11:52 +01:00
Android (Google) Code Review
9b91d78a21 Merge change 8911 into donut
* changes:
  Fix issue #1999179: search -> click result -> press home = search dialog is shown then hidden
2009-07-28 22:08:30 -07:00
Dianne Hackborn
a6ddc8af22 Fix issue #1999179: search -> click result -> press home = search dialog is shown then hidden
Re-arrange various things to ensure that the search dialog is told about system windows being
closed before it is told about the navigation back to home.
2009-07-28 17:55:13 -07:00
Android (Google) Code Review
f0d83fd907 Merge change 8752 into donut
* changes:
  Updates from API review.
2009-07-28 12:36:49 -07:00
Bjorn Bringert
f4acf39d99 Add menu with search settings to search dialog.
Fixes http://b/issue?id=2018143
2009-07-28 20:15:49 +01:00
Android (Google) Code Review
c6590d6f39 Merge change 8759 into donut
* changes:
  Cancel search on BACK if IME is obscured.
2009-07-28 10:45:35 -07:00
Android (Google) Code Review
1dd6936a86 Merge change 8728 into donut
* changes:
  Fix resource code and version attributes Create a new package setting object for updated system apps rather than moving around the same setting. This updates the resource, code and version correctly. For updating system packages, disable the package first which removes the entry from internal structures, create a new package setting, add it to list of user id's then rest of installation steps, kill the process if needed via ActivityManager then add this setting if everything was successful. This also fixes issues with updating values prematurely.
2009-07-28 10:18:47 -07:00
Suchi Amalapurapu
261e66acd1 Fix resource code and version attributes
Create a new package setting object for updated system apps rather than moving
around the same setting. This updates the resource, code and version correctly.
For updating system packages, disable the package first which removes the entry
from internal structures, create a new package setting, add it to list of user id's
then rest of installation steps, kill the process if needed via ActivityManager
then add this setting if everything was successful. This also fixes issues with
updating values prematurely.

When a new version of system package is available via OTA, just physically remove
entries for pkg. Note that the component and other info will be eventually updated
later on when scanning the package.
Also move certificate verification slightly ahead before scanning packages.

Some null checks

New api's in ActivityManager to kill an application pkg before finishing installation
2009-07-28 10:21:38 -07:00
Bjorn Bringert
003ad48380 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
2009-07-28 17:39:17 +01:00
Bjorn Bringert
da1f4b669e 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
2009-07-28 15:15:26 +01:00
Dianne Hackborn
7f2054392e Updates from API review.
* AccessibilityService -- document onBind() to not be implemented.
    * GestureLibrary.getLearner() -- needs to be hidden.
    * IntentSender -- remove protected constructors, document that it is retrieved from a PendingIntent.
    * Hide permissions: SHUTDOWN, STOP_APP_SWITCHES.
    * Context -- hide BACKUP_SERVICE.
    * ContextWrapper -- hide getSharedPrefs bla h blah
    * Intent.parseUri() -- fix docs.
    * ApplicationInfo.FLAG_TEST_ONLY?!?
    * Hide MockContext.getSharedPrefs blah blah
2009-07-28 00:13:47 -07:00
Dianne Hackborn
0d907fa00b Fix issue #1991230: DisplayMetrics.displayHeight is not updated with orientation change 2009-07-27 20:48:50 -07:00
Android (Google) Code Review
ef9fd18d90 Merge change 8616 into donut
* changes:
  Fiddle with default densities to try to sanitize the API.
2009-07-27 12:03:36 -07:00
Bjorn Bringert
5b11a0f3e1 DPAD_DOWN moves from search/voice search key to drop-down
Fixes http://b/issue?id=2014688
2009-07-27 17:10:46 +01:00
Bjorn Bringert
9377738cdb Remove search dialog PRE_CLOSE event
This is part of the fix for http://b/issue?id=2000655
2009-07-27 11:48:32 +01:00
Bjorn Bringert
6ddaa3497c Send max displayed position in search dialog click event
This is part of the fix for http://b/issue?id=2000655
2009-07-27 11:44:56 +01:00
Dianne Hackborn
96e240f25a Fiddle with default densities to try to sanitize the API.
An issue with the density API is that bitmaps assumed the old default density,
so new programs would have to explicitly set the correct density for every bitmap
they create.

This is an attempt to fix that situation, by define the default density of bitmaps
to be the main screen's density, except for old apps where it is the original default
density.

Actually implementing this is not so great, though, because the Bitmap constructors
can't really know anything about who is calling them to know which density to use.
So at this level the compatibility mode is defined per-process -- meaning the initial
package loaded into a process defines the default bitmap density, and everyone else
loaded in later on has to live with that.

In practice this shouldn't be much of a problem, there shouldn't be much mixing of
old vs. new apps in a process.  It does mean that, going forward, if a developer is
going to use shared user IDs for this, they will need to make sure either that all of
their apps are in the same compatibility mode, or that their code explicitly sets the
density of bitmaps it receives.  This isn't all that great, but I think it is worth
the benefit of allowing people who write modern apps to not have to deal with bitmap
densities.

This change also does some cleanup of the density management (making sure to always
copy over bitmap densities, etc) and adds java docs to explain the various ways
density is set and used by the system.
2009-07-26 17:42:30 -07:00
Dianne Hackborn
11ea33471e Allow for screen density drawables in compatibility mode.
This change allows us to use drawables that match the current screen
density even when being loaded in compatibility mode.  In this case,
the bitmap is loaded in the screen density, and the bitmap and
nine-patch drawables take care of accounting for the density difference.

This should be safe for existing applications, for the most part, since
they shouldn't really be pulling the bitmap out of the drawable.  For
the small rare chance of them breaking, it worth getting the correct
graphics.  Also this will only happen when there is actually a resource
of the matching density, and no existing apps should have resources for
anything besides the default density (though of course all of the
framework resources will be available in the native density).

As part of this, the bitmap density API has been changed to a single
integer provider the DPI unit density.
2009-07-24 10:47:15 -07:00
Android (Google) Code Review
0a4730f888 Merge change 8443 into donut
* changes:
  add some more defensiveness to SuggestionsAdapter to avoid system process crashes.
2009-07-23 17:38:24 -07:00
Karl Rosaen
92f461ea66 add some more defensiveness to SuggestionsAdapter to avoid system process crashes. 2009-07-23 17:20:47 -07:00
Mike LeBeau
d4760d77e7 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
2009-07-22 15:19:59 -07:00
Android (Google) Code Review
0b1a255f73 Merge change 8228 into donut
* changes:
  Remove background padding workaround from SuggestionsAdapter
2009-07-22 13:31:20 -07:00
Bjorn Bringert
6aaeba20d2 Remove background padding workaround from SuggestionsAdapter
Romain has checked in a framework fix,
https://android-git.corp.google.com/g/8218
so the workaround added in
https://android-git.corp.google.com/g/8209
is no longer needed.

Fixes http://b/issue?id=1996635
2009-07-22 21:26:29 +01:00
Android (Google) Code Review
e94b28773d Merge change 8186 into donut
* changes:
  Move global search intent launching to search dialog
2009-07-22 12:14:58 -07:00
Bjorn Bringert
8051172a28 Work around StateListDrawable padding in search suggestions
Sometimes when searching, some of the suggestions had no left padding.
The left-hand side icons were flush with the left edge of the screen.
The problems was that setting a StateListDrawable as a background
will always set the padding of a View, because of a problem in
DrawableContainer.

DrawableContainer.DrawableContainerState.getConstantPadding()
will always return a Rect if mVariablePadding is false, which
makes DrawableContainer.getPadding() return true, which
causes View to change the padding.

As a workaround, we use setVariablePadding(true) on the background
that we create.

Fixes http://b/editIssue?id=1984813
2009-07-22 19:13:39 +01:00
Bjorn Bringert
4899e386ff Move global search intent launching to search dialog
Fixes http://b/issue?id=1969032
2009-07-22 18:36:22 +01:00
Karl Rosaen
ec0a12cf19 Don't start search from a dialog if there is no activity associated with
the search manager at that point.

Still works:
- hitting search when a managed dialog of an app is showing will dismiss
  the dialog and start in-app search (if it supports it), falling back
  on global search
- hitting search when a dialog of an app (not managed by the activity) will
  dismiss the dialog and start global search
- hitting search when a system dialog is showing will just dismiss the dialog.
2009-07-21 16:21:32 -07:00
Mike LeBeau
d4fb7a0d90 Define a broadcast intent for the web search provider changing. Unhide
the broadcast intent for searchables changing.
2009-07-20 17:37:38 -07:00
Mike LeBeau
131234c6f1 Unhide new SearchManager APIs for Donut. 2009-07-20 17:14:16 -07:00
Karl Rosaen
5d22f9bbee add comment to illuminate why we only dismiss the dialog when launching an intent for in app search 2009-07-20 14:34:16 -07:00
Karl Rosaen
876627d8c5 whoops, still need to dismiss when launching an intent for in-app search 2009-07-20 14:30:55 -07:00