356 Commits

Author SHA1 Message Date
Svetoslav Ganov
447d94684e "Fixing backwards cmpatibility for enabling explore by touch""
This reverts commit d1ed3cea37e4156eab14b7dc8207a520c9eab700

Change-Id: I622ef034526f8f006a5a233e72487b062020e4f6
2013-02-01 12:24:42 -08:00
Mike Cleron
d1ed3cea37 Revert "Fixing backwards cmpatibility for enabling explore by touch"
This reverts commit 0a9c7c144671f70f5f1af222050bd3ec6b11fe41

Change-Id: I8da530a6d0a57163522d5a63326e787a8d22ecbf
2013-02-01 18:36:41 +00:00
Svetoslav
0a9c7c1446 Fixing backwards cmpatibility for enabling explore by touch
Change-Id: I8cbc4f03223d289547e3f3f6d1f528ad5b4f6f72
2013-02-01 00:47:29 -08:00
Svetoslav
3822896e22 Remove "enhance web scripts" from settings and make it requested by plug-ins.
Currently we have an "enhance web accessibility" setting that has to be
enabled to make sure web content is accessible. We added the setting to
get user consent because we are injecting JavaScript-based screen-reader
pulled from the Google infrastructure. However, many users do not know
that and (as expected) do not read the user documentation, resulting in
critique for lacking accessibility support in WebViews with JavaScript
enabled (Browser, Gmail, etc).

To smoothen the user experience now "enhance web accessibility" is a
feature an accessibility plug-in can request, similarly to explore by
touch. Now a user does not need to know that she has to explicitly
enable the setting and web accessibility will work out-of-the-box.

Before we were showing a dialog when a plug-in tries to put the device
in a touch exploration mode. However, now that we have one more feature
a plug-in can request, showing two dialogs (assume a plug-in wants both
features) will mean that a user should potentially deal with three
dialogs, one for enabling the service, and one for each feature. We
could merge the dialogs but still the user has to poke two dialogs.

It seems that the permission mechanism is a perfect fit for getting
user permission for an app to do something, in this case to enable
an accessibility feature. We need a separate permission for explore
by touch and enhance web accessibility since the former changes the
interaction model and the latter injects JavaScript in web pages. It
is critical to get user consent for the script injection part so we
need a well-documented permission rather a vague umbrella permission
for poking accessibility features. To allow better grouping of the
accessibility permissions this patch adds a permission group as well.

bug:8089372

Change-Id: Ic125514c34f191aea0416a469e4b3481ab3200b9
2013-01-29 13:56:22 -08:00
Christopher Tate
58f41ecfa5 Migrate BUGREPORT_IN_POWER_MENU from Secure to Global settings
Bug 7273591

Change-Id: I5790f9d18ddf22282144be1c2d96dd4d706caa14
2013-01-11 15:40:36 -08:00
Dianne Hackborn
c1b3d21306 am 53d99836: am 26c00dec: am b2d3904b: Merge "Setting the default value for dock audio"
* commit '53d998368c6c6107c6d18de945f4dfee482e6f91':
  Setting the default value for dock audio
2013-01-08 10:27:08 -08:00
Dianne Hackborn
26c00decb4 am b2d3904b: Merge "Setting the default value for dock audio"
* commit 'b2d3904b0d0f02b3eddef1d228724b99962cba56':
  Setting the default value for dock audio
2013-01-07 13:26:38 -08:00
Dmytro Dubovyk
729f6685f9 Setting the default value for dock audio
There was no default value for parameter "dock_audio_media_enabled"
in global settings and because of that it couldn't be obtained before
Settings app first start and improper actions, such as FORCE_NONE
sending to AudioSystem instead of FORCE_ANALOG_DOCK, were taken.
This patch sets default value to 'true'.

Change-Id: Idbe343519db15f806f3a237e8b39f8420b9edde1
Signed-off-by: Dmytro Dubovyk <dmytro.dubovyk@ti.com>
2012-12-19 11:14:38 +02:00
Amith Yamasani
912f01865a am 68c30860: am 73f24ae1: am 9a147340: Merge "Don\'t update global table when upgrading secondary users\' database." into jb-mr1.1-dev
* commit '68c308607b01bafd31c91572a81f4563e2199260':
  Don't update global table when upgrading secondary users' database.
