66a017b63461a22842b3678c9520f803d5ddadfc |
|
18-Jan-2013 |
Jeff Sharkey <jsharkey@android.com> |
Always give ContentResolver a valid Context. Also add MockContentResolver constructor to provide a Context, and move to singleton ActivityThread, since there is only one inside each process. This makes ActivityThread accessible from threads like InstrumentationThread. Change-Id: Ib8b18f1b9bba8820ff412d782a43511066eabf24
/frameworks/base/test-runner/src/android/test/mock/MockContentResolver.java
|
6ae8d1821822296df0606c9cd1c46708cc21cb58 |
|
23-May-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix (mostly) issue #5109947: Race condition between retrieving a... ...content provider and updating its oom adj This introduces the concept of an "unstable" reference on a content provider. When holding such a reference (and no normal stable ref), the content provider dying will not cause the client process to be killed. This is used in ContentResolver.query(), .openAssetFileDescriptor(), and .openTypedAssetFileDescriptor() to first access the provider with an unstable reference, and if at the point of calling into the provider we find it is dead then acquiring a new stable reference and doing the operation again. Thus if the provider process dies at any point until we get the result back, our own process will not be killed and we can safely retry the operation. Arguably there is still the potential for a race -- if somehow the provider is killed way late by the OOM killer after the query or open has returned -- but this should now be *extremely* unlikely. We also continue to have the issue with the other calls, but these are much less critical, and the same model can't be used there (we wouldn't want to execute two insert operations for example). The implementation of this required some significant changes to the underlying plumbing of content providers, now keeping track of the two different reference counts, and managing them appropriately. To facilitate this, the activity manager now has a formal connection object for a client reference on a content provider, which hands to the application when opening the provider. These changes have allowed a lot of the code to be cleaned up and subtle issues closed. For example, when a process is crashing, we now have a much better idea of the state of content provider clients (olding a stable ref, unstable ref, or waiting for it to launch), so that we can correctly handle each of these. The client side code is also a fair amount cleaner, though in the future there is more than should be done. In particular, the two ProviderClientRecord and ProviderRefCount classes should be combined into one, part of which is exposed to the ContentResolver internal API as a reference on a content provider with methods for updating reference counts and such. Some day we'll do that. Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
/frameworks/base/test-runner/src/android/test/mock/MockContentResolver.java
|
652b6d1e591f6684cda4b93d4712920f287991b4 |
|
10-May-2012 |
Dianne Hackborn <hackbod@google.com> |
Add infrastructure for accessing "unstable" content providers. We have an API and some stuff that purports to this, but no real implementation yet. Change-Id: I93555440014a50fdf79fa3f65318d90fb82265b4
/frameworks/base/test-runner/src/android/test/mock/MockContentResolver.java
|
3aef8e1d1b2f0b87d470bcccf37ba4ebb6560c45 |
|
20-Dec-2011 |
Joe Fernandez <joefernandez@google.com> |
docs: Add developer guide cross-references, Project ACRE, round 4 Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
/frameworks/base/test-runner/src/android/test/mock/MockContentResolver.java
|
cca1f0e3476edd09cdd81b075a6b7780a2959b46 |
|
27-Sep-2010 |
Dianne Hackborn <hackbod@google.com> |
Allow all apps to call ContentResolver.getType(). I can't find the bug number for this, but it is needed for some things we are doing where the app building an intent may not have access to the URI in the data field. This is for HC, but doing in GB to avoid introducing integration issues. Change-Id: I0cac971854198b18775d2a73deb80f23431bfbe2
/frameworks/base/test-runner/src/android/test/mock/MockContentResolver.java
|
7d433aabb731a790fc8d06d260c826751215113f |
|
31-May-2010 |
Joe Malin <jmalin@google.com> |
Javadoc for test case classes Change-Id: Ibfa035cfe9091a81fca8bd0a6c141ec26c2de139
/frameworks/base/test-runner/src/android/test/mock/MockContentResolver.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/MockContentResolver.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/MockContentResolver.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/MockContentResolver.java
|