| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backup the owner info string and whether or not
owner info is to be shown on the lockscreen.
Watch for changes to the two settings in LockSettingsService
and inform backup manager.
Bump up version numbers for the new entity.
Bug: 19300363
Change-Id: I35485c961d18b26be68873f4d5eeedc5ae513cc8
|
|\
| |
| |
| |
| | |
* commit '32f216c359540219905bbe0295da31e594d83f5f':
Fix wifi AP backup
|
| |\
| | |
| | |
| | |
| | | |
* commit '8cd95aba2f97eb552d437c185b156ba964886a6e':
Fix wifi AP backup
|
| | |\
| | | |
| | | |
| | | |
| | | | |
* commit '56238eaaa3688c9a9858058f4dc63aade7092d9b':
Fix wifi AP backup
|
| | | |\
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '129ea76a4a129fb3e8e997e8c604c0712e8a9d73':
Fix wifi AP backup
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
An OutputStream buffers only by explicit contract. OutputStreamWriter
buffers internally, always. Do not get these behaviors confused.
Bug 19341967
Change-Id: I0610ed625b0175620083dd286f3a73c24956b171
|
| | |/ /
| | | |
| | | |
| | | |
| | | | |
Change-Id: Idd108e5eb791007b3604c67ce4a0853a368a445e
Auto-generated-cl: translation import
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Settings provider has special handling for location providers. The
code to set the location providers was calling itself recursively
instead of updating the setting value.
bug:19361236
Change-Id: I1ef1932c7faa8226b52123aa3f23f38048258328
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I1338af4c660e3ecc412954a7cb9b820952aae523
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
bug:19361521
Change-Id: Ibf4731b5d665563bb87ef93a4cf63e4c4d2e46a4
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This change modifies how global, secure, and system settings are
managed. In particular, we are moving away from the database to
an in-memory model where the settings are persisted asynchronously
to XML.
This simplifies evolution and improves performance, for example,
changing a setting is down from around 400 ms to 10 ms as we do not
hit the disk. The trade off is that we may lose data if the system
dies before persisting the change.
In practice this is not a problem because 1) this is very rare;
2) apps changing a setting use the setting itself to know if it
changed, so next time the app runs (after a reboot that lost data)
the app will be oblivious that data was lost.
When persisting the settings we delay the write a bit to batch
multiple changes. If a change occurs we reschedule the write
but when a maximal delay occurs after the first non-persisted
change we write to disk no matter what. This prevents a malicious
app poking the settings all the time to prevent them being persisted.
The settings are persisted in separate XML files for each type of
setting per user. Specifically, they are in the user's system
directory and the files are named: settings_type_of_settings.xml.
Data migration is performed after the data base is upgraded to its
last version after which the global, system, and secure tables are
dropped.
The global, secure, and system settings now have the same version
and are upgraded as a whole per user to allow migration of settings
between these them. The upgrade steps should be added to the
SettingsProvider.UpgradeController and not in the DatabaseHelper.
Setting states are mapped to an integer key derived from the user
id and the setting type. Therefore, all setting states are in
a lookup table which makes all opertions very fast.
The code is a complete rewrite aiming for improved clarity and
increased maintainability as opposed to using minor optimizations.
Now setting and getting the changed setting takes around 10 ms. We
can optimize later if needed.
Now the code path through the call API and the one through the
content provider APIs end up being the same which fixes bugs where
some enterprise cases were not implemented in the content provider
code path.
Note that we are keeping the call code path as it is a bit faster
than the provider APIs with about 2 ms for setting and getting
a setting. The front-end settings APIs use the call method.
Further, we are restricting apps writing to the system settings.
If the app is targeting API higher than Lollipop MR1 we do not
let them have their settings in the system ones. Otherwise, we
warn that this will become an error. System apps like GMS core
can change anything like the system or shell or root.
Since old apps can add their settings, this can increase the
system memory footprint with no limit. Therefore, we limit the
amount of settings data an app can write to the system settings
before starting to reject new data.
Another problem with the system settings was that an app with a
permission to write there can put invalid values for the settings.
We now have validators for these settings that ensure only valid
values are accepted.
Since apps can put their settings in the system table, when the
app is uninstalled this data is stale in the sytem table without
ever being used. Now we keep the package that last changed the
setting and when the package is removed all settings it touched
that are not in the ones defined in the APIs are dropped.
Keeping in memory settings means that we cannot handle arbitrary
SQL operations, rather the supported operations are on a single
setting by name and all settings (querying). This should not be
a problem in practice but we have to verify it. For that reason,
we log unsupported SQL operations to the event log to do some
crunching and see what if any cases we should additionally support.
There are also tests for the settings provider in this change.
Change-Id: I941dc6e567588d9812905b147dbe1a3191c8dd68
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
...and a few dependencies. Move remaining shared items to AudioSystem.
Change-Id: Ib9623ff867678d34977337856bb0156e8cdaeeb5
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ib8fa7aee3bed83fc26945fd0caf0cbd9f4f8af3a
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I5113a08f43c71e78b43dc3c73f8c329adc411e9a
Auto-generated-cl: translation import
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
lmp-mr1-dev automerge: 68dabad
automerge: f3ac99f
* commit 'f3ac99f2e093f851ca52bcd5aefb251046db10fa':
Exclude ephemeral networks from wifi backup
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
lmp-mr1-dev
automerge: 68dabad
* commit '68dabada9e6e380ec0c6dacbc2ce7a46aa663a07':
Exclude ephemeral networks from wifi backup
|
| | |\ \
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | | |
lmp-mr1-dev
* commit 'a97fe1387df731ddbbdae7c75dfbdfa4f1eb0339':
Exclude ephemeral networks from wifi backup
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We compare the set of networks defined in the supplicant with the
set of networks described as "configured" by the Wifi Manager. The
latter excludes ephemeral networks, so any network definition we
find in the supplicant data that we do not also find in the
configured network set, we ignore for backup purposes.
Bug 18917753
Change-Id: I8e0f258d0cdb72d7bf9482fafe64dc921419fcb2
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
automerge: a30fdf7 automerge: 8298afb
automerge: 9ff2160
* commit '9ff2160eddf4dfbd118eb9b0656e7803603f215a':
Don't backup ringtone on non-telephony devices.
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
automerge: a30fdf7
automerge: 8298afb
* commit '8298afbc78f2b2c609f2e52ca3fc7c6a2cd9797e':
Don't backup ringtone on non-telephony devices.
|
| | |\ \
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | | |
automerge: a30fdf7
* commit 'a30fdf790d66e241252c51d7dbdc401e021e51ad':
Don't backup ringtone on non-telephony devices.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Restoring a device that supports telephony using the backup set of
a non-telephony device would cause the ringtone to be set to "None"
instead of the default value. This was due to the fact that on
non-telephony devices, the ringtone value was being backed up as
"_silent" instead of null.
Bug: 18777629
Change-Id: Idece1f874438a895169dbba7df1d716adea6660e
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ia2ccce90103cdc5e6b3814d50394e9c81e38010d
Auto-generated-cl: translation import
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Reduce SettingsBackupAgent I/O when writing new checksum by wrapping
FileOutputStream in a BufferedOutputStream.
Bug: 18674340
Change-Id: Ia8169445d42d032e24d8a395e678295f67841a65
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
LTE_SERVICE_FORCED." into lmp-mr1-dev
* commit 'bb35bbf198201fc00858ea56cdf97eae8f2cfdbb':
Adding new setting LTE_SERVICE_FORCED.
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | | |
into lmp-mr1-dev
* commit '6f10d1c34efba28856fea162f1d193319cad2576':
Adding new setting LTE_SERVICE_FORCED.
|
| | |\ \
| | | |/
| | | |
| | | |
| | | | |
* commit 'b22462c57f35404f5b39680a9fb76165968d8faf':
Adding new setting LTE_SERVICE_FORCED.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 18328639
Change-Id: Icbf9d7987d27af34cbe4ee1b4e9df19e139c2fc7
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
MediaPlayer." into lmp-mr1-dev
* commit '670cf5c663f4f17faafa9d4f7cf7209f68a02468':
Move ringtone redirection to MediaPlayer.
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | | |
into lmp-mr1-dev
* commit '22c3f90639fa8d74de68a63b0a13412740580845':
Move ringtone redirection to MediaPlayer.
|
| | |\ \
| | | |/
| | | |
| | | |
| | | | |
* commit '628d2606f757da7b6734c7cd438535069f77b065':
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
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
lmp-mr1-dev automerge: 2eb5a5f automerge: 5716ebe
* commit '829519dfaab9f2c13492d97556a95300a6908ea4':
Add HIDE_CARRIER_NETWORK_SETTINGS global setting.
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
automerge: 2eb5a5f
automerge: 5716ebe
* commit '5716ebe50debab01ede01b2f99abde85a250c82c':
Add HIDE_CARRIER_NETWORK_SETTINGS global setting.
|
| | |\ \
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | | |
automerge: 2eb5a5f
* commit '2eb5a5f727d4692b70b68cb4b1b7e31bf74f13a4':
Add HIDE_CARRIER_NETWORK_SETTINGS global setting.
|
| | | |\ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also remove hidden APIs to get/set the preference.
Bug: b/17673255
Change-Id: I8957b0380bf617c953f6665cbfdcc77c3be78411
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
setting on upgrade." into lmp-mr1-dev automerge: e586ab7
* commit '41cf924137feb7be16f93d5f2701f2af2a74fade':
Reset rotation-lock-for-accessibility setting on upgrade.
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
upgrade." into lmp-mr1-dev automerge: e586ab7
* commit '1e64aa3382f6d25a6ac2231f861c25ecca328285':
Reset rotation-lock-for-accessibility setting on upgrade.
|
| | |\ \ \
| | | |/ /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
lmp-mr1-dev
automerge: e586ab7
* commit 'e586ab79670b6fabfa80f1f29ecb184f97f06f72':
Reset rotation-lock-for-accessibility setting on upgrade.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since it now hides the display setting, force the user to opt-in
again.
Bug: 18104538
Change-Id: I4cac947f7a35ba0f578d059542401dcc5d169307
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Secure" into lmp-mr1-dev automerge: 5c69f5b
* commit '8efeae7eb4da19bd3dcf1a5013e3011d50f2ca42':
Move LOCK_TO_APP_EXIT_LOCKED from System to Secure
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
lmp-mr1-dev
automerge: 5c69f5b
* commit '5c69f5b276b65bd4b8000d2b6e56baddccf89846':
Move LOCK_TO_APP_EXIT_LOCKED from System to Secure
|
| | |\ \ \
| | | |/ /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
lmp-mr1-dev
* commit '2e647efe01dcdb82d2d7f8a23540ba6b690a95d6':
Move LOCK_TO_APP_EXIT_LOCKED from System to Secure
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To prepare for controlling from settings.
While here, add lock to app settings to backups.
Bug: 16957435
Change-Id: I059140cd07a7a0d5ceb4e0bfe5e0176cb96629d3
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
into lmp-mr1-dev automerge: af93061
* commit '4ec1d430db6c9b564d9b78e3654507594e9dce8c':
audioservice: fix default stream volume
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | | |
automerge: af93061
* commit 'af9306149323120d8098f5fdef15b923e36d9569':
audioservice: fix default stream volume
|
| | |\ \
| | | |/
| | | |
| | | |
| | | | |
* commit '670a82cbb1b62e69fa7ef7387eed545a76c96f76':
audioservice: fix default stream volume
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When the max stream volume is configurable by
a system property, the default stream volume should
be set accordingly.
Bug: 17507571.
Change-Id: I9d9378292fc7b9c9e32acc55a275cc0ae5b203d4
|