2012-12-12 11:46:41 -08:00
Amith Yamasani
2d43fabaf7 Don't update global table when upgrading secondary users' database.
Bug: 7722149
Change-Id: I0c1373cba316b924701136579083274eb6c9b1da
2012-12-12 09:52:26 -08:00
Jeff Brown
ace7404de8 resolved conflicts for merge of d7337fb9 to master
Change-Id: I51dedcc5ee521e62ad6101c0b09e4f881b8c4bf0
2012-12-11 15:21:02 -08:00
Jeff Brown
84e2756c0f Play a tone when wireless charging begins.
Only plays a tone if the battery level is below 95% which
is the same heuristic used when determining whether to turn
the screen on.

Use new low battery and wireless charging sounds on Mako.

Bug: 7371658
Change-Id: Ia4527ec398d024ee418a4287e1fcbf0ec83bcc24
2012-12-11 12:55:03 -08:00
Jianzheng Zhou
dcf03f3972 Refactor getPersistedNetworkPreference
Optimize for updating mNetworkPreference according to device's networkAttributes
setting from overlay config.xml when connectivityservice start.

Change-Id: I90286332d4f453038f1ddac7dd9d1265d96b4859
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
2012-12-06 12:00:04 -08:00
Dianne Hackborn
13579ed330 Cleaner initial boot.
This does some cleanup of the initial boot, especially when
booting in "no core apps" mode for encryption/decryption.

Change-Id: Ifb3949f580e52f54559e603c4b0b104f6bac2f6c
2012-11-28 18:09:01 -08:00
Dianne Hackborn
40e9f2922c 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
2012-11-27 19:12:23 -08:00
Baligh Uddin
051ab5c2e8 Import translations. DO NOT MERGE
Change-Id: I51415c91026c1ea461f1b1239a75ec999fd7fe0c
Auto-generated-cl: translation import
2012-10-22 12:01:02 -07:00
John Spurlock
ed108f3d12 Frameworks base: Promote dream setting defaults to config.
So that:
 - the values can be shared (to fix assoc bug)
 - the values can be customized in product overlays

Bug:7373284
Change-Id: I37f037082523a3d975f6014f36afa28c60117372
2012-10-19 11:32:03 -04:00
Christopher Tate
d488bc0ef4 Defer wifi bounce following restore for 1 minute...
...to allow network-reliant restore actions by apps to get underway.

Bug 7304761

Change-Id: Ia1d2321ef86609588efbc7add043c24a12ec6a20
2012-10-09 15:11:01 -07:00
Amith Yamasani
531c237b82 Add an upgrade step for settings moved to global.
For some reason, the original step didn't work for some testers. This re-applies the move, which
should be no-ops if the entries are already in the right table.

Bug: 7254629

Also moved a few more entries to the global initialization section. Otherwise they would write
into the wrong table.

Change-Id: Ic0f5c4e09680f5687d08dccf78063508b9c0584c
2012-10-08 17:04:17 -07:00
Christopher Tate
73755c95ff Merge "Fix settings restore" into jb-mr1-dev 2012-10-05 15:24:06 -07:00
Christopher Tate
3543beb255 Fix settings restore
Now with more fix.

Bug 7249405

Change-Id: Ib8bc2e9c5b054054f4aaacf14af8d5a0d05d6e3a
2012-10-05 15:01:42 -07:00
Christopher Tate
d0f199308e Merge "Make sure settings writes are permission checked correctly" into jb-mr1-dev 2012-10-05 14:46:01 -07:00
Christopher Tate
61695ffcbc 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
2012-10-05 12:05:13 -07:00
John Spurlock
7f1c248e80 Fix upgrade case for Settings.Secure.USER_SETUP_COMPLETE.
Existing primary users were never being marked as complete,
causing things that relied on this (e.g. showing the quick settings panel)
to break.

Bug:7282088
Change-Id: I9c8622f3cd0fb99a44477946d3db22fa2cbbc6fc
2012-10-05 11:45:18 -04:00
Christopher Tate
5067685ccf Settings (and general) restore fixes
Pro tem, we ignore wifi configuration data when restoring system settings.
This is not ideal, but it *does* mean we do not bounce wifi off and on
again during the extended restore process, which in turn means we don't
interfere with things like the Play Store's download of applications.
We do continue to back up wifi configuration, and will start using that
data again when the new implementation that restores AP configurations
without having to bounce wifi comes to pass.

Also, this CL fixes a longstanding bug in BackupDataInput.skipEntityData()
that was being reproduced reliably once settings restore was skipping
the wifi-related entities in the restore stream.

Bug 7249405

