e14159d2c5919e2eb34e62e6ce1c56459342c716 |
|
29-Apr-2017 |
Jeff Sharkey <jsharkey@google.com> |
Merge "Revert "Treat Telephony as legacy app for now."" into oc-dev
|
4b2e87f928ccee2ba3cc6e189678a94fcfa0b71b |
|
26-Apr-2017 |
Jeff Sharkey <jsharkey@google.com> |
Revert "Treat Telephony as legacy app for now." This reverts commit 2afae796de74064e67a6039616e0ed49efcdc9b7. Reason for revert: b/35792675 now fixed Change-Id: Ie559fc7ebe209c45bb598daba781ef5e6e1f839e
/frameworks/base/core/java/android/content/ContentResolver.java
|
76b2770214aaa6868c476273337263f45fa4dc9d |
|
24-Apr-2017 |
Steve McKay <smckay@google.com> |
Address API Council feedback. Bug: 37422306, 37419881 Test: Build and read docs. Change-Id: Id6c8bad6ad6b311017094ce5dbd66cfd72c477ad (cherry picked from commit d74a3bd7d1d3175856f450a9e77dabb89f2e5060)
/frameworks/base/core/java/android/content/ContentResolver.java
|
8ea8200fedb3b0b9d508289782cb2ba5d7fe0d5f |
|
09-Mar-2017 |
Ben Lin <linben@google.com> |
Stop DocumentsContract from consuming Exceptions if app is targetting O or above. Test: Builds properly. Bug: 36023174 Change-Id: I455d358672f35fbeb5678c965b25268229ed4882
/frameworks/base/core/java/android/content/ContentResolver.java
|
2c66f192ca3f43b35db84c13af687a847b10301d |
|
03-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Add extra indicating honored query arguments."
|
415f41ba206a9d0e299a081cc1ff6cd473f4bef0 |
|
01-Feb-2017 |
Steve McKay <smckay@google.com> |
Add extra indicating honored query arguments. Rename QUERY_RESULT_SIZE to EXTRA_TOTAL_SIZE. Change-Id: I18f1e0b77362c6f898bc4d5846e21dfb205be19a Test: Manual Bug: 30927484
/frameworks/base/core/java/android/content/ContentResolver.java
|
fb64de06cd1f6cd0346e481f13d6cb886dff1bfb |
|
01-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Use context's userId in ContentResolver class."
|
b4e2ddde4f08ba25f57c97a4fe7c339cbe805559 |
|
04-Feb-2017 |
Sudheer Shanka <sudheersai@google.com> |
Use context's userId in ContentResolver class. - When registering and notifying observers, we should use the user in the context as opposed to current user. - Relax the permission check while registering and notifying content observers to use INTERACT_ACROSS_USERS instead of INTERACT_ACROSS_USERS_FULL permission. Change-Id: I973936903d4a2272c5722f3b98a057a40c0402be Fixes: 32955100 Test: Created managed profile and verified that there are not failures. runtest -x core/tests/coretests/src/android/content/SecondaryUserContentResolverTest.java runtest -x core/tests/coretests/src/android/content/ManagedUserContentResolverTest.java
/frameworks/base/core/java/android/content/ContentResolver.java
|
2afae796de74064e67a6039616e0ed49efcdc9b7 |
|
27-Feb-2017 |
Jeff Sharkey <jsharkey@android.com> |
Treat Telephony as legacy app for now. Telephony stack is relying on non-existant ContentProviders for sending Uri change notifications; it'll eventually need to move over to using real ContentProviders, but apply this band-aid for now. Test: builds, boots, SMS send/receive works Bug: 35792675 Change-Id: Ice66278f876f1c754852300da7eb045a7c778d14
/frameworks/base/core/java/android/content/ContentResolver.java
|
912e80d3450943ac2bbca03f33c31c042799a0a1 |
|
24-Feb-2017 |
Jeff Sharkey <jsharkey@android.com> |
Require valid authorities for Uri notifications. Content changed notifications are really only valid for content:// Uris, which are really only valid when we have a valid ContentProvider backing them. This has been implicit for a long time, but we actually need to start enforcing it based on target API. We also now tell developers about why their notification requests are being denied, instead of silently logging. Test: builds, boots, common operations work Bug: 34049049 Change-Id: Ie8ab8d8674cff13e3e9269ffddc4ad998cb848c4
/frameworks/base/core/java/android/content/ContentResolver.java
|
da2006a0bd169f8ac22d3c626eeb5616c907fed3 |
|
15-Feb-2017 |
Esteban Talavera <etalavera@google.com> |
Revert "Use context's userId in ContentResolver class." This reverts commit 2b44387f5d706e477418795c2d57d0909dc7ed22. Bug: 35374151 Change-Id: Ifdde7a3b4e9141d7e283478aff49971c6a5dcaa2
/frameworks/base/core/java/android/content/ContentResolver.java
|
2b44387f5d706e477418795c2d57d0909dc7ed22 |
|
04-Feb-2017 |
Sudheer Shanka <sudheersai@google.com> |
Use context's userId in ContentResolver class. When registering and notifying observers, we should use the user in the context as opposed to current user. Fixes: 32955100 Test: runtest -x core/tests/coretests/src/android/content/CrossUserContentResolverTest.java Change-Id: Idc169d6cc1ec0cea40a736b87c12d4609f1de9c7
/frameworks/base/core/java/android/content/ContentResolver.java
|
d7ece9f78d6c91aeb4c5401852c8548b3ed62587 |
|
13-Jan-2017 |
Steve McKay <smckay@google.com> |
Add OFFSET and LENGTH args for paged queries. Also update docs according to parting comments on ag/1726256. Bug: 30927484 Test: Build and update api. Change-Id: Ie0dd3ae06f6a7a20001571beec10a4d5bca63970
/frameworks/base/core/java/android/content/ContentResolver.java
|
29c3f68cfab3dd4f7f96e54be8eabd9a4d677c5e |
|
16-Dec-2016 |
Steve McKay <smckay@google.com> |
Add structured sort data to ContentResolver.query. Update DocumentsProvider to override ContentProvider#query(Uri, String[], Bundle, CancellationSignal); Added an otherwise unneeded import to pass doc check on DocumentsProvider. Bug: 30927484 Change-Id: I295c21f53901d567455286f22439f21d22a8a25a Test: Build and run. Test from DocsUi.
/frameworks/base/core/java/android/content/ContentResolver.java
|
836f9249b7b34fa1655a3e0720bff32480a7dc03 |
|
21-Dec-2016 |
Ben Lin <linben@google.com> |
Unihiding REFRESH_SUPPORTED and ContentProviderClient#refresh. Test: Only unhiding previously hidden methods. Change-Id: Id1731b64b86760d3249855d685d8cb83721596fc
/frameworks/base/core/java/android/content/ContentResolver.java
|
ea93fe75396465b26429cfe1c1dcfadf7351354f |
|
02-Dec-2016 |
Steve McKay <smckay@google.com> |
Replace ContentProvider SQL args w/ Bundle & Constants. Test: cts-tradefed run cts-dev -m CtsContentTestCases Bug: 30927484 Change-Id: Idb9dbc2b80896e9f8474a0db71353b7a3810d597
/frameworks/base/core/java/android/content/ContentResolver.java
|
c67b49af3fdb3582d07aa533d9cf063ba9aabc2c |
|
15-Nov-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Javadoc and un@hide ContentResolver#refresh and ContentProvider#refresh."
|
2b64a88274f0af2c19aeacc81735605e7300cf3c |
|
12-Nov-2016 |
Ben Lin <linben@google.com> |
Javadoc and un@hide ContentResolver#refresh and ContentProvider#refresh. Test: CTS Tests part of same topic. Bug: 31647485 Change-Id: Iad7f19b6b54f72736fbb7e477f67cf541d838903
/frameworks/base/core/java/android/content/ContentResolver.java
|
dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0 |
|
11-Nov-2016 |
Sudheer Shanka <sudheersai@google.com> |
Update usage of ActivityManagerNative. - Remove references to ActivityManagerProxy. - Add isSystemReady to ActivityManager. Bug: 30977067 Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \ -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner Change-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa
/frameworks/base/core/java/android/content/ContentResolver.java
|
1cf454fcb69f63cfb2c5576aab310679df502516 |
|
10-Nov-2016 |
Ben Lin <linben@google.com> |
Adding ContentProvider#refresh and ContentResolver#refresh. Original CL is from ag/1568530. Bug: 31647485 Change-Id: Ib45fc995a361b8c75cd3600f638910b18a263d51
/frameworks/base/core/java/android/content/ContentResolver.java
|
f6d424f133563fb3fc75d8fd260e6e7ed4608ef6 |
|
21-Sep-2016 |
Svet Ganov <svetoslavganov@google.com> |
While-list apps to access account if already saw it Sync adapters without an account access cannot run until the user approves the account access (for the case the account access is not allowed by other policy such as being singed with the same cert as the authenticator). However, if the sync adapter package already got the account from another app which means it already saw the account we white-list the sync adapter app to access the account as it already saw it - the bird is out of the cage. bug:31162498 Change-Id: I2b72f3b0d6307561ed68db2f2e9c900b15e8d098
/frameworks/base/core/java/android/content/ContentResolver.java
|
c29d2b04927b9d28089d79cbaa63a6a91db1bb5a |
|
30-Jun-2016 |
Daniel Nishi <dhnishi@google.com> |
Move the MIME type icon detection into the platform. This allows the MIME type icons to be used in other system apps. In this instance, the StorageManager app needs to show file icons for a given file. By moving the icon mapping into a static library, we can avoid duplicating the mapping and resources. Bug: 29826961 Change-Id: Ic2dc7970cc5a5ca430e33425eb9f1ecbd733fe9a
/frameworks/base/core/java/android/content/ContentResolver.java
|
9bbaacf845f6f387cd6e16834da50f7c1a0b451f |
|
20-Jun-2016 |
Fyodor Kupolov <fkupolov@google.com> |
Use granted userId to look up provider info In getPersistedUriPermissions, use granted userId instead of the calling userId to look up provider info. Bug: 29058113 Change-Id: Ia637be414f9ef3b8e9bce13bb56bd335cfb28ac7
/frameworks/base/core/java/android/content/ContentResolver.java
|
e761777323444e900ab683137a1e4d6abecdc728 |
|
28-Apr-2016 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #28431297: Crash in system process Don't allow null URIs to get put into the notification path. Change-Id: I4f68f438960c8a90c7b417feaa2e19968a3a200a
/frameworks/base/core/java/android/content/ContentResolver.java
|
141f11c82a2dbf042833f75aeae6f028e8ae2084 |
|
06-Apr-2016 |
Dianne Hackborn <hackbod@google.com> |
More work on issue #26390151: Add new JobScheduler API... ...for monitoring content providers - Improve media provider change reporting so that observers can avoid spurious reports of the top-level content directory changing. - Fix a bug where collected content changes while a job was running were not being properly propagated to the next job. Change-Id: I29e3c2960e6fec75b16ee3ee6588d47342bf8c75
/frameworks/base/core/java/android/content/ContentResolver.java
|
a04c7a7c6442b8c6f87f5dd11fc5659cdb92decc |
|
18-Mar-2016 |
Jeff Sharkey <jsharkey@android.com> |
Mark more Bundles as being defusable. They're destined for the system, so they're okay to look inside. Bug: 27726127 Change-Id: Ic85c308a8efe6f9b8652952717c72b3c663d328a
/frameworks/base/core/java/android/content/ContentResolver.java
|
8731408b11a24e3a92188653548f2c90bf866a32 |
|
12-Mar-2016 |
Jeff Sharkey <jsharkey@android.com> |
Offer to cache ContentResolver-related Bundles. There are a handful of core system services that collect data from third-party ContentProviders by spinning them up and then caching the results locally in memory. However, if those apps are killed due to low-memory pressure, they lose that cached data and have to collect it again from scratch. It's impossible for those apps to maintain a correct cache when not running, since they'll miss out on Uri change notifications. To work around this, this change introducing a narrowly-scoped caching mechanism that maps from Uris to Bundles. The cache is isolated per-user and per-calling-package, and internally it's optimized to keep the Uri notification flow as fast as possible. Each Bundle is invalidated whenever a notification event for a Uri key is sent, or when the package hosting the provider is changed. This change also wires up DocumentsUI to use this new mechanism, which improves cold-start performance from 3300ms to 1800ms. The more DocumentsProviders a system has, the more pronounced this benefit is. Use BOOT_COMPLETED to build the cache at boot. Add more permission docs, send a missing extra in DATA_CLEARED broadcast. Bug: 18406595 Change-Id: If3eae14bb3c69a8b83a65f530e081efc3b34d4bc
/frameworks/base/core/java/android/content/ContentResolver.java
|
40a11e525c3888613361a555d71ff13e5ef834e4 |
|
01-Feb-2016 |
Shreyas Basarge <snb@google.com> |
Merge "Updated Javadoc to reflect min period"
|
e96c3b7eff5290f2a6c5e572babbfa8a3897be96 |
|
29-Jan-2016 |
Shreyas Basarge <snb@google.com> |
Updated Javadoc to reflect min period Javadoc updated and logging added for min period and min flex enforcements in JobScheduler and SyncManager. Bug: 26874152 Change-Id: Ifdd248b776a1bd04df21b7b9f0ac96bdef0f8bb6
/frameworks/base/core/java/android/content/ContentResolver.java
|
8c834c07675052c984728cbf79f7c2e0d8246e43 |
|
07-Jan-2016 |
Shreyas Basarge <snb@google.com> |
SyncManager on JobScheduler SyncManager now uses JobScheduler for scheduling and persistence purposes. Change-Id: I38c92aedbf4d891ca297644d0b706835aaedfcd6
/frameworks/base/core/java/android/content/ContentResolver.java
|
1a30bd9b13fd127d9bbfdc5fd4cb2f80ab7ece21 |
|
11-Jan-2016 |
Dianne Hackborn <hackbod@google.com> |
Add and implement JobScheduler content observer APIs. Allows one to schedule jobs to run when content URIs change, and find out what changed when the job executes. This required adding a new API to StateController to tell it when we are about to start executing a job, so we can transfer the currently collected changes out of its internal state to fill it in to the JobParameters. Also some additional dumpsys debug output to help understand what is going on in the job scheduler. Change-Id: I91f51b226ff4add7a271a8333beffa5e86c7bf18
/frameworks/base/core/java/android/content/ContentResolver.java
|
8588bc1ef1f020bbe4a24d46874f675708149a57 |
|
07-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Add flags to requests for package UID/GIDs. This gives callers the ability to request details for missing packages. Also add annotations for userId and appId variables and start tagging their usage. Change-Id: I63d5d7f870ac4b7ebae501e0ba4f40e08b14f3f6
/frameworks/base/core/java/android/content/ContentResolver.java
|
a73b8fd1f4faaad00d8a49d6e496aaf249fa7003 |
|
07-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Add some TestApis to fix build. Change-Id: Icf0d8d63f3a41d99e46ebe96003863bae637bd9d
/frameworks/base/core/java/android/content/ContentResolver.java
|
60cfad80bdf61db436643927337c2fb30186e99d |
|
06-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Discourage use of "_data" column. Moving forward, all client file access really needs to be going through explicit APIs like openFileDescriptor(), since that allows the provider to better protect its underlying files. This change also changes several classes to use the AutoClosable pattern, which enables try-with-resources usage. Older release() methods are deprecated in favor of close(). Uniformly apply CloseGuard across several classes, using AtomicBoolean to avoid double-freeing, and fix several resource leaks and bugs related to MediaScanner allocation. Switch MediaScanner and friends to use public API instead of raw AIDL calls. Bug: 22958127 Change-Id: Id722379f72c9e4b80d8b72550d7ce90e5e2bc786
/frameworks/base/core/java/android/content/ContentResolver.java
|
23d188873a5d54b5508d0f4679579e2faf7c0336 |
|
03-Dec-2015 |
Jeff Sharkey <jsharkey@android.com> |
Merge "Avoid a double decrease of reference counter for unstable provider" am: e8651aed4b am: aae0a49c16 am: a9c2218940 * commit 'a9c22189404b5cb1f4e66ca3ff99ed8e04403f1e': Avoid a double decrease of reference counter for unstable provider
|
f783c02c61850cad5ecac59261d70ff967c9b898 |
|
07-Feb-2014 |
Koji Fukui <koji.fukui@sonymobile.com> |
Avoid a double decrease of reference counter for unstable provider In some APIs unstable provider is released twice. Unexpected release of unstable provider makes the reference counter for unstable provider invalid state and it causes application crash. This change avoids unexpected double decrease of reference counter for unstable provider by setting null to prevent extra release in finally block. Change-Id: Ie2985c316ffcb6a9db7570c46347035c24d226af
/frameworks/base/core/java/android/content/ContentResolver.java
|
788fc2b904add1c8b02ac62663b61ae8fd7aed5a |
|
06-Jul-2015 |
Tor Norbye <tnorbye@google.com> |
Annotate Intent and ContentResolver params with @RequiresPermission Change-Id: I831cd55da9c840be0f39b77a8ae868146f089326
/frameworks/base/core/java/android/content/ContentResolver.java
|
adea1918bef942b6214cf549b1316affd2b10280 |
|
19-Jun-2015 |
Benjamin Franz <bfranz@google.com> |
Make ContentObservers work across profiles Currently registering for changes to a cross-user Uri does not work, as the calling user id is used to identify the Uri. Change this to use the userId the Uri is associated with. In order to protect Uris across users, we only allow registration for a Uri when the caller has read permission. We also only allow notify calls from across users when the caller has write permission to the Uri. Bug: 19312280 Change-Id: Ide216b09980ed5ebefe9b37c946dd8160167809f
/frameworks/base/core/java/android/content/ContentResolver.java
|
37a40c24deb02bca3868a8085069afae112f22e4 |
|
17-Jun-2015 |
Amith Yamasani <yamasani@google.com> |
App Standby : Association between content providers and their sync adapter Set sync adapters to active if the associated content providers are used at foreground process state. Minimize how frequently published content providers are reported by keeping track of last reported time. Also cache sync adapters associated with an authority in SyncManager. Bug: 21785111 Change-Id: Ic2c8cb6a27f005d1a1d0aad21d36b1510160753a
/frameworks/base/core/java/android/content/ContentResolver.java
|
34796bd07f871bc762d8ebd55cfbb80fcff4aeca |
|
12-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
Sigh, some apps are sending null ContentValues. Bug: 21560515 Change-Id: Id5a62611781a2d9da47ad3e522d3d43f860b1f70
/frameworks/base/core/java/android/content/ContentResolver.java
|
673db44fb3da4558059ef9746a496a63157f10bc |
|
12-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
Annotate ContentResolver/Provider arguments. Explicitly mark if they're @Nullable or @NonNull. Bug: 21560515 Change-Id: I5f671c241dfe65e5ab8bc06b2382fbf5a82bdb20
/frameworks/base/core/java/android/content/ContentResolver.java
|
143739cb6b0468804f83f2398b3666eb21280de6 |
|
02-Jun-2015 |
Jeff Brown <jeffbrown@google.com> |
Clarify docs on registerContentObserver. Bug: 19343752 Change-Id: If241e329f73925964f5589ee72d63a1fae54ef1b
/frameworks/base/core/java/android/content/ContentResolver.java
|
9f78f6528f1afad260be51d2058c37717851e3a2 |
|
02-Mar-2015 |
Scott Kennedy <skennedy@google.com> |
Mark arg and extras @Nullable in ContentProvider#call() Change-Id: I431b01323fe76c744520c72661d30f6b9cb6b7f1
/frameworks/base/core/java/android/content/ContentResolver.java
|
03e1e836976f44ed729fa0a41898d7ce4df34788 |
|
10-Sep-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Bugfix: use the correct user for ContentResolver calls Bug: 16860604 Change-Id: I2de228442b7bd824a115f56a24d682d346737976
/frameworks/base/core/java/android/content/ContentResolver.java
|
5b836f29a3f56f9d13b6004417330c41ec0c18ae |
|
27-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
Define EXTRA_SIZE for ContentProviders. Also make Size and SizeF parcelable. Bug: 17205016 Change-Id: Ide397b84864f6cad7f8d89e66b6c8697a3ad335b
/frameworks/base/core/java/android/content/ContentResolver.java
|
ec4bb45a8c6ca4504483ce57577d8adc31cd0966 |
|
06-Aug-2014 |
Nicolas Prevot <nprevot@google.com> |
When notify uri changes, changing the way we retrieve the userId. Changing from UserHandle.getCallingUserId() to UserHandle.myUserId(). This makes the DocumentProvider work across users. BUG: 16126891 Change-Id: I8ede64f2087894bb85eff5286803cdebd57e7137
/frameworks/base/core/java/android/content/ContentResolver.java
|
1dddc7fc790f14208516b4551ff12b2db8528864 |
|
07-Jul-2014 |
Nicolas Prevot <nprevot@google.com> |
Making getProviderMimeType work across users. For apps with cross-user uri grants, but without INTERACT_ACROSS_USERS. BUG: 16128346 Change-Id: I0136cd274eaf457804d196c09f746f66c1fe599f
/frameworks/base/core/java/android/content/ContentResolver.java
|
0e9ac20d7e0c9aca8cd342d97465adfac4c7e6e1 |
|
16-Jul-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Do Not Merge Per-user API for master sync Change-Id: I6a8088eb3bfddae4c8e38904dd26baf3c7c09c9e (cherry picked from commit 222aea8bd997807784dc99ca53f63280d384fdf0)
/frameworks/base/core/java/android/content/ContentResolver.java
|
cb22807ffcf79db1b62162842d0a90251a463ea7 |
|
01-Jul-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Adds per-user APIs required by the Settings app Bug: 15466880 Change-Id: Ic99fbf074564901b04d32b08f3a7a38555f330b3
/frameworks/base/core/java/android/content/ContentResolver.java
|
0363c3eb089afd4474bfd6ae6ee8a500d6e97614 |
|
23-Jun-2014 |
Alexandra Gherghina <alexgherghina@google.com> |
Expose per-user APIs for content services. Bug: 15466880 Change-Id: Ib5a030e78559307627fe0d2e80ce6f1a7825109d
/frameworks/base/core/java/android/content/ContentResolver.java
|
5a9decd589f3f6a512168fd669ee2c5d8daa238b |
|
04-Jun-2014 |
Matthew Williams <mjwilliams@google.com> |
Redact SyncService stuff from master This changes the API surface area, deleting things we aren't releasing. I'll do the internal clean-up at the same time I do the SyncManager refactor to sit on top of the TaskManager. Bug: 14997851 Change-Id: Ibefbb246f0e98d3159399151744279902468a23c
/frameworks/base/core/java/android/content/ContentResolver.java
|
d85fc72fb810858f7502e7e7f1bad53e1bf03edd |
|
16-Apr-2014 |
Nicolas Prevot <nprevot@google.com> |
Resolving resources across users. When an intent is sent to another profile: For content uris contained in this intent: The userId of the source user is added to the userInfo part. The ActivityManagerService has been modified to resolve resources in the user specified by the uri. The user id to which the uri belongs to is stored in the UriPermission. Change-Id: I43dc76895aba692bf148d276253aeaf9c75fce34
/frameworks/base/core/java/android/content/ContentResolver.java
|
846318a3250fa95f47a9decfbffb05a31dbd0006 |
|
04-Apr-2014 |
Jeff Sharkey <jsharkey@android.com> |
Allow prefix-based Uri permission grants. Define new FLAG_GRANT_PREFIX_URI_PERMISSION which indicates that a Uri permission grant should also apply to any other Uris that have matching scheme, authority, and path segments. For example, a prefix grant for /foo/ would allow /foo/bar/ but not /foo2/. Allow persistable and prefix grants to be issued directly through grantUriPermission(). Relaxing persistable is fine, since it still requires the receiver to actively take the permission. Since exact- and prefix-match grants for the same Uri can coexist, we track them separately using a new UriGrant key. (Consider the case where an app separately extends READ|PREFIX and WRITE for the same Uri: we can't let that become READ|WRITE|PREFIX.) Fix revoke to always take away persisted permissions. Move prefix matching logic to Uri and add tests. Add new flags to "am" tool, and various internal uses around Intent and Context. Switch some lagging users to ArraySet. Bug: 10607375 Change-Id: Ia8ce2b88421ff9f2fe5a979a27a026fc445d46f1
/frameworks/base/core/java/android/content/ContentResolver.java
|
9abfa111a37689f6b0374286513ffd2a995d82eb |
|
03-Mar-2014 |
John Spurlock <jspurlock@google.com> |
am 388eece1: am d708b2f1: am e3a6a7b4: am 841aa8db: am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter. * commit '388eece1eae65d460d1cd29afe1ac9df79bf2885': Doc fixups to ContentResolver, MediaRouter.
|
8c44c394bf82a9a8b30bef32ddf46aeed31d8ae4 |
|
03-Mar-2014 |
John Spurlock <jspurlock@google.com> |
Doc fixups to ContentResolver, MediaRouter. Change-Id: Ie821f971adf8fbbbbb6347713ae658e421d81cb8
/frameworks/base/core/java/android/content/ContentResolver.java
|
bd7bcf0fba1a991e80ea279b090aa584707fdabf |
|
06-Feb-2014 |
Matt Casey <mrcasey@google.com> |
Add more MediaStore constants for playback intents Constants are derived from this doc: https://docs.google.com/a/google.com/document/d/1lmlFcTeefLDRp_bpMrXk3yK9nKxoTVfpcShanpLxiMg/edit#heading=h.b16863tyyjzv That doc contains the full explanation of these changes. I'm making this change on behalf of {elmas,pengr} who don't have android source access but designed this in collaboration with rharagutchi on the play music team. I'll probably have to route any significant questions through them. Bug: 12874557 Change-Id: I85a4bee57a2bde519da0dc6de2cad9d036da225c
/frameworks/base/core/java/android/content/ContentResolver.java
|
88926a5482552ddf2f4906df581bbbf1cc9d03aa |
|
14-Jan-2014 |
John Spurlock <jspurlock@google.com> |
am 4b67b88e: am cce06eda: am b3436359: am e05190ea: am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs * commit '4b67b88e344a147317fc6b32e5364d4cfabf1e1d': Docfixes: three typos and escape */*.
|
3390018c6b45acffa6edf97a4174ca49f1e8c76d |
|
02-Jan-2014 |
John Spurlock <jspurlock@google.com> |
Docfixes: three typos and escape */*. Change-Id: I418d855b5d08a1a20eaca3d8e4d2e5d0fca23dd5
/frameworks/base/core/java/android/content/ContentResolver.java
|
69002ae2a2afd0f759c22ea47d669ddc33b3255a |
|
19-Oct-2013 |
Nick Kralevich <nnk@google.com> |
Fix build. Change-Id: Icf14e63d759b021b5f9f79f09efa1d101764b9b7
/frameworks/base/core/java/android/content/ContentResolver.java
|
0e4655800b96caa297d2dc55e064ee061c8c0f89 |
|
16-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
am f53c1a68: am f82a387c: am e3924ca4: Merge "Improve OPEN/CREATE_DOC docs." into klp-dev * commit 'f53c1a6841b4c6a1541e9548f425e54c486031d1': Improve OPEN/CREATE_DOC docs.
|
adef88a0a9d65e7f5ae812594e8c039747388cdd |
|
15-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
Improve OPEN/CREATE_DOC docs. Bug: 10936473 Change-Id: I4378aaaf927f114982191efd4f9887dad075390d
/frameworks/base/core/java/android/content/ContentResolver.java
|
d08d6686c5e16cedc23cd9bc836a28d629b8622c |
|
14-Oct-2013 |
Matthew Williams <mjwilliams@google.com> |
resolved conflicts for merge of 94b51810 to master Change-Id: Ida818f066b66c356a84c80e5eab0a4e2cf4ebd49
|
632515b9d0960749ddb1636677d7f12f196d73f7 |
|
11-Oct-2013 |
Matthew Williams <mjwilliams@google.com> |
Fix infinite boot-loop bug in SM. Bug:11064918 If the ContentResolver sync API is used with the empty ("") string as a provider, the ContentService will throw an RTE. This cl addresses all the entry points of the API that could allow this, as well as adds an ifEmpty check at the point of failure. Also removed RTE throws from public functions(no point in crashing the phone). Change-Id: I57427d12a6cafb3e6d7a32ca0c10b05315b20580
/frameworks/base/core/java/android/content/ContentResolver.java
|
c64ff3782c71ce7b5a92b7d91199a922ea0a37d9 |
|
10-Oct-2013 |
Jeff Brown <jeffbrown@google.com> |
Minor code cleanup in loaders. Change-Id: I38147eb9e494b53d41ca3cad042d804631916941
/frameworks/base/core/java/android/content/ContentResolver.java
|
6699ae2b76fabaf179738c853f29ac21d5caf1be |
|
10-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
am 45d23585: am 11591b73: am b3da3db3: Merge "Surface outgoing Uri permission grants." into klp-dev * commit '45d2358510f9670ddf25cc49ee2639e3d41708f7': Surface outgoing Uri permission grants.
|
bcaac0adecc8f9d7e66548df39e0f5c9f759e38c |
|
09-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
Surface outgoing Uri permission grants. This enables apps to discover and clean up persisted Uri grants when the underlying Uri becomes invalid, such as when an account is removed. Bug: 11142566 Change-Id: Ieeb36cb1155acf226327ebe91cdd30b822d69d1b
/frameworks/base/core/java/android/content/ContentResolver.java
|
b6ab3b982b98a34e6af59adbfb7e85db7da7392c |
|
02-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
am 7f60e70e: am 666b998b: am 364fc14f: Merge "Detect wedged ContentProviders, treat as ANR." into klp-dev * commit '7f60e70e815d381035b141843395830407c198d9': Detect wedged ContentProviders, treat as ANR.
|
7aa7601c09ab5d87cc15a0ed9a8f511d494a4cbc |
|
30-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Detect wedged ContentProviders, treat as ANR. All ContentProvider calls are currently blocking, making it hard for an app to recover when a remote provider is wedged. This change adds hidden support to ContentProviderClient to timeout remote calls, treating them as ANRs. This behavior is disabled by default. Update DocumentsUI to use a 20 second timeout whenever interacting with a storage provider. Bug: 10993301, 10819461, 10852518 Change-Id: I10fa3c425c6a7225fff9cb7a0a07659028230cd3
/frameworks/base/core/java/android/content/ContentResolver.java
|
5023a4df732693fdaff64da551f6b088e7ba4456 |
|
26-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
resolved conflicts for merge of 687c6221 to master Change-Id: I9e8a24d9151f31bc3284ad7f8686fa7f3c25c0d9
|
e66c1778f80f4b18e29e018eca3a338f125f23b9 |
|
20-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Require that persistable Uri permissions be taken. Change our Intent flag to indicate that a Uri permission grant is persistable, but don't actually persist it until explicitly taken by the receiving app. This prevents apps from spamming each other if persisted permissions aren't really required. Remember the last time a persisted grant was taken by an app, and use this to prune away the oldest grants when the number of grants grows too large. Allow apps to query persisted grants they are holding, and allow them to release previously persisted grants. Add public UriPermission class to return grant details and timestamp. Track various permission strengths separately, and combine together after each mutation pass. Persistable grants are currently treated like global grants, but they could be moved to have owners in the future. Require that grant holders trying to extend a persistable permission actually hold a persistable permission themselves. Bug: 10835779 Change-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759
/frameworks/base/core/java/android/content/ContentResolver.java
|
5fc67f98b92ac1542eda7739ea9604cf69e18dc5 |
|
21-Sep-2013 |
Adam Lesinski <adamlesinski@google.com> |
am a35ff661: am d473ebb7: Merge "Surfaces ParcelFileDescriptor#parseMode() as API" into klp-dev * commit 'a35ff66127d07117e93268482d7e9719abfd58c3': Surfaces ParcelFileDescriptor#parseMode() as API
|
eb8c3f93edc826413ff4143284dec01c1061d5cc |
|
20-Sep-2013 |
Adam Lesinski <adamlesinski@google.com> |
Surfaces ParcelFileDescriptor#parseMode() as API Moves ContentResolver#modeToMode() to ParcelFileDescriptor#parseMode() bug:10711271 Change-Id: I28a5de4ca70adfbec4caf739863b77f0fd7fd9a4
/frameworks/base/core/java/android/content/ContentResolver.java
|
dc7e0464b8f304a10293328ca83365b381c79b24 |
|
18-Sep-2013 |
Amith Yamasani <yamasani@google.com> |
am a8b4da87: am 840b3bd6: Merge "Fix provider leak in PFD" into klp-dev * commit 'a8b4da872a1824408b52fb1730699fde780cad04': Fix provider leak in PFD
|
487c11a3101c6cd9fc18758b3032383666f55e46 |
|
18-Sep-2013 |
Amith Yamasani <yamasani@google.com> |
Fix provider leak in PFD Code path to release content provider associated with the PFD was inadvertently bypassed by a previous change. Reinstate that code when closing the PFD. Bug: 10767447 Change-Id: I23306cfb3c28c99e587892b17ca85efd3f7a8a07
/frameworks/base/core/java/android/content/ContentResolver.java
|
7c3c23114b08f656b08c86d1c4ea8e1b366f5207 |
|
12-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
am 33f92b6f: am c1cf491d: Merge "More on issue #10130785: Restore silence and vibrate settings..." into klp-dev * commit '33f92b6fe249db2ae822c6702955c7b987ff87f9': More on issue #10130785: Restore silence and vibrate settings...
|
8d717b917cfe0b7d47743e2c80fd22131048ef3a |
|
12-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 03422d26 to master Change-Id: I5d012fb122224c949a0039450bf0a9a475dc8e82
|
c1cf491d160f8feb74b24d4ebb4e39324850cf61 |
|
11-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Merge "More on issue #10130785: Restore silence and vibrate settings..." into klp-dev
|
b3ac67a0ece71bcf484dd92914dc3599dadffb05 |
|
11-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
More on issue #10130785: Restore silence and vibrate settings... ...in settings > sound ContentResolver.uncanonicalize needs to be able to fail. Change-Id: I347ef60fc3619aae203b87079579597c60be8b90
/frameworks/base/core/java/android/content/ContentResolver.java
|
95d785346b4dae808a2d8f77356175e55a572d96 |
|
11-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #10688644: Java crash in com.android.phone: java.lang.SecurityException: Operation not allowed There was a situation I wasn't taking into account -- components declared by the system has a special ability to run in the processes of other uids. This means that if that code loaded into another process tries to do anything needing an app op verification, it will fail, because it will say it is calling as the system package name but it is not actually coming from the system uid. To fix this, we add a new Context.getOpPackageName() to go along-side getBasePackageName(). This is a special call for use by all app ops verification, which will be initialized with either the base package name, the actual package name, or now the default package name of the process if we are creating a context for system code being loaded into a non-system process. I had to update all of the code doing app ops checks to switch to this method to get the calling package name. Also improve the security exception throw to have a more descriptive error message. Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
/frameworks/base/core/java/android/content/ContentResolver.java
|
43afbe5842d88602b8da9868dfa778d669e6462f |
|
10-Sep-2013 |
Matthew Williams <mjwilliams@google.com> |
am 22902f54: am bec23ea9: Merge "Preserve CTS fail behaviour on null bundle for old API" into klp-dev * commit '22902f541e61bf9a1030fd87683102fe125ec135': Preserve CTS fail behaviour on null bundle for old API
|
d8abd6a163f8ab4332b88035e77080c48b4b71b9 |
|
09-Sep-2013 |
Matthew Williams <mjwilliams@google.com> |
Preserve CTS fail behaviour on null bundle for old API For ContentResolver.requestSync() a null bundle should not be allowed. However we don't want to enforce this for the new API, so we remove this check from the SyncRequest.Builder#build() Change-Id: I69353d24edbd686da6ded2856c0920315cb76e85
/frameworks/base/core/java/android/content/ContentResolver.java
|
0033539a4338055734bab1c3f265f2d2b3af7787 |
|
09-Sep-2013 |
Narayan Kamath <narayan@google.com> |
resolved conflicts for merge of ab98aec6 to master Change-Id: I773bce338ebc42f7428d9942d22ed140bcfbf3d9
|
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/core/java/android/content/ContentResolver.java
|
56dbf8f23677d28615e61ef2fbb0e738cca02528 |
|
26-Jul-2013 |
Matthew Williams <mjwilliams@google.com> |
Fix broken javadocs Change-Id: Ibf7f2ed92919efd36fffa963447b1a443c0bb9db
/frameworks/base/core/java/android/content/ContentResolver.java
|
6222288bfbae46550b4914ef1eb12c69dc1f716c |
|
21-Aug-2013 |
Matthew Williams <mjwilliams@google.com> |
DO NOT MERGE. Remove service component for KLP. 1) As discussed, lack of internal clients -> remove SyncService component from KLP. This CL reverts that addition. 2) Also includes javadoc cleanup of existing API. 3) Fix naming of allowMetered() -> disallowMetered() in API 4) Removed one-off sync in the future, as it doesn't make sense for sync adapters. Change-Id: I1b17094e6edafb2955cdfb99f39b44274fbe86f9
/frameworks/base/core/java/android/content/ContentResolver.java
|
94366313331a789440a3c077173aafcb85cabe78 |
|
24-Aug-2013 |
Ying Wang <wangying@google.com> |
Fix docs build. Change-Id: I3299e59fd90141fee324129ff3b251bdf8f60f10
/frameworks/base/core/java/android/content/ContentResolver.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/core/java/android/content/ContentResolver.java
|
da5a3e12f4f8f965c57d6f93c74190f43ea233f3 |
|
11-Aug-2013 |
Jeff Sharkey <jsharkey@android.com> |
Richer ParcelFileDescriptor close events. When reading from the end of a pipe or socket, there is no way to tell if the other end has finished successfully, encountered an error, or outright crashed. To solve this, we create a second socketpair() as a communication channel between the two ends of a pipe or socket pair, sending a status code with details about why the ParcelFileDescriptor was closed. The writer end of a pipe or socket can closeWithError() to send a message to the reader end. When the reader encounters EOF, they call checkError() to detect if any error occured. This also detects the case where the remote process died without sending a success message. This design is also extended to support regular files on disk, using the communication channel above to detect various remote close events or crashes, and delivering that event to a supplied OnCloseListener. Replaces JNI with best-practice Libcore.os calls, and deprecates some flags to match Context. Bug: 10330121 Change-Id: I8cfa1e4fb6f57397667c7f785106193e0faccad3
/frameworks/base/core/java/android/content/ContentResolver.java
|
08da7a1143b0c9cfb703971d882e0886bbd7d9de |
|
12-Aug-2013 |
Jeff Sharkey <jsharkey@android.com> |
API to discover granted Uri permissions. Now that granted Uri permissions can be persisted across reboots, offer APIs to discover them. Returns incoming or outgoing grants matching the requested flags and mask. Add helper method to discover "open" documents using this new API and filtering for non-documents. Require that callers own at least of the filtering packages to avoid exposing all grants. Switch internal grant tracking to use ArrayMap. Change-Id: I0a755f221d0d160b411f8d3cfc48279b64345733
/frameworks/base/core/java/android/content/ContentResolver.java
|
fa77418134c6f1f80af225a78819f069e9c974fb |
|
19-Jun-2013 |
Matthew Williams <mjwilliams@google.com> |
AnonymousSyncService & SyncRequest. Changes to the way bundles are parcelled broke SM, this update writes out the bundle as xml. This circumvents the need for parcel, and makes it easier to debug whats happening. Change-Id: I6cd5d3a2eb80bfa5b3ae0c7f2d2ff91a65daaa34
/frameworks/base/core/java/android/content/ContentResolver.java
|
b3395575a3441d9339423a4e624cb9806dd07a49 |
|
19-Jun-2013 |
Georgi Nikolov <geonik@google.com> |
Add javadoc comments explaining SYNC_EXTRAS that did not have documentation Change-Id: I3500f03076694fe5981fd5ec82e7f29062dfec53
/frameworks/base/core/java/android/content/ContentResolver.java
|
2b4d22cda3c44f5d731c15306b85045417071408 |
|
26-Apr-2013 |
Jeff Sharkey <jsharkey@android.com> |
Disable various sampling event logs. They're unused at the moment. Change-Id: Ib629b405e7b6666d38fcd0ebaa16490bfb0e95f0
/frameworks/base/core/java/android/content/ContentResolver.java
|
5c113faba6b644d1851c9281614aa0edd175fc48 |
|
07-Feb-2013 |
Alon Albert <aalbert@google.com> |
COnvert sync error to int Bug: 8152259 Change-Id: I99fc99f70796c70ec0566c40ba350e10c36b90b7
/frameworks/base/core/java/android/content/ContentResolver.java
|
35e832730c87144b9d8ccb1774ee45ff54d6a3d6 |
|
05-Feb-2013 |
Kenny Root <kroot@android.com> |
am 3789b2fb: am ace72f6a: Merge "Function uri.getAuthority is called twice. Minor doc corrections." # By Yury Zhauniarovich # Via Gerrit Code Review (2) and Android Git Automerger (1) * commit '3789b2fb823b7632e410c0191ddf77dc1e875196': Function uri.getAuthority is called twice. Minor doc corrections.
|
f9c5176a51a49fea18712338429b4d125e550a4a |
|
12-May-2012 |
Yury Zhauniarovich <y.zhalnerovich@gmail.com> |
Function uri.getAuthority is called twice. Minor doc corrections. Function uri.getAuthority was called twice in methods acquireProvider and acquireExistingProvider was called twice although a parameter representing the value had existed. The second call to the function is changed to the parameter. The parameter's modifier changed to final. Minor corrections in function descriptions in the file. Signed-off-by: Yury Zhauniarovich <y.zhalnerovich@gmail.com> Change-Id: Id003aa38c17d644357873c41a8f5ec455e46a4b7
/frameworks/base/core/java/android/content/ContentResolver.java
|
e564a325bec501fd66a163d32312e93981f3fe91 |
|
29-Jan-2013 |
Jeff Sharkey <jsharkey@android.com> |
Use the resolved Context in ContentResolver. Change-Id: If62b34a9f6d6305657a02d3f807a24eee63aecf6
/frameworks/base/core/java/android/content/ContentResolver.java
|
d8e1dbb6bc1fbaf4f2e38c3ba92ced94270deaac |
|
18-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
Rework ParceledListSlice to be much easier to use. Take advantage of this to return better information about packages filtered by permissions -- include the permissions they have in the requested array. Also fix issue #8026793 (Contact picture shows default pic while searching for a contact in qsb) by using the base package name of the Context when reporting the app name of an operation. Otherwise you could make a resource-only context for another application and do calls through that and get reported as the wrong app. Change-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8
/frameworks/base/core/java/android/content/ContentResolver.java
|
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/core/java/android/content/ContentResolver.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/core/java/android/content/ContentResolver.java
|
c21b5a019c1da00b6d861cd2859e3c349a44b3a7 |
|
08-Jan-2013 |
Jeff Brown <jeffbrown@google.com> |
Fix cursor window leak when query execution fails. Ensure that the Cursor object is closed if a query on a content provider fails due to an error or is canceled during execution. There are several places in the code where similar problems can occur. To further reduce the likelihood of leaks, close the cursor window immediately when a query fails. Bug: 7278577 Change-Id: I8c686c259de80a162b9086628a817d57f09fdd13
/frameworks/base/core/java/android/content/ContentResolver.java
|
7a96c39c510923ef73bbb06ab20109f0168b8eb1 |
|
15-Nov-2012 |
Jeff Sharkey <jsharkey@android.com> |
Move lingering services to services.jar. This helps reduce the pressure on framework.jar, and makes it clear that it should only be used by the system_server. Bug: 7333397 Change-Id: I0858904239535380fbf30562b793e277d8c3f054
/frameworks/base/core/java/android/content/ContentResolver.java
|
57286f970641493b315b0b42aba7ac6b672cc8b8 |
|
09-Oct-2012 |
Alon Albert <aalbert@google.com> |
Add sync reason to dumpsys Also: * add a second history section that logs * log mesg as text instead of number * dump Sync Status as a table Sample log: Recent Sync History #1 : 2012-10-11 15:06:11 USER 0.4s aagmtest1@gmail.com/com.google u0 com.android.calendar com.google.android.calendar #2 : 2012-10-11 15:06:11 USER 0.1s aagmtest1@gmail.com/com.google u0 subscribedfeeds android.uid.system:1000 mesg=parse-error #3 : 2012-10-11 15:06:11 USER 0.0s aagmtest1@gmail.com/com.google u0 com.google.android.apps.uploader.PicasaUploadProvider android.uid.system:1000 #4 : 2012-10-11 15:06:10 USER 0.1s aagmtest1@gmail.com/com.google u0 com.google.android.gms.plus.action android.uid.system:1000 Recent Sync History Extras #1 : 2012-10-11 15:06:11 USER aagmtest1@gmail.com/com.google u0 com.android.calendar Bundle[{feed=aagmtest1@gmail.com, force=true, ignore_settings=true, ignore_backoff=true}] #2 : 2012-10-11 15:06:11 USER aagmtest1@gmail.com/com.google u0 subscribedfeeds Bundle[{ignore_backoff=true, force=true, ignore_settings=true}] #3 : 2012-10-11 15:06:11 USER aagmtest1@gmail.com/com.google u0 com.google.android.apps.uploader.PicasaUploadProvider Bundle[{ignore_backoff=true, force=true, ignore_settings=true}] #4 : 2012-10-11 15:06:10 USER aagmtest1@gmail.com/com.google u0 com.google.android.gms.plus.action Bundle[{ignore_backoff=true, force=true, ignore_settings=true}] Sync Status Account aagmtest1@gmail.com u0 com.google ======================================================================= Authority Syncable Enabled Delay Loc Poll Per Serv User Tot Time Last Sync Periodic ------------------------------------------------------------------------------------------------------------------------------------------------------------- com.google.android.apps.currents 1 true 0 2 1 2 1 6 0:35 PERIODIC SUCCESS 86400 2012-10-12 14:59:40 2012-10-13 14:58:13 com.google.android.music.MusicContent 1 true 0 0 1 2 1 4 0:09 PERIODIC SUCCESS 86400 2012-10-12 14:59:18 2012-10-13 14:58:13 com.google.android.gms.plus.action 1 true 0 0 1 1 1 3 0:00 PERIODIC SUCCESS 86400 2012-10-12 14:59:15 2012-10-13 14:58:13 com.google.android.apps.magazines 1 true 0 1 1 2 1 5 0:14 PERIODIC SUCCESS 86400 2012-10-12 14:59:00 2012-10-13 14:58:13 Change-Id: Iffeb825e4b4f6217940a39b0dd71e06856f08f3f
/frameworks/base/core/java/android/content/ContentResolver.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/content/ContentResolver.java
|
b7564454297ba1706670ccab0562cac6676d0a77 |
|
20-Sep-2012 |
Christopher Tate <ctate@google.com> |
Multiuser awareness in content observer infrastructure Content observers are registered under the calling user's identity, not under the provider host's identity (unless the caller is using the new permissioned entry points that allow observers to be registered for a different user's view of the data). The most important implication of this is that when the settings provider is directly queried, the Cursor returned to the app is wired for change notifications based on that calling app's user. Note that it is not possible to use query() / insert() to read/write data for different users. All such manipulations should use the standard get* / put* methods in Settings.*. Bug 7122169 Change-Id: If5d9ec44927e5e56e4e7635438f4ef48a5430986
/frameworks/base/core/java/android/content/ContentResolver.java
|
16aa9736175f5bbe924a6e5587a2ca47c2dd702b |
|
18-Sep-2012 |
Christopher Tate <ctate@google.com> |
Per-user content observer APIs Callers with INTERACT_ACROSS_USERS_FULL permission can now observe content for a given user's view (and can notify content uri changes targeted to a specific user). An observer watching for UserHandle.USER_ALL will see all notifications for the given uri across all users; similarly, a notifier who specifies USER_ALL will broadcast the change to all observers across all users. The API handles both USER_ALL or USER_CURRENT, and explicitly forbids any other "pseudouser" designations. This CL also revs the Settings provider to notify with USER_ALL for changes to global settings, and with only the affected user's handle for all other changes. Bug 7122169 Change-Id: I94248b11aa91d1beb0a36432e82fe5725bb1264f
/frameworks/base/core/java/android/content/ContentResolver.java
|
5e03e2ca7d25b899b129baad2dd5eca6bf99d88a |
|
06-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
More multi-user stuff: - New (hidden) isUserRunning() API. - Maintain LRU list of visited users. - New FLAG_IS_DATA_ONLY for ApplicationInfo. - Clean up pending intent records when force-stopping a user (or package). (Also fixes bug #6880627: PendingIntent.getService() returns stale intent of force stopped app) - Fix force-stopping when installing an app to do the force-stop across all users for that app. - When selecting which processes to kill during a force stop, do this based on the actual packages loaded in the process, not just process name matching. - You can now use --user option in am when starting activities, services, and instrumentation. - The am --user option accepts "current" and "all" as arguments. - The pm uninstall command now uninstalls for all users, so it matches the semantics of the install command. - PhoneWindowManager now explicitly says to start home in the current user. - Activity manager call to retrieve the MIME type from a content provider now takes a user argument, so it will direct this to the proper user. - The package manager uninstall paths are now implemented around PackageSetting, not PackageParser.Package. This allows them to work even if the application's apk has been removed (in which case it only exists as a PackageSetting, not the PackageParser.Package parsed from the apk). Change-Id: I3522f6fcf32603090bd6e01cc90ce70b6c5aae40
/frameworks/base/core/java/android/content/ContentResolver.java
|
9530e3a22d5ffa2019d1a5177b6a441d4d6d048b |
|
19-Jun-2012 |
Nicolas Falliere <nicof@google.com> |
Added or fixed doctrings for required permissions. Bug: 6591338 Change-Id: Ia2092f9994854701b5fa1425c371817367ae07ec
/frameworks/base/core/java/android/content/ContentResolver.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/core/java/android/content/ContentResolver.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/core/java/android/content/ContentResolver.java
|
a7771df3696954f0e279407e8894a916a7cb26cc |
|
08-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Move CancellationSignal to android.os package. Bug: 6427830 Change-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd
/frameworks/base/core/java/android/content/ContentResolver.java
|
acb69bb909d098cea284df47d794c17171d84c91 |
|
14-Apr-2012 |
Dianne Hackborn <hackbod@google.com> |
Add direct support for HTML formatted text in ClipData etc. When using the clipboard, ACTION_SEND, etc., you can now supply HTML formatted text as one of the representations. This is exposed as a set of methods on ClipData for building items with HTML formatted text, and retrieving and coercing to HTML (and styled) text. In addtion, there is a new EXTRA_HTML_TEXT for interoperating with the old ACTION_SEND protocol. Change-Id: I8846520a480c8a5f829ec1e693aeebd425ac170d
/frameworks/base/core/java/android/content/ContentResolver.java
|
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 |
|
09-Mar-2012 |
Ken Wakasa <kwakasa@google.com> |
Fix obvious typos under frameworks/base/core Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
/frameworks/base/core/java/android/content/ContentResolver.java
|
ab38500d9c0b8188dcb1045a24ce91cab1ca39ce |
|
02-Mar-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am dbc591e2: am c69d6134: am 6ae4fe94: am 9303919d: Merge "Adds documentation for ContentResolver notifyChange()" * commit 'dbc591e27686486c732fca2f94fde645e3487b7a': Adds documentation for ContentResolver notifyChange()
|
4c1241df8f8b7fd5ec3dff6c7e0f66271248e76e |
|
03-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Rename CancellationSignal using preferred spelling. Bug: 5943637 Change-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265
/frameworks/base/core/java/android/content/ContentResolver.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/core/java/android/content/ContentResolver.java
|
86de0590b94bcce27e3038c27464bed510bb564a |
|
23-Jan-2012 |
Jeff Brown <jeffbrown@google.com> |
Clean up content observer code. Improved the documentation a little bit. Fixed a bug in ContentService wherein if a ContentObserver was passed as an argument and its deliverSelfNotifications() method returned true, then notifyChange would tell all observers that the change was a self-change even though it was only a self-change from the perspective of the provided observer. Deprecated ContentObservable.notifyChange since it is never used and in general it shouldn't be because we want the notification to be posted to the handler. Change-Id: Idde49eb40777e011a068f2adae8a32f779dfb923
/frameworks/base/core/java/android/content/ContentResolver.java
|
d7a1aada2d1245eaeef973bc3e37619ce8e6d593 |
|
18-Jan-2012 |
Steve Pomeroy <steve@staticfree.info> |
Adds documentation for ContentResolver notifyChange() Adds clarifying documentation to ContentResolver#notifyChange() to explain interaction with the sync framework. Change-Id: Ia1a1ed173e230bc11aa778268749323536ca434f Signed-off-by: Steve Pomeroy <steve@staticfree.info>
/frameworks/base/core/java/android/content/ContentResolver.java
|
aac01f699f9f6ccf285bdec7e89ff864f180409d |
|
15-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Merge "Add a CrossProcessCursorWrapper. Bug: 5220669"
|
558459fe85f56f29a6ed6a4d0adb4a0bd6665884 |
|
14-Oct-2011 |
Joe Fernandez <joefernandez@google.com> |
docs: add developer guide cross-references, Project ACRE, Round 2 Change-Id: I39a534ae3a2a34b4dabc333a09961012ef911d3e
/frameworks/base/core/java/android/content/ContentResolver.java
|
825c5132bff21e72c1448241f4c6868563c8d624 |
|
13-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Add a CrossProcessCursorWrapper. Bug: 5220669 The CrossProcessCursorWrapper is a useful building block for wrapping cursors that will be sent to processes remotely. It can also transform normal Cursors into CrossProcessCursors transparently. The new class fixes common performance problems and bugs that applications have encountered when implementing ContentProviders. Change-Id: Icc59fec10add3f7d8cfbd0495447860c1872c752
/frameworks/base/core/java/android/content/ContentResolver.java
|
baaf8c3f55d9d95b9d2cd9279e2ce1725da0dc52 |
|
09-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Implement CloseGuard in ContentResolver. Also, don't try to close the cursor from the finalizer, it just won't work because quite probably the Binder underneath it has already been finalized or is about to be. Change-Id: I6363cd30f32abe15412948d126e0bcc5f62943c5
/frameworks/base/core/java/android/content/ContentResolver.java
|
f40216f98aa63df4a4ff1f26692502cd9078a6fa |
|
28-Jul-2011 |
Jean Chalard <jchalard@google.com> |
Fix a bug where a provider could be never released. Bug: 5034192 Change-Id: I5d4adf27ea933687d4a0bc5ee76d57b74e708eec
/frameworks/base/core/java/android/content/ContentResolver.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/content/ContentResolver.java
|
ef5864f1bb1418307c40fc8ed4cae7545d8a44dd |
|
13-Jan-2011 |
Brad Fitzpatrick <bradfitz@android.com> |
am 2e390809: Merge "Unhide Content{Resolver,Provider}.call()" into honeycomb * commit '2e3908097b1c86004d50c0a070ca6b76a4d0d7c5': Unhide Content{Resolver,Provider}.call()
|
534c84c1ce19ae20ded249315c3c0558577eca6c |
|
12-Jan-2011 |
Brad Fitzpatrick <bradfitz@android.com> |
Unhide Content{Resolver,Provider}.call() Change-Id: Ic7833b921f5a8e70ef7d565bfdf461e6e135ff1b
/frameworks/base/core/java/android/content/ContentResolver.java
|
43194ce05eef26665572fb248a108fd24d247a8f |
|
12-Jan-2011 |
Brad Fitzpatrick <bradfitz@android.com> |
am 52d70722: am cb842753: Merge "Closing cursor in finalizer to avoid GREF and fd leak in acore" * commit '52d70722654548d156bd7a1cb8c1f05b94b09f06': Closing cursor in finalizer to avoid GREF and fd leak in acore
|
872a52c6b637faf75262b83fe68ff4e0d9fe044c |
|
20-Dec-2010 |
Johannes Carlsson <johannes.carlsson.x@sonyericsson.com> |
Closing cursor in finalizer to avoid GREF and fd leak in acore The finalize() call did not clean up completely, this eventually caused the android.process.acore to crash since it ran out of fds and GREF to increased above 2000 if an application forgot to close its cursor objects. A warning was also added when this happens so that application developers can correct their mistake. The included test case tries to verify that the finalizer works as expected by creating a bunch of Cursor objects without closing them (without this fix the acore process crashes after about 400 iterations and the test case ends with "Process crashed"). Change-Id: I11e485cef1ac02e718b2742108aa88793666c31d
/frameworks/base/core/java/android/content/ContentResolver.java
|
03ee779b28227e75f16cb6240c5c667d097e59d1 |
|
28-Dec-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am e90a1b16: am 752942ec: Merge "The phone is crashing when unknown mime content is transferred." * commit 'e90a1b16a3d6c559cb7fc47ad967a1810d88e923': The phone is crashing when unknown mime content is transferred.
|
145e6c4975536d927e506634514a06c43313df17 |
|
20-Dec-2010 |
Ola Olsson <ola1.olsson@sonyericsson.com> |
The phone is crashing when unknown mime content is transferred. The content resolver does not take care of the IllegalStateException that is thrown in getType and that needs to be fixed. Change-Id: I3e66f1aa259ab91fb9233e1ba07faa1ab6c3f2dd
/frameworks/base/core/java/android/content/ContentResolver.java
|
c6a69559cb62bd20166c0c9684e64c60d779da38 |
|
28-Sep-2010 |
Fred Quintana <fredq@google.com> |
Add getCurrentSyncs() to the SDK, which replaces the deprecated getCurrentSync(). Change-Id: I1112df41e48ed93ff4c0c5af4825dbdce0c4cccc
/frameworks/base/core/java/android/content/ContentResolver.java
|
64bbbb471ed78ae06f411224849a4556a30fd362 |
|
28-Sep-2010 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of a8bce7c8 to master Change-Id: I34526a3aed6591639e1a1bff8f42e0c5d8e328cc
|
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/core/java/android/content/ContentResolver.java
|
8313fc7e94e46e5cc09f457a15a771a325b9f74f |
|
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/core/java/android/content/ContentResolver.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/core/java/android/content/ContentResolver.java
|
36e5f667bc889a7b1bc17f9a5bd44f33b2d47020 |
|
25-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 2eb12a47 to master Change-Id: I79eb9d9f083e51ec1b99145d81632683669e7a99
|
01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301 |
|
25-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
Some ActivityThread/ActivityManager cleanup. - Move PackageInfo out of ActivityThread, renaming to LoadedApk. - Rename some of the other PacakgeInfo inner classes to better represent what they are. - Rename HistoryRecord to ActivityRecord. - Introduce AppGlobals, to eventually let ActivityThread become package scoped. Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
/frameworks/base/core/java/android/content/ContentResolver.java
|
03f0292744094ec107ffce71301c394503a31ded |
|
09-Jun-2010 |
Gilles Debunne <debunne@google.com> |
New XmlDocumentProvider class. Minor changes in the Adapters.java helper class. Extracts data out of a XML document using an XPath-like syntax. Change-Id: I0617b0783f11c86118b42cd8485d54440810c805
/frameworks/base/core/java/android/content/ContentResolver.java
|
020e5345795a157d7829ebbe4d7864595dafc576 |
|
28-Apr-2010 |
Vasu Nori <vnori@google.com> |
bug:2622719 move 'forcing of cursor execution' to ContentProvider revert part of the CL: Ia561135e974a44ad3e3774ecb23c6a3d0fc38176 and add it to ContentProvider.query() to force query execution in worker thread, instead of having the main thread incur the cost of query execution and potentially get ANR Change-Id: I0ea8a170bd954a421f4ad825f8090319a83a5b2b
/frameworks/base/core/java/android/content/ContentResolver.java
|
a8fbedbf5e274581ba0cbb20da34ade286fc1cfc |
|
08-Apr-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Missed these ones in the previous rename. BUG=2581935 Change-Id: I12e7fc924d7164ab4a5ff7bd6ee52a10f7551ad4
/frameworks/base/core/java/android/content/ContentResolver.java
|
d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6b |
|
31-Mar-2010 |
Fred Quintana <fredq@google.com> |
some changes due to an API review - make EntityIterator extend Iterator and thus not throw a RemoteException, instead converting it into a RuntimeException. - rename ActiveSyncInfo to SyncInfo - change getActiveSync to getCurrentSync - remove the accessors in SyncInfo and instead make the final fields publicly accessible - made AbstractThreadedSyncAdapter.cancelSync not take a thread Change-Id: I99fde5585bc5f1e95f4873ffbba189074a8d6372 http://b/issue?id=2553539 http://b/issue?id=2553541 http://b/issue?id=2553550
/frameworks/base/core/java/android/content/ContentResolver.java
|
d2a2daaa89865d19e881ab9af133ce0f3902c820 |
|
11-Mar-2010 |
Omari Stephens <xsdg@android.com> |
Fix small typo in javadoc: "deleting" -> "updating" Change-Id: Ie0464aa92d33eb5b076a8122f5bd6317fd44a7b2
/frameworks/base/core/java/android/content/ContentResolver.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/core/java/android/content/ContentResolver.java
|
1b487ec44b6b5594914d52fa427bec4f29a60541 |
|
26-Feb-2010 |
Fred Quintana <fredq@google.com> |
expose some sync control methods - ActiveSyncInfo - ContentResolver.addStatusChangeListener - SYNC_OBSERVER_TYPE_SETTINGS - SYNC_OBSERVER_TYPE_PENDING - SYNC_OBSERVER_TYPE_ACTIVE - make the ContentService resilient to nulls passed in to the status change listener registration and unregistration calls bug http://b/issue?id=2337197
/frameworks/base/core/java/android/content/ContentResolver.java
|
25880968cbde25c9edb162c0d70d45dc75239456 |
|
23-Feb-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Reduce SQLiteDatabase and ContentResolver EventLog logging thresholds. Turns out the database is used a ton, and not particularly quickly, so these were spamming the logs at their prior 100ms thresholds. Setting it to 500ms now. (still sub-sampled, so should be ~5x less spammy...)
/frameworks/base/core/java/android/content/ContentResolver.java
|
d72f718c9cc4bd5e4701f4c5cdab51b4d8cf6435 |
|
12-Feb-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Measure walltime in ContentResolver and SQLiteDatabase operations logging. Previously, SQLiteDatabase was using Debug.threadCpuTimeNanos(), which doesn't include I/O time (user-perceived latency), and ContentResolver was using System.currentTimeMillis(), which didn't account for deep sleeps. Now both are consistently using SystemClock.uptimeMillis().
/frameworks/base/core/java/android/content/ContentResolver.java
|
a63730d1f103f78589faef461d2af7351fc49f42 |
|
08-Feb-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Log ContentProvider operations to the EventLog. Just like with db_operation, operations over 100ms are always logged, while operations under that are subsampled. This will help with performance analysis, getting real-world performance numbers from dogfooders.
/frameworks/base/core/java/android/content/ContentResolver.java
|
53bd2522ca7767f46646606123b6e2689b811850 |
|
06-Feb-2010 |
Fred Quintana <fredq@google.com> |
- change the SyncManager to retry MANUAL syncs that encounter a soft error - make the sync dump handle the case where there are no accounts - fix a bug that caused the SyncManager to burn up CPU in the system process The following was implemented: scheduler offers: - settings to disable sync - retries of certain errors - backoffs want a way to control these when scheduling a sync - "ignore_settings" - "ignore initial backoff" - "manual" : ignore settings, ignore initial backoff - "do not retry" - need to change the default behavior of not retrying manual syncs to retry regardless
/frameworks/base/core/java/android/content/ContentResolver.java
|
c5d1c6db61f208b206b260f897bb5bbc64be4d97 |
|
27-Jan-2010 |
Fred Quintana <fredq@google.com> |
add sync polling - added the ability to specify that a sync (of account/authority/extras) should occur at a given frequency - the existing daily poll code was replaced with seeding each account/authority with a 24 hour periodic sync - enhanced the "adb shell dumpsys content" output to show the periodic syncs and when they will next run
/frameworks/base/core/java/android/content/ContentResolver.java
|
0ba1cb06c6a0332b76c469bd54dcf6f98128ac82 |
|
08-Jan-2010 |
Tom O'Neill <tomo@google.com> |
ContentResolver.query() includes performance considerations Mention the desirability of using "?"-substitution in the where clause, and reemphasize the importance of using an explicit projection. Change-Id: Iaa489d50db409f34e78bcd55253e5a4e53445cf2
/frameworks/base/core/java/android/content/ContentResolver.java
|
2ec6c5699181316e5a5c2cd293c006ac4a8bb101 |
|
10-Dec-2009 |
Fred Quintana <fredq@google.com> |
am 328c0e79: - removed the concept of Entity from the ContentProvider APIs - removed the parcelling ability from Entity and EntityIterator and made them public - added an EntityIterator abstract implementation that allow easy wrapping of a Cursor - changed the VCard c Merge commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f' into eclair-mr2-plus-aosp * commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f': - removed the concept of Entity from the ContentProvider APIs
/frameworks/base/core/java/android/content/ContentResolver.java
|
5bba632d877c2878384ff21566c8eb6a1a22f37b |
|
05-Oct-2009 |
Fred Quintana <fredq@google.com> |
- hide Entity and all its references - remove updateEntity and insertEntity, since they are not used - add the RawContacts.Entity class, which is used in lieu of the android.content.Entity
/frameworks/base/core/java/android/content/ContentResolver.java
|
3348f14b3d46b172a5b557f81aac526b7e8bf5fb |
|
30-Sep-2009 |
Costin Manolache <costin@google.com> |
Remove GAIA string
/frameworks/base/core/java/android/content/ContentResolver.java
|
4c87a3f26a7c0c75fa371024a8726b59a108fd0f |
|
16-Sep-2009 |
Bjorn Bringert <bringert@android.com> |
Use Resources to load search icons with android.resource URIs Before, all icon URIs were opened with ContentResolver.openInputStream(Uri), but that does not include the density information from the source application. Now, if the URI uses the android.resource scheme, we resolve the URI to a Resources and a resource ID, and load it with Resources.getDrawable(int). This requires making OpenResourceIdResult and getResourceId() in ContentResolver public (but hidden). This change also caches icons that were specified using just a resource ID. Since loading a Drawable from a URI is a generally useful operation, it would be good to make it easy for apps to do it in the proper density-independent way. We could add a getDrawable(Uri) method to the framework. The question is where. It would be easiest to add it to ContentResolver, but that may be a bit odd since there is no other code for dealing with Drawables in ContentResolver. Another alternative is in Resources, since getDrawable(int) is there, but that class deals with the resources for a single app, whereas getDrawable(Uri) can open a drawable from any app. Putting it in Context may be the best choice, since that's in android.content, and can thus access package private members in ContentResolver, and since it's already a dumping place for random useful high-level methods. Opinions? Fixes http://b/issue?id=2034526 "Icons on search do not scale for wide VGA" Change-Id: I44de0b74826e5560141a3174bcbba991ba6264ac
/frameworks/base/core/java/android/content/ContentResolver.java
|
4a51c20ce607c74914f90fd897f04080121ac13b |
|
22-Aug-2009 |
Dianne Hackborn <hackbod@google.com> |
I am getting tired of the java doc warnings, so fix them. Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
/frameworks/base/core/java/android/content/ContentResolver.java
|
77709755b74bcc852cd511ff833c2827c0f0e1aa |
|
21-Aug-2009 |
Fred Quintana <fredq@google.com> |
- add a reset to EntityIterator to allow it to go back to the beginning - clean up the debug printing of SyncResult
/frameworks/base/core/java/android/content/ContentResolver.java
|
4a6679b97e0285c5b65ec5c0d9080ff90d3e9e81 |
|
17-Aug-2009 |
Fred Quintana <fredq@google.com> |
make syncadapter set whether the account is syncable
/frameworks/base/core/java/android/content/ContentResolver.java
|
20ea6ce0e8a758cc5c33eb2577495bf9f4dce16e |
|
18-Aug-2009 |
Jim Miller <jaggies@google.com> |
Change get/set IsSyncable() methods to static. Add isUserFacing flag to SyncAdapterType. Update api file.
/frameworks/base/core/java/android/content/ContentResolver.java
|
718671b441c6318276e6d954a41a95db0d7e6c49 |
|
17-Aug-2009 |
Fred Quintana <fredq@google.com> |
fix build breakage
/frameworks/base/core/java/android/content/ContentResolver.java
|
5e787c42f2a6b3afc8ec8320a08d51b2d44b8614 |
|
17-Aug-2009 |
Fred Quintana <fredq@google.com> |
- add a "isSyncable" flag to a given account/authority pair that indicates whether or not syncs should be attempted for it. - add public methods to get and set this parameter
/frameworks/base/core/java/android/content/ContentResolver.java
|
ac9385ef3105fb7464e1f46049c62755a8b7f0e9 |
|
23-Jun-2009 |
Fred Quintana <fredq@google.com> |
- clean up the sync settings names to: (get|set)SyncAutomatically (get|set)MasterSyncAutomatically - change SYNC_EXTRAS_FORCE to SYNC_EXTRAS_MANUAL to mace clear that this overrides the .*SyncAutomatically settings - make ContentResolver methods that call the sync controls methods in IContentService so that SDK users can use them - rename startSync to requestSync to reinforce the fact that a sync is not immediately or always started when this method is called - add an Account parameter to all the sync settings and control methods - change the sync control methods to take a String authority rather than a Uri uri
/frameworks/base/core/java/android/content/ContentResolver.java
|
03d9490758c9318cee6d14d3cc5007556dce92d0 |
|
22-May-2009 |
Fred Quintana <fredq@google.com> |
- create a new generic ISyncAdapter implementation, SyncAdapterNew - change the applyBatch to take an ArrayList rather than an [] - change Entity to be a final flass that contains ContentValues - remove the ability to update/insert Entities by a ContentProviderOperation
/frameworks/base/core/java/android/content/ContentResolver.java
|
8943737692169f564cd34a9c8d471f3a5d438712 |
|
16-May-2009 |
Fred Quintana <fredq@google.com> |
add ipc support to batching
/frameworks/base/core/java/android/content/ContentResolver.java
|
6a8d5332f00bdfade6674b312e7166940aa28348 |
|
08-May-2009 |
Fred Quintana <fredq@google.com> |
content provider entities
/frameworks/base/core/java/android/content/ContentResolver.java
|
7a1355950172b7a549820e9a2cd4a9b2099ec32f |
|
06-May-2009 |
Dianne Hackborn <hackbod@google.com> |
merged 231cc608d06ffc31c24bf8aa8c8275bdd2636581
|
231cc608d06ffc31c24bf8aa8c8275bdd2636581 |
|
28-Apr-2009 |
Dianne Hackborn <hackbod@google.com> |
Rewrite SyncStorageEngine to use flat files and in-memory data structures. The previous implementation used a database for storing all of its state, which could cause a significant amount of IO activity as its tables were updated through the stages of a sync. This new implementation replaces that in-memory data structures, with hand-written code for writing them to persistent storage. There are now 4 files associated with this class, holding various pieces of its state that should be consistent. These are everything from a main XML file of account information that must always be retained, to a binary file of per-day statistics that can be thrown away at any time. Writes of these files as scheduled at various times based on their importance of the frequency at which they change. Because the database no longer exists, there needs to be a new explicit interface for interacting with the sync manager database. This is provided by new APIs on IContentService, with a hidden method on ContentResolver to retrieve the IContentService so that various system entities can use it. Other changes in other projects are required to update to the new API. The goal here is to have as little an impact on the code and functionality outside of SyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.
/frameworks/base/core/java/android/content/ContentResolver.java
|
718d8a2d7ff3e864a73879eb646f46c14ab74d07 |
|
30-Apr-2009 |
Fred Quintana <fredq@google.com> |
decouple SyncAdapter from ContentProvider
/frameworks/base/core/java/android/content/ContentResolver.java
|
d9d2f1140b52fd0c014e9deac59f6000564b7e84 |
|
23-Apr-2009 |
Fred Quintana <fredq@google.com> |
change the sync framework and users to understand Account
/frameworks/base/core/java/android/content/ContentResolver.java
|
b0c6dbd53b26b172fe8eb7d117550e4edf7a0c9c |
|
22-Apr-2009 |
Jeff Hamilton <> |
AI 147255: am: CL 147253 am: CL 147250 Fix a nasty typo in the docs for ContentResolver.update(). No code changes. Original author: jham Merged from: //branches/cupcake/... Original author: android-build Automated import of CL 147255
/frameworks/base/core/java/android/content/ContentResolver.java
|
348c1796d460e43e45e582739956c02c5bc8f602 |
|
22-Apr-2009 |
Jeff Hamilton <> |
AI 147253: am: CL 147250 Fix a nasty typo in the docs for ContentResolver.update(). No code changes. Original author: jham Merged from: //branches/cupcake/... Automated import of CL 147253
/frameworks/base/core/java/android/content/ContentResolver.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/content/ContentResolver.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/content/ContentResolver.java
|
076357b8567458d4b6dfdcf839ef751634cd2bfb |
|
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@132589
/frameworks/base/core/java/android/content/ContentResolver.java
|
3dec7d563a2f3e1eb967ce2054a00b6620e3558c |
|
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@137055
/frameworks/base/core/java/android/content/ContentResolver.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/android/content/ContentResolver.java
|