Merge commit 'f9acde27486bcc6eea1092073f7b47c31749efd6'
* commit 'f9acde27486bcc6eea1092073f7b47c31749efd6':
Include web search providers in Searchables.
- Along with ACTION_SEARCH we now enumate ACTION_WEB_SEARCH as well so web search providers are covered in the searchables list. This fixes a broken unit test.
- Moved get/setPreferredWebSearchActivity and get-all-web-search-providers implementation to this module when the searchables list gets updated, so that it happens on boot and on package add/remove events and remains up to date. The duplicate code in WebSearchProvider will be removed in a separate change.
- Also made Searchables broadcast an intent when the searchables list got rebuilt, so components such as GlobalSearch/SuggestionSources no longer need to do this on their own.
Merge commit '320b2eeeea426dc06f7bb7f37c3d795babeb6adb'
* commit '320b2eeeea426dc06f7bb7f37c3d795babeb6adb':
SearchDialog should only do DialogCursorProtocol stuff when in global search mode.
The handwritten binder transaction passing wasn't propagating the agent-destroy
transaction to the client side. Oops.
Also, remove obsolete run-one-agent code from the backup manager service.
(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.
This is no longer needed, since content providers can now return
AssetFileDescriptors for in-memory data.
Bitmaps in the suggestion cursor was resopnsible for lots of
unnecessary copying, since all rows are copied out of the database
regardless of how many are displayed in the UI.
(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.
This is no longer needed, since content providers can now return
AssetFileDescriptors for in-memory data.
Bitmaps in the suggestion cursor was resopnsible for lots of
unnecessary copying, since all rows are copied out of the database
regardless of how many are displayed in the UI.
Merge commit '9189cabb0b6c6c28232fe6f412b7ba7a37352a6a'
* commit '9189cabb0b6c6c28232fe6f412b7ba7a37352a6a':
* Moved supports-density tag under manifest
* Refactored Compatibility code
* Added CompatibilityInfo class
* Removed getApplicationScale from Context
* Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context
* Expandable support
* Added expandable tag under manifest
* Old application w/o expandable is given the default screen size ([320, 480] x density).
* The non-expandable window is centered.
Before, SuggestionsAdapter would not close input streams after
reading icons from them. This leaks file descriptors and,
in the case of MemoryFiles, virtual address space.
This was required because we need a way to set the preferred activity for a
particular intent filter based on user selection (in our case the
ACTION_WEB_SEARCH intent filter for selecting the preferred search engine from
the list of available search engines providers). The current
addPreferredActivity call was not sufficient since it leaves the existing
preferred activities in the list and does not remove them, which this call
does.
Merge commit 'a058f02b591d971a829cb1e28d48a992e46ad85e'
* commit 'a058f02b591d971a829cb1e28d48a992e46ad85e':
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
Merge commit 'f5df83035a45173f9ecdeaef03b68abc8a940ace'
* commit 'f5df83035a45173f9ecdeaef03b68abc8a940ace':
Add backup side of new FullBackupAgent class
This class backs up an app's entire data directory tree. Intended for use
by the backup-through-adb full mirroring facility, etc. @hide because
it's not really something end apps will need to use.
Merge commit 'c17f16e33a0fca7efa10e758a526cd8d5d3a31f3'
* commit 'c17f16e33a0fca7efa10e758a526cd8d5d3a31f3':
Change comment for SUGGEST_COLUMN_INTENT_EXTRA_DATA to clarify that
Merge commit 'b249890bc6740531898d94aaecac34d5736106bc'
* commit 'b249890bc6740531898d94aaecac34d5736106bc':
Add framework support for scrolling to the "More results..." list item
Merge commit '181fafaf48208978b8ba2022683ffa78aaeddde1'
* commit '181fafaf48208978b8ba2022683ffa78aaeddde1':
Retool the backup process to use a new 'BackupAgent' class
Backups will be handled by launching the application in a special
mode under which no activities or services will be started, only
the BackupAgent subclass named in the app's android:backupAgent
manifest property. This takes the place of the BackupService class
used earlier during development.
In the cases of *full* backup or restore, an application that does
not supply its own BackupAgent will be launched in a restricted
manner; in particular, it will be using the default Application
class rather than any manifest-declared one. This ensures that the
app is not running any code that may try to manipulate its data
while the backup system reads/writes its data set.
Merge commit 'f0e7e4a9461ab3daf57ecfec3d25be583380d0d2'
* commit 'f0e7e4a9461ab3daf57ecfec3d25be583380d0d2':
Cause the icon drawables to animate automatically by calling setVisible
* changes:
Cause the icon drawables to animate automatically by calling setVisible false and then true on the drawables. For an AnimationDrawable, this will trigger the desired behavior of 'automatically' starting the animation, which should have been working to begin with according to the intended design of AnimationDrawable (see http://b/1878430 for my description of my correspondence with Romain). For Donut we'll just do this to work around it, but for a later release we need to decide a better story.
Merge commit '298784cd8a7ed77923bdb51de38c15e4c246a037'
* commit '298784cd8a7ed77923bdb51de38c15e4c246a037':
This just makes it easier to derive from ApplicationErrorReport.
false and then true on the drawables. For an AnimationDrawable, this will
trigger the desired behavior of 'automatically' starting the animation,
which should have been working to begin with according to the intended
design of AnimationDrawable (see http://b/1878430 for my description of
my correspondence with Romain). For Donut we'll just do this to work
around it, but for a later release we need to decide a better story.
Merge commit '2a4daf06fb36ff932f9d52962284ba369cee1ce0'
* commit '2a4daf06fb36ff932f9d52962284ba369cee1ce0':
Activity Manager changes the scheduling group of processes.
The algorithm for this is currently very simple: all persistent processes are
always in the normal scheduling group, all other processes are normal if their
oom_adj is as good or better than VISIBLE, otherwise they are in the background
group.
Note that this currently results in a fair number of log messages about not
being able to change the group, since the system process does not have
permission to do so. Once a kernel fix is in, these will go away and the code
will start working.
Merge commit '6dd1bb71dbafbacd87e46b736888cb1371ddd53a'
* commit '6dd1bb71dbafbacd87e46b736888cb1371ddd53a':
Trigger the LocationManager whenever the SearchDialog is shown
Merge commit 'f9c7d9a75b2355d8ad8282d9b4cf817c77ea8b10'
* commit 'f9c7d9a75b2355d8ad8282d9b4cf817c77ea8b10':
Add support to SuggestionsAdapter to query the 'working' status
(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.