Merge commit '5a76ae46854ac449f94e1f75ef13ce035e4c65cd'
* commit '5a76ae46854ac449f94e1f75ef13ce035e4c65cd':
Update Searchables test with new GlobalSearch name
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().
Add small unit test for NeighboringCellInfo in AndroidTests. The old telephony unit test directory, CoreTest/android, is marked as deprecated in AndroidTestHowto.
new file: tests/AndroidTests/src/com/android/unit_tests/NeighboringCellInfoTest.java
Merge commit '37ea71122579e9e2ad1f91b3eca5e4d436b54ea9'
* commit '37ea71122579e9e2ad1f91b3eca5e4d436b54ea9':
septet-align UD after any UDH for GSM-7bit coding
Otherwise, the different text measurement methods produce slightly
different results and cause the text to show different results for
Spanned vs. non-Spanned source strings.
Bug 1837826
Merge commit '2c10b5f483f832523305c11d44035fc7f5d9a54b'
* commit '2c10b5f483f832523305c11d44035fc7f5d9a54b':
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.
Merge commit '5c1c40d28cb4c0dc5efbdb6e9e695685044606e9'
* commit '5c1c40d28cb4c0dc5efbdb6e9e695685044606e9':
add feedback test with gsm7bit special case characters
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.
Merge commit '174ad503ee5b24721d7d632ba9c68b9cd0bd6dd6'
* commit '174ad503ee5b24721d7d632ba9c68b9cd0bd6dd6':
In SearchablesTest, use the always available globalsearch.
The earlier used googlesearch package may not be available in some devices so switching to globalsearch which has searchable info relevant for this unit test.
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.
Before, the variants of MemoryFile.MemoryInputStream.read() would throw
IOException or IndexOutOfBoundsException if EOF was encountered
before the requested number of bytes was read. This violates
the contract of InputStream.read().
This patch makes read() return the number of bytes available, if any.
If already at EOF, -1 is returned. The patch also adds new tests,
which checks cases where MemoryFile.MemoryInputStream.read()
should throw IndexOutOfBoundsException or return -1. several of these
tests failed with the old code and pass now.
This fixes http://b/issue?id=1881894
This allows content providers to use in-memory data to implement
ContentProvider.openAssetFile(), instead of just normal files
and sockets as before.
To test cross-process use of AssetFileDescriptors for MemoryFiles,
a test content provider and a client for it are added to
AndroidTests.
Fixes http://b/issue?id=1871731
Merge commit 'c665349543b481b14e423ea9e7e2b368569ae311'
* commit 'c665349543b481b14e423ea9e7e2b368569ae311':
support more minor cdms sms bearer data subparameters
As reported in http://b/issue?id=1398215 MemoryFile did not
munmap(2) the ashmem region after closing it. This
causes the process to leak virtual address space.
This change fixes the problem by calling munmap(2) in
close(). The unmapping is done by a helper method deactivate().
The change also replaces the use of an int for the
file descriptor with a FileDescriptor object to
make sure that we keep track of when the file descriptor
has been closed. I chose to implement it this way because I
will need decativate() and a FileDescriptor object in an
upcoming change that allows sending MemoryFile file
descriptors between processes.
The change also adds a number of tests for the behavior
of close(). The testCloseRead() and testCloseWrite() fail
with the old MemoryFile implementation, and testCloseLeak()
causes a segfault. They all pass now.