14859 Commits

Author SHA1 Message Date
Adrian Roos
6c770900d6 Update strings for NetworkOverLimitActivity
Bug: 17073752
Change-Id: I5c4de380df7d3261d447725b83a777459cb3c44f
2015-02-18 17:02:10 +00:00
Geoff Mendal
d10f927b68 Import translations. DO NOT MERGE
Change-Id: I1a52c8fef9730186416c08d59dff271e2af9c84a
Auto-generated-cl: translation import
2015-02-18 06:39:52 -08:00
Christopher Tate
8561ff98cd am 32f216c3: am 8cd95aba: am 56238eaa: am 129ea76a: Fix wifi AP backup
* commit '32f216c359540219905bbe0295da31e594d83f5f':
  Fix wifi AP backup
2015-02-18 11:39:01 +00:00
Svetoslav
b596a2c5bf Location settings not properly set.
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
2015-02-17 21:41:05 -08:00
Christopher Tate
32f216c359 am 8cd95aba: am 56238eaa: am 129ea76a: Fix wifi AP backup
* commit '8cd95aba2f97eb552d437c185b156ba964886a6e':
  Fix wifi AP backup
2015-02-18 02:23:06 +00:00
Christopher Tate
8cd95aba2f am 56238eaa: am 129ea76a: Fix wifi AP backup
* commit '56238eaaa3688c9a9858058f4dc63aade7092d9b':
  Fix wifi AP backup
2015-02-18 02:17:57 +00:00
Christopher Tate
56238eaaa3 am 129ea76a: Fix wifi AP backup
* commit '129ea76a4a129fb3e8e997e8c604c0712e8a9d73':
  Fix wifi AP backup
2015-02-18 02:07:55 +00:00
Christopher Tate
129ea76a4a 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
2015-02-17 17:07:37 -08:00
Alan Viverette
cc72f61adf am b20d48fd: am 014442c2: am 0dfae079: am d5471a0b: Merge "Revert "Fixed accessibility for the pin input view on keyguard."" into lmp-mr1-dev
* commit 'b20d48fd20928cf3167ee37649d702c90c7e0218':
  Revert "Fixed accessibility for the pin input view on keyguard."
2015-02-18 00:30:24 +00:00
Svetoslav
85b880035d Merge "Add dump support to the settings provider" 2015-02-18 00:11:47 +00:00
Svetoslav
b505ccc906 Add dump support to the settings provider
Change-Id: I1338af4c660e3ecc412954a7cb9b820952aae523
2015-02-17 15:57:46 -08:00
Alan Viverette
b20d48fd20 am 014442c2: am 0dfae079: am d5471a0b: Merge "Revert "Fixed accessibility for the pin input view on keyguard."" into lmp-mr1-dev
* commit '014442c28eae214af56f4c1fe3e0c21d5b091d25':
  Revert "Fixed accessibility for the pin input view on keyguard."
2015-02-17 23:06:55 +00:00
Alan Viverette
014442c28e am 0dfae079: am d5471a0b: Merge "Revert "Fixed accessibility for the pin input view on keyguard."" into lmp-mr1-dev
* commit '0dfae079633764c3b6fceaea38fdc664e0e5a76d':
  Revert "Fixed accessibility for the pin input view on keyguard."
2015-02-17 22:59:29 +00:00
Alan Viverette
0dfae07963 am d5471a0b: Merge "Revert "Fixed accessibility for the pin input view on keyguard."" into lmp-mr1-dev
* commit 'd5471a0b2bf938cf83f4abac66a18664d8ca5277':
  Revert "Fixed accessibility for the pin input view on keyguard."
2015-02-17 22:52:06 +00:00
Adrian Roos
42661cba30 Revert "Fixed accessibility for the pin input view on keyguard."
Also removes the Klondike from the content description.

This reverts commit c199ef37594b946cb295c29df321e74332ee5408
from change I3dd05fa1714da36795f448718fd70f1cdbfe2584

