38ed2a471a2291383821fb187bfa18450f0581c2 |
|
07-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #10130785: Restore silence and vibrate settings... ...in settings > sound Add a new ContentProvider API to canonicalize URIs, so they can be transported across backup/restore. Change-Id: Ie5af3662f6822a32310e49c7f1e1ff084986c56e
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
bd3b902567b09379e1b62c60b3319ad82102efad |
|
21-Aug-2013 |
Jeff Sharkey <jsharkey@android.com> |
Add CancellationSignal support to file operations. Since ContentProvider file operations can end up doing substantial network I/O before returning the file, allow clients to cancel their file requests with CancellationSignal. Ideally this would only be needed for openFile(), but ContentResolver heavily relies on openAssetFile() and openTypedAssetFile() for common cases. Also improve documentation to mention reliable ParcelFileDescriptors and encourage developers to move away from "rw" combination modes, since they restrict provider flexibility. Mention more about places where pipes or socket pairs could be returned. Improve DocumentsContract documentation. Bug: 10329944 Change-Id: I49b2825ea433eb051624c4da3b77612fe3ffc99c
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
35654b61e8fe7bc85afcb076ddbb590d51c5865f |
|
15-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
More work on App Ops service. Implemented reading and writing state to retain information across boots, API to retrieve state from it, improved location manager interaction to monitor both coarse and fine access and only note operations when location data is being delivered back to app (not when it is just registering to get the data at some time in the future). Also implement tracking of read/write ops on contacts and the call log. This involved tweaking the content provider protocol to pass over the name of the calling package, and some infrastructure in the ContentProvider transport to note incoming calls with the app ops service. The contacts provider and call log provider turn this on for themselves. This also implements some of the mechanics of being able to ignore incoming provider calls... all that is left are some new APIs for the real content provider implementation to be involved with providing the correct behavior for query() (return an empty cursor with the right columns) and insert() (need to figure out what URI to return). Change-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
a7771df3696954f0e279407e8894a916a7cb26cc |
|
08-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Move CancellationSignal to android.os package. Bug: 6427830 Change-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
4c1241df8f8b7fd5ec3dff6c7e0f66271248e76e |
|
03-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Rename CancellationSignal using preferred spelling. Bug: 5943637 Change-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
75ea64fc54f328d37b115cfb1ded1e45c30380ed |
|
26-Jan-2012 |
Jeff Brown <jeffbrown@google.com> |
Implement a cancelation mechanism for queries. Added new API to enable cancelation of SQLite and content provider queries by means of a CancelationSignal object. The application creates a CancelationSignal object and passes it as an argument to the query. The cancelation signal can then be used to cancel the query while it is executing. If the cancelation signal is raised before the query is executed, then it is immediately terminated. Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
d2183654e03d589b120467f4e98da1b178ceeadb |
|
09-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Fix ownership of CursorWindows across processes. Bug: 5332296 Ensure that there is always an owner for each CursorWindow and that references to each window are acquired/released appropriately at all times. Added synchronization to CursorToBulkCursorAdaptor to prevent the underlying Cursor and CursorWindow from being remotely accessed in ways that might violate invariants, resulting in leaks or other problems. Ensured that CursorToBulkCursorAdaptor promptly releases its references to the Cursor and CursorWindow when closed so they don't stick around longer than they should, even if the remote end hangs onto the IBulkCursor for some reason. CursorWindow respects Parcelable.FLAG_WRITE_RETURN_VALUE as an indication that one reference to the CursorWindow is being released. Correspondingly, CursorToBulkCursorAdaptor acquires a reference to the CursorWindow before returning it to the caller. This change also prevents races from resulting in the transfer of an invalid CursorWindow over the wire. Ensured that BulkCursorToCursorAdaptor promptly releases its reference to the IBulkCursor when closed and throws on attempts to access the cursor while closed. Modified ContentProviderNative to handle both parts of the wrapping and unwrapping of Cursors into IBulkCursors. This makes it a lot easier to ensure that the right things happen on both ends. Also, it turns out that the only caller of IContentProvider.bulkQuery was ContentProviderNative itself so there was no need to support bulkQuery on ContentProviderProxy and it was just getting in the way. Implement CloseGuard on CursorWindow. Change-Id: Ib3c8305d3cc62322f38a06698d404a2989bb6ef9
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
23fdaf6fb62a9b5154b2508916a21c678462c5d0 |
|
06-Aug-2010 |
Dianne Hackborn <hackbod@google.com> |
Add new ContentProvider for doing conversions to data streams. This introduces basic infrastructure that should allow content providers holding complex data to perform on-demand conversion of their data to streams of various types. It is achieved through two new content provider APIs, one to interrogate the possible stream MIME types the provider can return, and the other to request a stream of data in a particular MIME type. Because implementations of this will often need to do on-demand data conversion, there is also a utility intoduced in ContentProvider for subclasses to easily run a function to write data into a pipe that is read by the client. This feature is mostly intended for cut and paste and drag and drop, as the complex data interchange allowing the source and destination to negotiate data types and copy (possible large) data between them. However because it is fundamental facility of ContentProvider, it can be used in other places, such as for more advanced GET_CONTENT data exchanges. An example implementation of this would be in ContactsProvider, which can now provider a data stream when a client opens certain pieces of it data, to return data as flat text, a vcard, or other format. Change-Id: I58627ea4ed359aa7cf2c66274adb18306c209cb2
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
1877d0158b529663b8315482e7346a7bcaa96166 |
|
05-Mar-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Add "call" method on ContentProvider. This permits implementing interfaces which are faster than using remote Cursors. It then uses it for Settings & SettingProvider, which together account for ~50% of total ContentProvider event loop stalls across Froyo dogfooders. For fetching Settings this looks like it should reduce average Settings lookup from 10 ms to 0.4 ms on Sholes, once the SettingsProvider serves most gets from in-memory cache. Currently it brings the Sholes average down from 10ms to 2.5 ms while still using SQLite queries on each get.
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
e70f61b1160e953e5e4d18d30a463fa9ba821779 |
|
19-Feb-2010 |
Brett Chabot <brettchabot@android.com> |
Retry test-runner tests move. This time change the frameworks makefile so it only includes test-runner/src in the public API.
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
c1ca8c51c616d1517b18bf24feaa9f8f1430c835 |
|
19-Feb-2010 |
Brett Chabot <brettchabot@android.com> |
Revert "Move framework test-runner unit tests to be closer to their source." This reverts commit 12093976a4842a795491cfd2b1d3b71e18503f2d.
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|
12093976a4842a795491cfd2b1d3b71e18503f2d |
|
19-Feb-2010 |
Brett Chabot <brettchabot@android.com> |
Move framework test-runner unit tests to be closer to their source. Move the test-runner source into a separate src folder to accommodate the test move.
/frameworks/base/test-runner/src/android/test/mock/MockIContentProvider.java
|