4e0951ef7a2bb492fd1255b83eba00b1b0556290 |
|
10-Apr-2015 |
Jeff Brown <jeffbrown@google.com> |
Expose Cursor.setExtras(). Bug: 19369537 Change-Id: I78e319667cbfaeb51f471d18c4fefeac01d49d80
/frameworks/base/core/java/android/database/AbstractCursor.java
|
8faab36fdd2d7dd038885a5073eeb8354d8996d4 |
|
10-Apr-2015 |
Jeff Brown <jeffbrown@google.com> |
Clean up AbstractCursor API. Deprecated three protected fields that should not have been exposed in the API. Bug: 6353797 Change-Id: Ic6710f880a452dd1508abf0613907a1d2b1fb557
/frameworks/base/core/java/android/database/AbstractCursor.java
|
4670513e70f8d55e40a359941e7c216604daae19 |
|
10-Apr-2015 |
Jeff Brown <jeffbrown@google.com> |
Remove deprecated fields in AbstractCursor. Bug: 6353797 Change-Id: Ibf760f0aeef82c176e3c659a2ced3de07f8e8abe
/frameworks/base/core/java/android/database/AbstractCursor.java
|
c87c92e079b9aff771ac0810fc86def81654dbda |
|
14-May-2013 |
Dianne Hackborn <hackbod@google.com> |
Add API to retrieve cursor notification URI. Change-Id: I89f6c4d6ee6ef3675eff62ff6bca691b54c69f75
/frameworks/base/core/java/android/database/AbstractCursor.java
|
afccaa84c8d1b9aa45040ddeb0edd42ba80e80d6 |
|
04-Oct-2012 |
Christopher Tate <ctate@google.com> |
Use myUserId() only in registerContentObserver() The reason for this is a bit subtle: we want to guarantee that when a content observer is registered using the public API, it is *always* bound to the host user's view of the data behind the observed Uri, never the calling user's. Now, the reason it was the calling user in the first place is that the Settings provider (and potentially any singleton provider) needs the observers underlying Cursors returned from query() to be tied to the caller's user, not the provider's host user. In order to accomplish that now that the public-facing behavior is always tied to the host user, the concrete class that implements the Cursor type handled by the Settings provider has been extended with a new hidden API for setting a notification observer tied to an arbitrary user; and then the provider explicitly downcasts the query result's Cursor to that class in order to register the notification observer. We can do this safely because this is platform code; if we change the way that these underlying cursors are constructed, we can just fix this point of call to follow along. If they get out of sync in the future, the Settings provider will scream bloody murder in the log and throw a crashing exception. Bug 7231549 Change-Id: I0aaceebb8b4108c56f8b9964ca7f9e698ddd91c8
/frameworks/base/core/java/android/database/AbstractCursor.java
|
d77d17c28d6f120ceb648747c7e2ef1a50215700 |
|
08-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge "Fix cursor memory leak"
|
3f824c0e72ad8cde2dc9b0f4d4d7b621b5535e62 |
|
11-Jun-2012 |
Catherine Liu <wlcl05@motorola.com> |
Fix cursor memory leak In current code, if an application opens a cursor to access a provider, and doesn't close that cursor, later, when this cursor is garbage collected, it won't get closed. This will cause a memory leak in the provider. The leaked memory can only be reclaimed when the application with the leaked cursor was dead. The solution is, close the cursor when it's garbage collected. Change-Id: I786915c46d4672b6b1b37414b3bc1ff8cea2e00b
/frameworks/base/core/java/android/database/AbstractCursor.java
|
7873d5b3ff587ffff33dae628aaa581b099db61e |
|
09-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Deprecate certain AbstractCursor fields. Bug: 6353797 Change-Id: I52b67f35c867378849ceb77356d0065161157ac9
/frameworks/base/core/java/android/database/AbstractCursor.java
|
fb5a4964b8d402b39754f406dd2255035ff2148d |
|
15-Mar-2012 |
Jeff Brown <jeffbrown@google.com> |
Prefetch column names in bulk cursor adaptor. If the remote end of a bulk cursor died, then it was possible for getColumnNames() to return null, violating the invariant that it never returns null. As a result, the application could crash in strange ways due to an NPE. Since we are often interested in the column names anyhow, prefetch them when setting up the bulk cursor adaptor. This way, a remote cursor will never return null even if the remote end died. It is possible for an application to continue to use a remote cursor even after the provider has died unless it needs to requery it for some reason. Of course at that point, bad things will happen... but usually the app is better prepared for it than if it just randomly encounters a null array of column names. This change also optimizes the bulk cursor adaptor to return the initial cursor window back to the client, potentially saving an extra RPC. Because the communication protocol between the CursorToBulkCursorAdaptor and BulkCursorToCursorAdaptor was getting a little hard to follow, introduced a new type called BulkCursorDescriptor to hold all of the necessary parameters. Deleted several unnecessary IBulkCursor methods that are never actually called remotely. Bug: 6168809 Change-Id: I9aaf6f067c6434a575e2fdbf678243d5ad10755f
/frameworks/base/core/java/android/database/AbstractCursor.java
|
655e66bceba7595a2b80e7a328433e6ed5dc28a9 |
|
24-Jan-2012 |
Jeff Brown <jeffbrown@google.com> |
Inform ContentObservers about the changed content Uri. Added a new method ContentObserver.onChange(boolean, Uri) that receives the changed content Uri. This can help applications make better decisions about how to interpret a change notification. Change-Id: I8e35378b6485fe22c5bc240ba07557d269af0836
/frameworks/base/core/java/android/database/AbstractCursor.java
|
bd4c9f13022e875c8b420248214482a5f5b46618 |
|
21-Jan-2012 |
Jeff Brown <jeffbrown@google.com> |
Delete dead code. This API has never been used or exposed, time for it to go away. Change-Id: Ie199ed0731d0a620d6608b2adbea1083f87276cd
/frameworks/base/core/java/android/database/AbstractCursor.java
|
80e7b80fa607e13d31d7dab68ddfd4d9f0372e38 |
|
13-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Make default implementation of fillWindow typesafe. Bug: 5218310 This change fixes problems calling the default fillWindow on Cursors that contain BLOBs. It should also be more efficient by avoiding redundant string conversions for numeric datatypes. Change-Id: Ied515bf6299bc8d3c14e76055d85fd35e7c05952
/frameworks/base/core/java/android/database/AbstractCursor.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/core/java/android/database/AbstractCursor.java
|
7ce745248d4de0e6543a559c93423df899832100 |
|
07-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Clean up CursorWindow lifetime. Bug: 5332296 Removed dead code in SQLiteCursor related to the use of a background query thread. This code could result in CursorWindows being modified concurrently or used after free. This code is broken, unused and is just in the way. Added comments to explain how CursorWindow ownership is supposed to work for AbstractWindowedCursors. (There are still cases where cursor windows get dropped on the floor without being closed. Those will be taken care of in a subsequent patch.) Cleaned up SQLiteQuery.fillWindow to eliminate duplicate code and remove bits that were only needed for background loading, like returning -1. Change-Id: I03e8e2e73ff0c11df76d63f57df4c5ada06ae1cb
/frameworks/base/core/java/android/database/AbstractCursor.java
|
630f6b1cf8a671890f7bb590f5219d8b63614cd9 |
|
31-Aug-2011 |
Makoto Onuki <omakoto@google.com> |
Add AbstractCursor.setExtras() This allows providers to return SQLiteCursor with a bundle, without wrapping it in a CursorWrapper, which has performance penalty on cross-process queries. Bug 5220669 Change-Id: I46b9dfb3d8e01e9caf080bb24acfd97551441e25
/frameworks/base/core/java/android/database/AbstractCursor.java
|
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 |
|
07-Apr-2011 |
Joe Onorato <joeo@google.com> |
Remove the deprecated things from Config.java. These haven't been working since before 1.0. Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
/frameworks/base/core/java/android/database/AbstractCursor.java
|
9480efeff7d6d7054e4d048c6088b7329376aa1d |
|
16-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Setting copiedSize to 0 when value is null Bug: 3457998 Change-Id: I01f6d02e76884639600c679518c5817ce73e0f23
/frameworks/base/core/java/android/database/AbstractCursor.java
|
90bf7c791639fe6666fc548106f9286d47311cff |
|
15-Sep-2010 |
Makoto Onuki <omakoto@google.com> |
Add AbstractCursor.getNotificationUri. We'll need it for some tests. Change-Id: I5db9f570d8ff2f58c73654fbe4a6df881894f865
/frameworks/base/core/java/android/database/AbstractCursor.java
|
cc08bb8884d7ab720296cc63f8098249659c48b1 |
|
02-Jul-2010 |
Vasu Nori <vnori@google.com> |
fix broken-build Change-Id: I0f956d87c26100ddb12e1736a0ec02e1b17e166f
/frameworks/base/core/java/android/database/AbstractCursor.java
|
f1a4a0a5b712963b77bf019886cf73cf6bc1b7b4 |
|
30-Jun-2010 |
Jeff Hamilton <jham@android.com> |
More cleanup after removing the Cursor update logic. Change-Id: I4f407d3205cf97260bf3c3f3df4a0e2c533acab8
/frameworks/base/core/java/android/database/AbstractCursor.java
|
7701041955341494c257881836daf22fe46cea25 |
|
25-Jun-2010 |
The Android Open Source Project <initial-contribution@android.com> |
am 7e343b8d: merge from froyo-plus-aosp Merge commit '7e343b8d39309d2c9d73cc5d1ec2434e666ae48b' * commit '7e343b8d39309d2c9d73cc5d1ec2434e666ae48b': fillWindow's start position must be smaller than getCount value
|
6d3acde83958b99e769feed87a50ef74fa96f30e |
|
06-Jun-2010 |
Tatsuo Nagamatsu <nagamatu@gmail.com> |
fillWindow's start position must be smaller than getCount value Change-Id: I3664ae8f6172f02bf6e2472320e79e3bf8683cc0
/frameworks/base/core/java/android/database/AbstractCursor.java
|
8b0dd7da360d70920a37802eb455ba41500d3b45 |
|
18-May-2010 |
Vasu Nori <vnori@google.com> |
add API to Cursor to get column value type Change-Id: I3ef1bcdb2eb1c45f68e829ccb6e3ecde28076591
/frameworks/base/core/java/android/database/AbstractCursor.java
|
7cd51efcbd2d083bf577696591ef1769034f7e2f |
|
13-May-2010 |
Jeff Hamilton <jham@android.com> |
Remove the deprecated cursor methods. Change-Id: Ie3571fea9f36996c31c327240b11086f8cc487f0
/frameworks/base/core/java/android/database/AbstractCursor.java
|
2589716964f99fd0ee29a9b295584c277e23f34f |
|
29-Apr-2010 |
Makoto Onuki <omakoto@google.com> |
Make RequeryOnUiThreadException warning less spamy - Moved the thread check from AbstractCursor to SQLiteCursor. - Show warning only once per database Bug 2633883 Change-Id: I915bfba8715a469c45fb68ba1282231279f2a50c
/frameworks/base/core/java/android/database/AbstractCursor.java
|
20f549fd2f40db524242c9038d7d63356adf95fc |
|
15-Apr-2010 |
Vasu Nori <vnori@google.com> |
several minor bugs and things listed below bug:1648729 print warning if a requery is attemped on main thread bug:2459293 browser death because of NoSuchElementException. don't use iterator to march thru the ArrayList. use old style for() loop. bug:1609474 don't allow downgrades of databases other stuff use LRUcache to maintain statement-cache in SQLiteDatabase Change-Id: I3a42022162f4dfcc75f7d0cfcad8f20f1d193249
/frameworks/base/core/java/android/database/AbstractCursor.java
|
935ae463d495d41155e27feb849768ad2b8b16db |
|
14-Apr-2009 |
Dianne Hackborn <> |
AI 145994: Integrate #145778 from Donut. Automated import of CL 145994
/frameworks/base/core/java/android/database/AbstractCursor.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/database/AbstractCursor.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/database/AbstractCursor.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/database/AbstractCursor.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/android/database/AbstractCursor.java
|