Bug: 18528774
Change-Id: I8a85076f939a8b78075b5a6322009ebfd78bf8d3
2015-02-17 21:05:57 +01:00
Jason Monk
baeb0dfccc Merge "Up the history on SignalControllers" 2015-02-17 15:25:35 +00:00
Geoff Mendal
c3bcfa2f0f Merge "Import translations. DO NOT MERGE" 2015-02-16 15:08:03 +00:00
Geoff Mendal
b144b73b28 Import translations. DO NOT MERGE
Change-Id: I93795f27d5f3a2152730e6c2399e30727936f6a3
Auto-generated-cl: translation import
2015-02-16 06:57:31 -08:00
Geoff Mendal
8b8393b822 Merge "Import translations. DO NOT MERGE" 2015-02-16 14:45:49 +00:00
Geoff Mendal
a58ef5e511 Import translations. DO NOT MERGE
Change-Id: I923776f2ceb27b39485ffc29fb8422bf85e48261
Auto-generated-cl: translation import
2015-02-16 06:43:49 -08:00
Geoff Mendal
71af2a5d00 Import translations. DO NOT MERGE
Change-Id: I5d9f149a4f04fd8e89b73f9018fae1e5906ba572
Auto-generated-cl: translation import
2015-02-16 06:40:33 -08:00
John Spurlock
b25334ca3c Merge "Allow sysui-managed remote volume controllers." 2015-02-13 14:50:50 +00:00
John Spurlock
cdb57aeb0e Allow sysui-managed remote volume controllers.
- Relax restriction on audio service calls that assume the volume
  ui is systemui, allow calls from a blessed component app.
- Blessed component app service saved in secure settings.
- SystemUI mediates requests to replace the volume dialog, prompts
  the user on activation.
- Show a low pri ongoing notification when the volume dialog is
  being replaced, to allow user restoration at any time.
- Replace the controller management code in VolumeUI to use a
  ServiceMonitor, backed by the new blessed app component setting.
- Add proper zen-related noman client wrappers, make avail to the
  registered volume controller.
- Everything is still @hidden, no api impact.

Bug: 19260237
Change-Id: Ie1383f57659090318a7eda737fdad5b8f88737d4
2015-02-12 22:48:37 -05:00
Geoff Mendal
77c5de0d68 Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 23:16:49 +00:00
Geoff Mendal
fabfcfd97e Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 23:16:37 +00:00
Geoff Mendal
16070689f0 Import translations. DO NOT MERGE
Change-Id: I536dd9e059bc42c5c399539e62d8aed02c9e446a
Auto-generated-cl: translation import
2015-02-12 15:06:15 -08:00
Geoff Mendal
5e5c39abdb Import translations. DO NOT MERGE
Change-Id: I57a4ac857f18a1e365e79198ac5de60748847add
Auto-generated-cl: translation import
2015-02-12 15:04:27 -08:00
Geoff Mendal
e22cd0f9e6 Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 23:01:29 +00:00
Geoff Mendal
dfe8fe3fcf Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 23:01:18 +00:00
Geoff Mendal
39b03e7636 Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 23:00:58 +00:00
Geoff Mendal
7c958e2df0 Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 23:00:46 +00:00
Geoff Mendal
dc43cc88f0 Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 23:00:17 +00:00
Geoff Mendal
5c7e4d9940 Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 22:59:58 +00:00
Geoff Mendal
be5aa9dda3 Merge "Import translations. DO NOT MERGE" into lmp-mr1-modular-dev 2015-02-12 22:59:25 +00:00
Geoff Mendal
dd1048e10a Import translations. DO NOT MERGE
Change-Id: I592c996ee5bd1d20bcd4ea595b3e6cbba08a4d0c
Auto-generated-cl: translation import
2015-02-12 14:55:57 -08:00
Geoff Mendal
0804199a6e Import translations. DO NOT MERGE
Change-Id: Ia9e245c983da6b04f3098269e611d1e193899be8
Auto-generated-cl: translation import
2015-02-12 14:53:58 -08:00
Geoff Mendal
b008c8f73a Import translations. DO NOT MERGE
Change-Id: I44a5695c1b18476df2114f16e35fbcbf2a0d99c1
Auto-generated-cl: translation import
2015-02-12 14:51:47 -08:00
Geoff Mendal
899b20e374 Import translations. DO NOT MERGE
Change-Id: Ic17d83f48e83832042cd417f1196e6f108ad1724
Auto-generated-cl: translation import
2015-02-12 14:46:15 -08:00
Svetoslav
2ed8acbbdb Merge "Handle a missed case in query the settings provider" 2015-02-12 22:44:08 +00:00
Svetoslav
2849465ee1 Handle a missed case in query the settings provider
bug:19361521