Change-Id: I61520a9a116b66ebdf95734d09d9afd46406df01
2012-10-04 19:10:11 -07:00
Christopher Tate
34637e57fc 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
2012-10-04 16:01:10 -07:00
Christopher Tate
35dd752238 Merge "Rewrite raw insert()s and some raw query()s of moved-to-global keys" into jb-mr1-dev 2012-10-03 19:31:40 -07:00
Christopher Tate
c221d2be7d 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
2012-10-03 19:20:51 -07:00
Christopher Tate
1a2fac3eed Merge "Use myUserId() only in registerContentObserver()" into jb-mr1-dev 2012-10-03 18:54:49 -07:00
Christopher Tate
afccaa84c8 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
2012-10-03 17:41:51 -07:00
Eric Laurent
55b02226c0 fix settings data base upgrade for ringer mode
Ringer mode setting was moved from System to Global group
but a db upgrade cleanup step was missing.

Bug 7128886.

Change-Id: Id20994fe74575afa2b68154a620aa3c8807e8304
2012-10-03 16:13:04 -07:00
Christopher Tate
66488d64df 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
2012-10-02 15:22:30 -07:00
Jeff Sharkey
6e2bee75ce 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
2012-10-02 13:55:15 -07:00
Jim Miller
b14288d4b1 Attempt to fix missing lock sounds
bug 7254629

Change-Id: I65eee674fe014a0e84d5ec20ead81abdec38f890
2012-10-01 18:14:41 -07:00
Jeff Sharkey
0ac1028b0d Move bluetooth priorities from Secure to Global.
Bug: 7231171
Change-Id: I836fdc2cfb8d67f984b4715559b9e92d0dc41c95
2012-10-01 12:54:12 -07:00
Jeff Sharkey
625239a054 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
2012-09-27 16:22:53 -07:00
Jeff Sharkey
bdfce2ec05 First step towards cleaning up Global settings.
Remove all @Deprecated @hide settings, and clean up any stragglers.

Bug: 7232125
Change-Id: Ibf67093c728d4a28565129b923edb1701d3b2789
2012-09-26 17:18:49 -07:00
Jean-Baptiste Queru
d336460089 Merge into jb-mr1-dev
Change-Id: Idf183be6a41ff37add5141a20e96d5190396d1a4
2012-09-25 09:40:08 -07:00
Dianne Hackborn
139748fd72 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
2012-09-24 14:15:14 -07:00
Doug Zongker
5bcb55186e 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
2012-09-24 12:24:54 -07:00
Christopher Tate
b756445429 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
2012-09-20 13:58:16 -07:00
Jeff Brown
89d5546d7f Add support for remembering Wifi display devices.
Add a setting to globally disable Wifi display.

Fixed a bug where the wifi display broadcast receiver
was running on the wrong thread.

Removed the wifi-display QuickSettings dialog, all functionality
has been moved to Settings.

Bug: 7178216
Bug: 7192799
Change-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9
2012-09-19 22:04:44 -07:00
Christopher Tate
c8459dc85e 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
2012-09-18 13:27:36 -07:00
Christopher Tate
16aa973617 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
2012-09-17 16:35:36 -07:00
Christopher Tate
6f5a9a9652 Fix default population of wifi settings
Various wifi settings that are explicitly defaulted did not get their
default code properly converted to refer to the correct settings
database table.

A collection of moved-to-Global settings that had not yet been
marked @deprecated in the Secure.* namespace are now so marked.

Also updated the namespace used to refer to wifi settings from the
Wifi Service.  These changes are cosmetic, but they do eliminate a
number of runtime log messages.

Bug 7153671

Change-Id: I9e5b6464d025cfb480ef97373996e38e82f90593
2012-09-14 17:57:35 -07:00
Christopher Tate
0dbc410800 Merge "Fix Settings writes to a different user" into jb-mr1-dev 2012-09-14 11:35:19 -07:00
Christopher Tate
78d2a66ac1 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
2012-09-13 19:15:54 -07:00
Christopher Tate
59c5beec64 Settings db upgrade steps only apply to the owner user
Change-Id: Ib74b42bcc2554edf721199f31f563daa9fc227a2
2012-09-13 14:46:25 -07:00
Svetoslav Ganov
27d9183223 Merge "Core accessibility settings should not be cleared on restore." into jb-mr1-dev 2012-09-12 21:40:55 -07:00
Svetoslav Ganov
818d204590 Core accessibility settings should not be cleared on restore.
1. The core accessibility settings required for a blind user to use
   the device should not be overwritten on restore. There could have
   been enabled via a global gesture from setup wizard, hence the
   user definitely needs them. Restoring disabled values for these
   settings render the device useless unless sighted help is sought.

bug:7138401

Change-Id: Idc593889aa61fada65b0407623720517c827df53
2012-09-12 21:40:21 -07:00