3b566b84708eea887ab3e1e1bbba4b2242b261d6 |
|
12-Nov-2014 |
Jeff Sharkey <jsharkey@android.com> |
Move ringtone redirection to MediaPlayer. Way back in API 1 we defined Settings.System.DEFAULT_NOTIFICATION_URI which redirects through SettingsProvider before finally ariving at the real underlying ContentProvider, usually MediaStore. With new SELinux rules, we're no longer allowing the system_server to hold open FDs to shared storage devices, which causes these proxied openFile() calls to fail. To work around this, teach MediaPlayer to resolve the final ringtone Uri without going through the system. Bug: 18226181 Change-Id: I40c68617c952c0bb3e939e5084f5b68a35e31ae3
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
67f175cf07ff52c5bee30536caad2e97800ab5b8 |
|
03-Oct-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #17811029: Settings provider race when removing users Change-Id: Ia40d0a9c161b765d1340db5390d0acdbfc050b81
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
3de09018a9611b1791cc29ed5200b7d9694189a9 |
|
02-Oct-2014 |
Kenny Guy <kennyguy@google.com> |
Merge "SettingsProvider should use correct cache when redirecting to user 0." into lmp-dev
|
8d05172112436a81bed6e4a0810f8914509d8a4d |
|
01-Oct-2014 |
Dianne Hackborn <hackbod@google.com> |
More work on issue #17656716: Unhandled exception in Window Manager Fix Slog.wtf to not acquire the activity manager lock in its code path, so that it can never deadlock. This was the original intention of it, but part was missed. Now we can put back in the code to detect when strict mode data is getting large (a little more targeted now to the actual problem), and use Slog.wtf to report it. And as a bonus, when this happens we will now clear all of the collected violations, to avoid getting in to the bad case where IPCs start failing. So this should be good enough for L to fix the problem, with wtf reports for us to see if the underlying issue is still happening. Finally, switch a butch of stuff in the system process from Log.wtf to Slog.wtf, since many of those are deadlocks waiting to happen. Oh and fix a crash in the settings provider I noticed in APR. Change-Id: I307d51b7a4db238fd1e5fe2f3f9bf1b9c6f1c041
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
a37d000c2b4acfc72f5a5e75e5cd711fd10acaa8 |
|
01-Oct-2014 |
Kenny Guy <kennyguy@google.com> |
SettingsProvider should use correct cache when redirecting to user 0. SettingsProvider reads secure and system settings for managed profiles from user 0 instead. However it still checks the cache for the managed profile not user 0. Bug: 17736586 Change-Id: I15d44b8a5779b01e6b9032e528dc34f5c5602449
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
ccc7cb9bdb3eb5f86d81e223b82e04dab21ad5fa |
|
23-Sep-2014 |
Amith Yamasani <yamasani@google.com> |
Return masked location mode for managed profiles If there's a user restriction on location sharing in a managed profile, always return empty string for location providers so that location can be disabled by the admin even if the primary user has location enabled. Also fix an incorrect update of the cache. Shouldn't update the primary user's cache when the caller is the managed profile. Bug: 17478855 Change-Id: Icab3459ae351c5cfc287e21df6a5ba1df9dfbdb4
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
35349352732fd6d889b8d718dd29f068ebbf1021 |
|
11-Sep-2014 |
Zoltan Szatmary-Ban <szatmz@google.com> |
Leave SettingsProvider running if cloning of a setting fails Cloning of settings to managed profiles could fail due to security restrictions. This caused Settings app crash. Instead the exception is now caught inside SettingsProvider, logged, and we leave the app running. Bug:17450158 Change-Id: I7525d634e57701db304117f4b2035faf53977836
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
b53453fae037d67e421011936c8fdffe7ba43922 |
|
22-Aug-2014 |
Julia Reynolds <juliacr@google.com> |
Audio/Micrphone user restriction/multiuser updates. 1. Persist microphone mute state. 2. Set mute state for correct user. 3. Check for settings restrictions as the correct user. Bug: 17177502 Bug: 16701642 Change-Id: Id8b6cd90c5caceb67fbec862f90aac7ec7a00b3c
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
4f7e2e334e4ca5f1a67baf4bdd40cd080b954161 |
|
15-Aug-2014 |
Amith Yamasani <yamasani@google.com> |
Copy certain settings to the managed profile All reads of those specific settings will go to the primary user. Inserts to primary also go to managed profiles in order to notify any observers. This enables Location settings to be shared by both profiles. Also some other settings related to IME and Accessibility since those services are shared across the profiles. Bug: 16457210 Change-Id: Ib8fd697b5c78027fcbaf245d82dda5e6d6aab4f0
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
25838509d84a139d0f0bc1f74ea674fcfba76629 |
|
10-Jul-2014 |
Julia Reynolds <juliacr@google.com> |
INSTALL_NON_MARKET_APPS lives in Secure again. Change-Id: Ib3c7a48b8dc2d649f2f6c8e8cd822ab342634afd
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
5e458dd6b4b92c369865e59c81a02c8ce8c342f6 |
|
07-Jul-2014 |
Julia Reynolds <juliacr@google.com> |
Apply user restrictions to SettingsProvider. Change-Id: If68c715bc688bf0df63591e0b8f8bf8a2b6dd118
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
0da1357f9827b6a2df24a449dbb8eba12484095c |
|
14-Oct-2013 |
Christopher Tate <ctate@google.com> |
Log noisily on uid vs user-handle confusion in the settings provider Make sure that we catch any attempts to pass a uid to the settings provider's "for this user" code paths. Bug 11087584 Bug 11208808 Change-Id: I1cc025b2aade9072b4a61b4499d02c82b0085fa2
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
911d7f411f36f2279aae44c89ff1d33a29140046 |
|
06-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Provide calling package to ContentProviders. The calling package is important for ContentProviders that want to grant Uri permissions as a side effect of operations, so offer it through a new API. Validates the provided package against the calling UID before returning. Bug: 10626527 Change-Id: I7277880eebbd48444c024bcf5f69199133cd59e4
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
38e7a60fd7fecdf1c6593724111a92147b4c50ff |
|
04-Sep-2013 |
Christopher Tate <ctate@google.com> |
Sanity check users before committing new Android ID In creation/deletion cycling we can wind up racing and attempting to establish the Android ID on first access *after* the user has already been deleted. Cope gracefully with this outcome. Bug 10608503 Change-Id: I169d5052e5a2e354ce0e1f61258e45e31f5ba171
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
7f50ef7ddafc6dc7d6419e312185160995047256 |
|
28-Jun-2013 |
Amith Yamasani <yamasani@google.com> |
am 3f0decd7: am 16a2268f: am e6304a9c: Merge "When a new user AID is generated, dump it to dropbox" into jb-mr2-dev * commit '3f0decd7dff8b4c12544c24b2d19a41d4eaacd03': When a new user AID is generated, dump it to dropbox
|
5cdf7f5b2a75455e8024a4cb892ac38bcd8e9582 |
|
28-Jun-2013 |
Amith Yamasani <yamasani@google.com> |
When a new user AID is generated, dump it to dropbox Bug: 9595851 Change-Id: I6fde757eed84d7914db180e80c9d68448b3e5780
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
853ad6fbe34fa26e81e4b7325309a034d7a1b038 |
|
30-Apr-2013 |
Mike Lockwood <lockwood@google.com> |
Remove obsolete OMA-DRM support Change-Id: Ic6008d4c9f8b9cd9fd4efec070260227af70559c
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
27db46850b708070452c0ce49daf5f79503fbde6 |
|
31-Mar-2013 |
Amith Yamasani <yamasani@google.com> |
Block access to accounts for limited users. Make sure that apps that have access to restricted accounts can see them. If they don't have access, they shouldn't be able to add a new account either. Show an error message in the account picker if the user/app is not authorized. Change-Id: I117c0b14d7d06c5ac4e66506df156b174567f5f3
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
1095d9ac5df839408b9a549cc638c2909d98dfac |
|
07-Feb-2013 |
Maggie Benthall <mbenthall@google.com> |
Merge "Fix for SettingsProvider to query for correct user."
|
d2726582f135383e56661bc41d750966642dab45 |
|
04-Feb-2013 |
Maggie Benthall <mbenthall@google.com> |
Fix for SettingsProvider to query for correct user. insertForUser takes a specified user and attempts to adjust that user's settings, first looking at their existing settings to determine the difference. However it was querying the settings for the calling user, rather than for the user whose settings were being changed. Also add a test that exercises the fix. Change-Id: I6ed6fd79154ac1b6e6ab880769ac9081dfff6b80
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
961321fe4ed4431a6362d729d9e4ea26bdecde61 |
|
06-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: add op for writing settings. Also fix a build. And fix a bug that I think was introduced in the multi-user work that removed the permission check for writing to settings...! Change-Id: I5945682faa789ffc78fd3546c0df7d03693f106d
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
40e9f2922cae76ffcbc521481e5be8e80e8744ef |
|
28-Nov-2012 |
Dianne Hackborn <hackbod@google.com> |
Quiet down a lot of logging. Also fix a little problem where the USER_STARTED broadcasts were not being sent as ordered broadcasts(!). Change-Id: I3aa3e0a9b3900967cdd2d115ee103371b0a50c41
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
61695ffcbccc6cca210e869eb3bc6e97127c2357 |
|
05-Oct-2012 |
Christopher Tate <ctate@google.com> |
Make sure settings writes are permission checked correctly The last bit of undoing the earlier tangle around query results having observers under the calling user's identity. We do *not* want to drop calling identity in the call() processing; we want the table-based permission checks at the point of the underlying db operations to be performed against that identity. Bug 7265610 Change-Id: Ie0c9331ebd0918262a0a32b5b03b876fc2a92ca3
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
34637e57fc5bce01029806a67cf0cc2ef049e13b |
|
05-Oct-2012 |
Christopher Tate <ctate@google.com> |
Make sure to check write perms after rewriting destination table The write-permission check must occur after any destination-table rewriting, otherwise any application would be able to write to any global setting, by supplying a fraudulent "system" namespace in the uri, but with a key name that will be redirected to global. Bug 7289965 Change-Id: I122098a64e40d14e00d3cb6608c50aeb74faf7ce
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
35dd752238d3ce3b83e78eb4b00a85ea3d067088 |
|
04-Oct-2012 |
Christopher Tate <ctate@google.com> |
Merge "Rewrite raw insert()s and some raw query()s of moved-to-global keys" into jb-mr1-dev
|
c221d2be7d2bf57373d43457b18483266f88f9a6 |
|
04-Oct-2012 |
Christopher Tate <ctate@google.com> |
Rewrite raw insert()s and some raw query()s of moved-to-global keys The Settings put*() APIs fix up references via the old namespaces, but the raw insert() interface didn't. Now it does. Also, when possible we fix up direct query() operations on the old namespace to point to the correct one. At present that is only done for query() operations with Uris of the form content://secure/adb_enabled There is no rewriting done on queries of the form content://secure WHERE name='adb_enabled' since the app-supplied WHERE clause can be arbitrarily complex. Bug 7267568 Change-Id: I5c8cecbea7f5b1da6247a53b1428d3effb0bbca5
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.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/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
66488d64df8c3cf8722b8bf282398617cf3c0551 |
|
02-Oct-2012 |
Christopher Tate <ctate@google.com> |
Make settings backup/restore work in the new multi-user world 1) Properly handle restores of settings elements that have been migrated to the new global namespace 1) Back up and restore the new global settings namespace 3) Make sure to back up / restore the global entity ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED Bug 7249405 Change-Id: Ibfa9930ea4d0e16c7635697e8c631b155e4c0cb2
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
6e2bee75cea415621165698fdd9ce857bbb8872e |
|
01-Oct-2012 |
Jeff Sharkey <jsharkey@android.com> |
Migrate more System and Secure settings to Global. Includes telephony, WindowManager, PackageManager, and debugging settings. Update API to point towards moved values. Bug: 7231764, 7231252, 7231156 Change-Id: I5828747205708872f19f83a5bc821ed0a801cb79
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
625239a05401bbf18b04d9874cea3f82da7c29a1 |
|
27-Sep-2012 |
Jeff Sharkey <jsharkey@android.com> |
Migrate more Secure settings to Global. Migrate networking, storage, battery, DropBox, and PackageManager related Secure settings to Global table. Bug: 7232014, 7231331, 7231198 Change-Id: I772c2a9586a2f708c9db95622477f235064b8f4d
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
bdfce2ec05a3e9ca6acd6711de6133e06f2446e6 |
|
27-Sep-2012 |
Jeff Sharkey <jsharkey@android.com> |
First step towards cleaning up Global settings. Remove all @Deprecated @hide settings, and clean up any stragglers. Bug: 7232125 Change-Id: Ibf67093c728d4a28565129b923edb1701d3b2789
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
d33646008948db439ea8cde8dfc0188aced6436d |
|
25-Sep-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge into jb-mr1-dev Change-Id: Idf183be6a41ff37add5141a20e96d5190396d1a4
|
139748fd724b482e2c012a6ec44d1c5abc0c0e97 |
|
24-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #7215984: java.lang.RuntimeException: Unable to create... ...service com.android.systemui.SystemUIService: java.lang.NullPointerException - Don't acquire the activity manager lock in handleIncomingUser(), there is really no need to do so. - Rework the settings provider client side cache code to not hold locks while calling into the provider. I also changed the way the settings provider uses system properties so that there is one property for all users. We can't do one per user, since the system property name space is limited with a fixed size. And we don't really need to do that; the worse that happens by combining all users is that if one running user changes one of its settings, all other running users will think they need to reload settings when they go to fetch them next. Change-Id: I13b90b832310d117eb6d721aacd122cfba7d749a
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
5bcb55186ebda12d9e4308043898f7aa3ac5c952 |
|
24-Sep-2012 |
Doug Zongker <dougz@google.com> |
fix argument parser for global settings URLs Make content://settings/global/setting_name URLs work like system and secure URLs. Bug: 7212535 Change-Id: I33e388a0cc80309453714eab726ce45b3f8fef73
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.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/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
c8459dc85e53a9275c89190b35f1da35cd996e46 |
|
18-Sep-2012 |
Christopher Tate <ctate@google.com> |
Settings provider needs to send notifications as itself ... and not as its ultimate caller, who may be a less-privileged application. Fixes bug 7188309 Change-Id: Iffd37b8da84f683bf665bf3d48c0b7fbc8dd721d
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.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/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
78d2a66ac12e4c8f1303225514f573fb53af1dd9 |
|
14-Sep-2012 |
Christopher Tate <ctate@google.com> |
Fix Settings writes to a different user Oops. Stacked bugs: first, the desired user handle was not properly being passed from the call() entry point to the database operations; then on top of that, the client-side cache management was still looking in the local user's cache for the data, so a request to read a different user's settings would return the local user's instead if that key was already known to the local user's cache. Reads and writes of a different user's settings are now uncached, so they're relatively much slower. They're rare, however, so this is not something to worry about unless we encounter a real world case where it's a significant factor. This CL also adds a bit of cross-user settings read/write testing to the existing provider suite. These new tests caught both the known wrong-user-write bug and discovered the client-side cache bug, so yay. Finally, the existing wholesale mutual-exclusion approach would deadlock in certain circumstances due to the fact that the settings database creation code might have to call out to the Package Manager while populating the bookmark/shortcut table, and the Package Manager would then call back into the settings provider in the course of handling that request. The synchronization regime has been significantly tightened up now: now the database code [which is known to deal with concurrency itself] is allowed to cope with multiple parallel openers of the same db; this allows the settings provider to avoid calling out to other parts of the system even implicitly while its internal lock is held. Change-Id: Ib77d445b4a2ec658cc5c210830f6977c981f87ed
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
c868b645b46685574955eaff9f8d46d9262a3357 |
|
13-Sep-2012 |
Christopher Tate <ctate@google.com> |
Moved a few telephony settings from Secure to Global Also tidy up the bookkeeping for a few settings that were earlier moved to Global without the redirect tables being fixed up. Change-Id: I69275db3b2636cd6ba9c8c51b88e97d8ba4b7b7d
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
4dc7a68dbeaa0edd8815b2105915753310d58343 |
|
11-Sep-2012 |
Christopher Tate <ctate@google.com> |
Set up default (random) Android IDs for all users Also correct some now-misleading terminology in a permission-check log message, and fix a bug in which a system component trying to write to a secondary user's settings would wind up writing the owner's settings instead. Bug 7132405 Change-Id: I5b8fafc35720390a01652e386ab5b7c0ad751abe
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
d5fe1479248fa597efc7ccb0b36df0b520bbc2a3 |
|
11-Sep-2012 |
Christopher Tate <ctate@google.com> |
Miscellaneous fixes for Settings (1) It's okay to write literal null as a settings element value (2) Properly convey the user handle in the put-for-user variant Bug 7137201 Bug 7139826 Change-Id: I0ed77d65e8377f0e0580a2668f10b7167ad34928
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
9219874be99cc07660807cc5dc94b0d157ef8808 |
|
07-Sep-2012 |
Christopher Tate <ctate@google.com> |
Further fixup of migration to global settings The Settings.System.STAY_ON_WHILE_PLUGGED element should have been migrated to the global table, but wasn't. This CL does a couple of things around dealing with this: (1) Tidies up the migration tables outright, so that they correctly reflect the intended final state (2) Introduces the option of doing a key migration only if the element has not yet been moved to the new table, to allow for safe retry- -with-ignore. This will make it easy to make any future alterations to the global vs per-user association of individual elements (3) Migrates the STAY_ON_WHILE_PLUGGED element if it hasn't been already. Bug 7126575 Change-Id: Ic5fa9ba45f11b09270bd5bc94c26fbbd84abc749
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
06efb530a479ea12398c1b3ee4b80e2ac85a1680 |
|
25-Aug-2012 |
Christopher Tate <ctate@google.com> |
Per-user settings Each user has its own Settings.System.* and Settings.Secure.* namespace now. In addition, this CL introduces the new Settings.Global.* namespace, which contains a number of previously-elsewhere named settings entities; these Global.* entities are common to all users. Because these elements have been moved from their prior existence in the other namespaces, attempts to access them under their old names and namespaces are detected and redirected (with appropriate compile-time and logging messages) to their new homes. The new Global.* namespace can only be written by system-level code, just like the existing Secure.* namespace. If an app attempts to write a key that was previously in the System.* namespace but has been moved to the Global.* namespace, then a warning is logged and no write is performed; the action is a no-op. (The app is explicitly not crashed, to avoid breaking well-behaved apps that can't know any better.) There is also now a hidden API for getting/setting settings entities associated with a user other than the caller's. Reading/writing data for a user other than yourself requires the signature-level INTERACT_ACROSS_USERS_FULL permission. Manipulating data for a different user cannot be done via the ContentProvider query() / insert() APIs; you must use the Settings.get/put APIs for that degree of control. In general, use of the get/set API is *strongly* preferred over query-type access to Settings. Bug 6985398 Change-Id: Ibee54ddff99fb847c8c2479c23b50f1e7524d724
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
47847f3f4dcf2a0dbea0bc0e4f02528e21d37a88 |
|
23-Mar-2012 |
Jeff Brown <jeffbrown@google.com> |
Support enabling WAL using a flag when DB is opened. Using enableWriteAheadLogging() to enable WAL is inefficient because we previously disabled WAL mode when the database was opened. Switching from WAL to PERSIST then back to WAL is inefficient and could slow down application launch time. It would be better to leave the database in WAL mode when we open it to begin with. To do that, we need to know ahead of time whether we will want to have WAL enabled for the newly opened database. Using this flag also reduces the chance that we will encounter an error enabling WAL mode due to there being other open connections to the database. Bug: 6124556 Change-Id: I38ec7a528baeda9f1ef77e25e88b3ca4b6296200
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
32c80a27dae4a3094f647bb4d97b27a0eb3b985e |
|
26-Feb-2011 |
Jesse Wilson <jessewilson@google.com> |
Handle rename of LruCache.entryEvicted to entryRemoved Change-Id: I50e5a8d8c35c4431f42c7483172447ba0e4e125b http://b/3461302
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
0c7faeee47e7629f2d23a2e3b25bc4f121252080 |
|
10-Feb-2011 |
Jesse Wilson <jessewilson@google.com> |
Adopt LruCache in SettingsProvider. Change-Id: I223ed2a4bd90234ea7e3447f19e18c68beae2763 http://b/3184897
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
01a479ccc4c8d13dc56a2eced4055a7864a7abc3 |
|
11-Jan-2011 |
Vasu Nori <vnori@google.com> |
bug:3339065 enable sqlite concurrency enhancing feature on settingsprovider why is settingsprovider doing getReadbleDatabase() in onCreate() method? it shoul do getWritableDatabse() so that sqlite's WAL feature can be enabled on it. Change-Id: I60e46ce240a6474bbb50ab26fb1d979242b0c9ad
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
9bb4ec484b9b9518bf5b17484dcb50727c58b5d1 |
|
24-Sep-2010 |
Nick Kralevich <nnk@google.com> |
Use the default SecureRandom provider. Don't be tricky when trying to set the seed for the secure random number generator. Setting the seed manually eliminates the internal randomization the SecureRandom class does automatically, reducing randomness. Just use the default seed, which is designed to be safe. Change-Id: I5747c2b3a10cf04e33d2202195951ed5cb82b2fe
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
3a2952baf1151f3d96d46cb3bbed600a087e14e8 |
|
27-Aug-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Fix some bugs in SettingsProvider that I introduced the other day. BUG=2953979 Change-Id: Ic9813e0ce629c56050d626ed52de67e6ab1ab07e
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
f366a9b007909cc6d214fbee26a97e880734a094 |
|
25-Aug-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Negatively cache settings and proactively slurp settings into cache. The settings database cache is tiny (or should be tiny) and can be slurped into memory. Once it's in memory and we know we have it all we can avoid going to disk at all for keys not in the cache. This is a big percentage of the StrictMode violations & latency. Change-Id: I649411be0c40d348f58376ccfb3eda059fd69fbc
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
a695cbc94355017d02a3a6c17d866776a8eee24c |
|
19-Aug-2010 |
Doug Zongker <dougz@android.com> |
am 0fe27cf5: make android_id random seed depend on time as well as ro.serialno Merge commit '0fe27cf5bd1407bc7b4eabefaa91ff535582badc' into gingerbread * commit '0fe27cf5bd1407bc7b4eabefaa91ff535582badc': make android_id random seed depend on time as well as ro.serialno
|
0fe27cf5bd1407bc7b4eabefaa91ff535582badc |
|
19-Aug-2010 |
Doug Zongker <dougz@android.com> |
make android_id random seed depend on time as well as ro.serialno Change-Id: I0a48aacd8da30896d91fa05b7791335e6ed751e5
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
e339464f1c8efe7e53b761cf44ff5be6e537ecad |
|
13-Jul-2010 |
Dianne Hackborn <hackbod@google.com> |
am 1bcb6658: Merge "Fix issue #2834005: Android Settings.Secure bypass" into froyo Merge commit '1bcb665825dc97789e8c1b892ec4298fd0b8c552' into gingerbread * commit '1bcb665825dc97789e8c1b892ec4298fd0b8c552': Fix issue #2834005: Android Settings.Secure bypass
|
24117ce3ae32c40798d2d9bda80675814f76730d |
|
13-Jul-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #2834005: Android Settings.Secure bypass Change-Id: Ic4f14e2ff5c2b4f623405d30389863a9e3e82572
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
5ebaf10693725c9dc48219c3c65945b84d74692f |
|
22-Apr-2010 |
The Android Open Source Project <initial-contribution@android.com> |
merge from open-source master Change-Id: I2a3a06f0bd3530f9c0d3cb64ca6a87913649d64b
|
bdc7f891cf47c077c26ef418dbea23c04820c152 |
|
22-Apr-2010 |
Mike Lockwood <lockwood@android.com> |
Fix broken logic in SettingsProvider.parseProviderList. We were accidentally stripping both leading and trailing commas when removing a provider from the enabled provider list. Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
547a96bc12f25f585271c678395d4c991f08c52d |
|
10-Mar-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
SettingsProvider: dup-suppress from cache. On insert(), check to see if the value is redundant by checking if it's the same value already in our cache (but without faulting it in to check). If so, avoid hitting sqlite or spamming all the notification listeners with such uselessness. This reportedly is happening a fair bit. Change-Id: If58feb3ff1d00027dd927e0900087388cbcd72ae
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
342984a17ddd010381c462066e33e18354b79e4f |
|
10-Mar-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
SettingsProvider: defensively cap size of settings kept cached in memory. Change-Id: I50289ece2d7f5f50d2ea2efbacac7a0bb1483bf6
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
1bd62bd3ca4d098196e91b43799d4010c1d26623 |
|
09-Mar-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Cache hot settings in-memory in the SettingsProvider. This brings down Settings lookups to 0.5 ms on sholes. (down from ~10.5 ms originally, and ~2.5 ms after the ContentProvider.call() interface) Change-Id: Ibde7c3d21e0b0e5714714a2075f314726edfc19d
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
4528186e0d65fc68ef0dd1941aa2ac8aefcd55a3 |
|
06-Mar-2010 |
Christopher Tate <ctate@google.com> |
Refactor android.backup => android.app.backup Change-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.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/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
21f1bd17b2dfe361acbb28453b3f3b1a110932fa |
|
20-Feb-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #2438980: Implement package watcher for voice recognizer service setting I am getting tired of writing package monitor code, realized this is missing in a number of places, and at this point it has gotten complicated enough that I don't think anyone actually does it 100% right so: Introducing PackageMonitor. Yes there are no Java docs. I am still playing around with just what this thing is to figure out what makes sense and how people will use it. It is being used to fix this bug for monitoring voice recognizers (integrating the code from the settings provider for setting an initial value), to replace the existing code for monitoring input methods (and fix the bug where we wouldn't remove an input method from the enabled list when it got uninstalled), to now monitor live wallpaper package changes (now allowing us to avoid reverting back to the default live wallpaper when the current one is updated!), and to monitor device admin changes. Also includes a fix so you can't uninstall an .apk that is currently enabled as a device admin. Also includes a fix where the default time zone was not initialized early enough which should fix issue #2455507 (Observed Google services frame work crash). In addition, this finally introduces a mechanism to determine if the "force stop" button should be enabled, with convenience in PackageMonitor for system services to handle it. All services have been updated to support this. There is also new infrastructure for reporting battery usage as an applicatin error report.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
4f8ff39c1e2448d44ac900e04f9348f9d2aeaaf5 |
|
03-Feb-2010 |
Doug Zongker <dougz@android.com> |
use device serial number to seed RNG for generating ANDROID_ID Change-Id: I1bcc55f1309cb908803bc42084846a046041eda6
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
aed8f8eb1491a21c8c71d39258b70edb74533a62 |
|
08-Jan-2010 |
Doug Zongker <dougz@android.com> |
remove Settings.Gservices Move the last few keys to secure settings, and delete the Gservices table. Change-Id: Ie3ba45aa8c1f220824aa027c547cb82884452eb5
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
edc5189c33de03f3e2f5f73edc0e007992b933c9 |
|
07-Jan-2010 |
Doug Zongker <dougz@android.com> |
change remaining frameworks/base Gservices to Secure settings Change-Id: I61bdb05a2526523700c2833154d5a4133881ef10
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
c70239e84d5024c65728ba74fe74c7394b34ac65 |
|
17-Dec-2009 |
Fred Quintana <fredq@google.com> |
changed SettingsProvider to manage the androidid itself
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
69f593ccb7414ee98991b1da1a4bfbd9951e3570 |
|
28-Jul-2009 |
Marco Nelissen <marcone@google.com> |
Support for selection of silent ringtone from the ringtone picker. This doesn't actually enable that, but adds the necessary code to make it work when enabled, and cleans up some ringtone related code.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
c6f81c6716c634317c69343fc2fd9a2fe6a2c034 |
|
09-Jul-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am d1e5e3ff: Merge change 6639 into donut Merge commit 'd1e5e3ffc22478bad8525dec4f1c6d57fe0ad368' * commit 'd1e5e3ffc22478bad8525dec4f1c6d57fe0ad368': Restore audio settings and wifi.
|
d158214511a3c04753de04fa6389e46d33135c38 |
|
09-Jul-2009 |
Amith Yamasani <yamasani@google.com> |
Restore audio settings and wifi. Optimize backups by writing an entity only if the checksum of the data has changed. Call into the hidden AudioService API to apply changed audio settings. After restoring wifi data, make sure that the permissions and ownership are set properly for the supplicant process to access it. Locale isn't restoring properly - TODO added.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
2eac99ccbcdcc91b69c04ea2eb03f4cba961c17c |
|
08-Jul-2009 |
-b master <yamasani@google.com> |
resolved conflicts for merge of d6fe243c to master
|
8823c0a8c68fe669c21c539eef9fc6541f0c7494 |
|
07-Jul-2009 |
Amith Yamasani <yamasani@google.com> |
Backup / Restore locale preference. Also backup development settings MOCK_LOCATION and USB_DEBUGGING. Backup and restore more of the Audio settings. Won't work yet without a reboot. Disable Wifi supplicant restore temporarily. It seems to be disabling Wifi due to permissions problems. Don't restore Ringtones.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
501eec92f9f4f206ad7972c63f2d0ef0285d8e34 |
|
06-Jul-2009 |
-b master <yamasani@google.com> |
Revert "hand rolled out 220f4d633be1098e7887dbd06f179138bf19f1ad due to interface changes on master, the change will need to be made again" This reverts commit f8e3ba5bfad14f3037d72eb6243258c13169cbd8.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
f8e3ba5bfad14f3037d72eb6243258c13169cbd8 |
|
03-Jul-2009 |
The Android Open Source Project <initial-contribution@android.com> |
hand rolled out 220f4d633be1098e7887dbd06f179138bf19f1ad due to interface changes on master, the change will need to be made again
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
133ec72f2480a65a02c8e1e5d9540796a0d05895 |
|
03-Jul-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am 288fe16c: Merge change 6043 into donut Merge commit '288fe16c20e2c20556839046d38c487b0b18735c' * commit '288fe16c20e2c20556839046d38c487b0b18735c': System and Secure settings backup.
|
220f4d633be1098e7887dbd06f179138bf19f1ad |
|
02-Jul-2009 |
Amith Yamasani <yamasani@google.com> |
System and Secure settings backup. This backs up the basic system and secure settings. THe restoration doesn't take effect immediately. You many need to restart the runtime to see all restored values take effect.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
6976dca6c89d4d3ff986e46b6eedebdbdd656b0c |
|
19-Jun-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am 6afe8133: Merge change 4720 into donut Merge commit '6afe81339ed973f1ef4a6c30110d5ce3b001ea4c' * commit '6afe81339ed973f1ef4a6c30110d5ce3b001ea4c': Fix string formatters in SettingsProvider SecurityException message.
|
31a88fac91cbdddb2ba63b0557cfd18b31d5eaac |
|
19-Jun-2009 |
Brett Chabot <brettchabot@android.com> |
Fix string formatters in SettingsProvider SecurityException message.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
6be4025b1290e257a8d9142caba5bc7df72afab3 |
|
19-Jun-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am 2810f681: Merge change 4694 into donut Merge commit '2810f681991d1beb5ceb3515159f9fad3cc341d5' * commit '2810f681991d1beb5ceb3515159f9fad3cc341d5': Make SettingsProviders SecurityException messages more verbose.
|
16dd82cfdc879b7c3e51b19e54c70dbf78e8d697 |
|
19-Jun-2009 |
Brett Chabot <brettchabot@android.com> |
Make SettingsProviders SecurityException messages more verbose.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
48554fc78e981590708cc2cb78ce3c09642e2c4d |
|
03-Apr-2009 |
Mike Lockwood <> |
Merge branch 'readonly-p4-master'
|
bd2a7126e5b42e022228c6aac25e95b671e5263b |
|
03-Apr-2009 |
Mike Lockwood <> |
AI 144415: am: CL 144372 Cleanup Settings support for enabling and disabling location providers: LocationManagerService now listens for changes to settings, making LocationManager.updateProviders() unnecessary. Removed LocationManager.updateProviders() Added Settings.Secure.setLocationProviderEnabled(), which is a thread-safe way of enabling or disabling a single location provider. This is safer than reading, modifying and writing the LOCATION_PROVIDERS_ALLOWED directly. BUG=1729031 Original author: lockwood Automated import of CL 144415
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
9637d474899d9725da8a41fdf92b9bd1a15d301e |
|
03-Apr-2009 |
Mike Lockwood <> |
AI 144372: Cleanup Settings support for enabling and disabling location providers: LocationManagerService now listens for changes to settings, making LocationManager.updateProviders() unnecessary. Removed LocationManager.updateProviders() Added Settings.Secure.setLocationProviderEnabled(), which is a thread-safe way of enabling or disabling a single location provider. This is safer than reading, modifying and writing the LOCATION_PROVIDERS_ALLOWED directly. BUG=1729031 Automated import of CL 144372
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
2a73de7b21a89aa2ba4c254d28658b49793425b2 |
|
18-Mar-2009 |
Jean-Baptiste Queru <jbq@google.com> |
Merge commit 'remotes/korg/cupcake' into merge Conflicts: core/java/android/view/animation/TranslateAnimation.java core/jni/Android.mk core/res/res/values-en-rGB/strings.xml libs/audioflinger/AudioFlinger.cpp libs/surfaceflinger/LayerScreenshot.cpp packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
074da8f9aa424b25d84f4e4eb762ca534ea96716 |
|
25-Feb-2009 |
James Wylder <jbob0823@gmail.com> |
Change scope on SettingsProvider.mDatabaseHelper and DatabaseHelper This change will allow the DatabaseHelper to be inheritted and extended without the need to make futher changes to the existing implementation.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
d24b8183b93e781080b2c16c487e60d51c12da31 |
|
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
f013e1afd1e68af5e3b868c26a653bbfb39538f8 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|