Change-Id: Ibf4731b5d665563bb87ef93a4cf63e4c4d2e46a4
2015-02-12 14:43:41 -08:00
Geoff Mendal
4e7f6a425c Import translations. DO NOT MERGE
Change-Id: I8cdc3195ba20c25fab9de6c0063667f5250e6e51
Auto-generated-cl: translation import
2015-02-12 14:42:44 -08:00
Geoff Mendal
3e94f5644c Import translations. DO NOT MERGE
Change-Id: Ia8018b29159267ee751a6eb84713409f17fca2b8
Auto-generated-cl: translation import
2015-02-12 14:40:46 -08:00
Geoff Mendal
44f7bdd2e7 Import translations. DO NOT MERGE
Change-Id: I9c7b354d532f6631e9e1e1500e0c544379f08b2e
Auto-generated-cl: translation import
2015-02-12 14:35:01 -08:00
Jim Miller
c39b1059a6 am 4bbd3cb3: am b1e80278: am b2ff8d9a: Merge "Fix accessibility focus bug in statusbar" into lmp-mr1-dev
automerge: 0bb6071

* commit '0bb60712f736fef0c3509231afed0fff7f8bfd2b':
  Fix accessibility focus bug in statusbar
2015-02-12 22:12:30 +00:00
Jim Miller
0bb60712f7 am 4bbd3cb3: am b1e80278: am b2ff8d9a: Merge "Fix accessibility focus bug in statusbar" into lmp-mr1-dev
* commit '4bbd3cb3e8494de71ac5ac2aed49e6c56c3b9f68':
  Fix accessibility focus bug in statusbar
2015-02-12 22:10:48 +00:00
Jim Miller
4bbd3cb3e8 am b1e80278: am b2ff8d9a: Merge "Fix accessibility focus bug in statusbar" into lmp-mr1-dev
* commit 'b1e80278f80585a1c3f46dbc578bbbafbcbd80c1':
  Fix accessibility focus bug in statusbar
2015-02-12 22:04:28 +00:00
Jim Miller
b1e80278f8 am b2ff8d9a: Merge "Fix accessibility focus bug in statusbar" into lmp-mr1-dev
* commit 'b2ff8d9a3e5f279e7a60a12f9192e43081e2eef9':
  Fix accessibility focus bug in statusbar
2015-02-12 21:55:06 +00:00
Geoff Mendal
ceb7ae3170 Import translations. DO NOT MERGE
Change-Id: Idd108e5eb791007b3604c67ce4a0853a368a445e
Auto-generated-cl: translation import
2015-02-12 10:51:28 -08:00
Jim Miller
959ea56f34 Fix accessibility focus bug in statusbar
The root view of the new uber statusbar should not be focusable.

Based on history, it looks like this was an oversight when this view
was refactored.

Fixes bug 19296202

Change-Id: Ib7f6908c30ab37384aa50f4fa4198c15593a96a4
2015-02-11 20:43:04 -08:00
Svetoslav
683914bfb1 Rewrite of the settings provider.
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
2015-02-11 17:58:22 -08:00