History log of /frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
873b5708d14460360d32cfc98ee48cf62f1ebfa6 02-May-2017 Stanley Tng <stng@google.com> Add Save and Restore of BluetoothOn setting

This change will automatically save the Bluetooth On setting when
the user chooses to backup the phone settings into the cloud. This
setting is restored by the Setup Wizard (SUW) when configuring the
phone and this change will enable or disable the Bluetooth based
on this restored setting.

Bug: 35657817
Test: Manual test with Sailfish
Change-Id: Ie4518593af63f96f8c363f98941ca5260a3ec4bb
(cherry picked from commit 767f05feea67e642a76bd3e2e7633a8f5273f077)
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
09d4ff8960cd3d45988b0c3ff0835d281f0e16b5 31-Mar-2017 Phil Weaver <pweaver@google.com> Remove a11y web flags and associated settings

Bug: 35707622
Bug: 28322375
Test: Ran a11y cts. Updated those tests in linked CL to
ignore this feature.

Change-Id: I1dccb3ae4e1f4d6bb832ae1b0edd4dad4a54289e
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0 11-Nov-2016 Sudheer Shanka <sudheersai@google.com> Update usage of ActivityManagerNative.

- Remove references to ActivityManagerProxy.
- Add isSystemReady to ActivityManager.

Bug: 30977067
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \
-w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
22eb19939d815856887f1329f41aa04b397505ff 12-Jul-2016 Justin Klaassen <justinklaassen@google.com> Refactor display color transforms

- Removed Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, it's not desirable
to persist the actual color transformation matrix.
- Refactored all SurfaceFlinger transforms to DisplayTransformManager,
which allows color transforms to be set independently from the a11y
manager service.

Bug: 30042357
Change-Id: Iefa477dedb66aac90e1218e327802a3fab6899ed
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
e24b9a6cfa4d565d7f49c9ae8f3aeca737d93312 17-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Add a VR listener service.

Bug: 22855417
Bug: 26724891
Bug: 27364145

- Add an API for VrListenerService, which is bound/unbound
from the framework when the system VR mode changes.
- Allow only a single bound VrListenerService at a time.
- Monitor allowed VrListenerService implementations from
VrManagerService and evict services as needed when packages,
users, or settings change.
- Remove previous VR functionality in NotificationListenerService.
- Add component target to Activity#setVrMode to allow
explicit selection of the running VrListenerService from
the current VR activity.

Change-Id: I776335f4441be0e793d3126f2d16faf86a8c621a
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
86b867fd45ce97f7ebe374396e91e679adf8633d 30-Dec-2015 Casey Burkhardt <caseyburkhardt@google.com> Adds Settings.System.FONT_SCALE observer to ActivityManagerService

Changes to Settings.System.FONT_SCALE were not being handled by any service,
which required a device reboot for any changes to take effect. Changes to
this field by the Settings app worked as expected only because it is able to
poke ActivityManager with an updated configuration, whereas unbundled
applications cannot.

This also ensures the setting value is backed up and doesn't conflict with
a configured value from accessibility onboarding during restore.

Bug:23033258
Change-Id: I98d4aed2f9f5893d054e6b10c4dfda406de8eba2
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
fa7786cbe7e846841c2828d8143325144b75f619 22-Dec-2015 Anna Galusza <agalusza@google.com> Add remaining Accessibility Settings to backup
list. Note additional settings that should not be
restored if they are already set (on account of
the new Setup Wizard, which allows critical
Accessibility Settings to be set before restore).

Change-Id: I95524abbef20ab12e529a2b1e6165adc7294c3db
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
e4de5a0d3b6e0c897c1cea0912b58e11db962365 23-Sep-2015 Xiaohui Chen <xiaohuic@google.com> Cleanup OWNER references.

Bug: 19913735
Change-Id: I2150c6baaab80fe11312e4401394a2a8da52e595
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
43765b77a0286403fd9f7f5305219f0d9a10c953 31-Aug-2015 Xiaohui Chen <xiaohuic@google.com> Cleanup USER_OWNER in SettingsProvider[Test]

Fixed up the tests and re-enabled it.
Still suppressed one test because what it relies on Settings.Bookmarks
is broken because Settings query format changed.
Fixed a bug in SettingsProvider that the package query is using the
wrong user id.

Bug: 19913735
Change-Id: Ied86a261defba2706f726a13bc32f385f7d93787
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
7b9a28c7f0a7b88ed1ea777edc05002d2d2b38b7 18-Mar-2015 Christopher Tate <ctate@google.com> Back up and restore the set of enabled IMEs

The restored set of enabled IMEs/subtypes is merged into the
current state of the system, rather than simply replacing it.
This is because we do not want to accidentally disable or
reconfigure something that the user is currently relying on.

There's a certain amount of repetitive activity here, rebuilding
the enabled-state data structures in a different format, but it's
important for maintainability that the restore code be able to
rely on the core InputMethodUtils implementation of reading/writing
the settings element.

Bug 19822542

Change-Id: If0104151b3526da6ecc669adde3119a239ecafeb
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
2d4aadca9487d76cb7220bdba90afa53119664ea 17-Mar-2015 Christopher Tate <ctate@google.com> Merge restored accessibility enable state, don't overwrite

We do not want to accidentally disable the user's currently-enabled
accessibility service(s); presumably they turned them on during
setup for a reason. We now merge the prior + current states rather
than simply replacing the current state with the former.

Bug 19427367

Change-Id: I96eb47df57318c88066c5da6862f23f656639148
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
6597e3435f8abfedbb9a4f1bfb10cc17ea7f38bf 17-Feb-2015 Christopher Tate <ctate@google.com> Notification listener backup & restore

We now back up & restore the set of enabled notification listeners. Post-
restore, a listener that had been enabled on the ancestral device will be
enabled on the current device as soon as it's installed, matching the
user's previous configuration. After this has happened the enable/disable
state for that app is not "sticky"; disabling it again will work as
expected.

The infrastructure for accomplishing this is general: it can be leveraged
by any ManagedServices derivative. There's a bit of extra wiring in the
settings provider to support the restore-time information flow as well.
This is because ManagedServices -- like many other parts of the system --
monitors writes to the settings provider and does work in response to new
writes of the elements that it cares about. Unfortunately this means that
there is no way to use the BackupAgent's restoreFinished() hook to post-
process the restored data: by the time it is run, the ManagedService's
observers have already executed and culled any unknown components from
the description that was just pushed into settings.

As of this patch, the settings provider's restore logic knows that a
particular settings element will require a message to interested observers
about the restore-driven change. The message is delivered as a broadcast,
and is sent after the new value has been committed to the settings db.
Adding other system ManagedService handling that parallels this will only
require adding a new corresponding entry to the table of individual settings
for which the relevant "this settings element is being restored" broadcast
is sent, found in SettingsHelper.

(It isn't sent for all settings elements because very few settings elements
have semantics that require it; 3rd party code won't be running yet during
platform restore anyway; and sending up to hundreds of broadcasts during
setup & restore is far from ideal.)

Bug 19254153

Change-Id: Ib8268c6cb273862a3ee089d2764f3bff4a299103
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
8fc5072524f088daedb36bb3e1a77b57d25d000b 23-Dec-2014 Marvin Paul <marvinpaul@google.com> 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
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
11bfc2261f653f1b3154b88bf692241dbd6fc477 30-Jul-2014 Narayan Kamath <narayan@google.com> Don't assume languages are 2 letter codes.

Also, note that this method never worked. Locale
settings were stored with underscores (like Locale.toString)
but matched against AssetManager.getLocales() which
returned language-tag like output.

bug: 10090157

(cherry picked from commit fd138cd81a689ff46e6ae90e46adcdc53f3c5442)

Change-Id: Ifc81ac902c297387dba8c40aba0656e18af57c86
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
2e804444d64bdf2763c682109c838a8372b17934 11-Sep-2013 Amith Yamasani <yamasani@google.com> Handle the case where the restore environment doesn't have the ringtone

Bug: 10130785

uncanonicalize() can return a null now, so abort restoring the ringtone
in that case.

Change-Id: I28765818c8d3e1fb3f271afdfe66ebc955cfcefe
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
622bf2220cf7fb9bb526afa39921ee2aa93e32ca 06-Sep-2013 Amith Yamasani <yamasani@google.com> Backup and restore ringtone and notification ringtone

Use the new content provider API to canonicalize Uris.
If the provider doesn't support it, don't save the value,
unless it's a silent ringtone.

Bug: 10130785

Change-Id: Id08bb2812b9b2a7036a25801d1997661b0017629
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
a12fccf57d5ec289793699d9b22ff45daccd3933 14-Mar-2013 Maggie Benthall <mbenthall@google.com> Add user restrictions for bluetooth, sideloading, usb file transfer

Created constants for these in UserManager and current.txt. Also created
an accessor for individual user restrictions that takes the restriction key
(removing individual methods for particular restrictions).

Change-Id: Ibb5517cbcdffadd3925f52cbe67d7d525813faa9
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
6794458f8626c3be27eac3db3a5c89d94f132675 22-Feb-2013 Maggie Benthall <mbenthall@google.com> Add location sharing toggle user restriction.

And add support for respecting it.

Change-Id: Ia5cf9134c5f5741c3f55afadbe54f862da7bfe5b
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
818d20459099ea75e9b8d27c341af482653847a1 13-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> 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
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
9630704ed3b265f008a8f64ec60a33cf9dcd3345 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Power manager rewrite.

The major goal of this rewrite is to make it easier to implement
power management policies correctly. According, the new
implementation primarily uses state-based rather than event-based
triggers for applying changes to the current power state.

For example, when an application requests that the proximity
sensor be used to manage the screen state (by way of a wake lock),
the power manager makes note of the fact that the set of
wake locks changed. Then it executes a common update function
that recalculates the entire state, first looking at wake locks,
then considering user activity, and eventually determining whether
the screen should be turned on or off. At this point it may
make a request to a component called the DisplayPowerController
to asynchronously update the display's powe state. Likewise,
DisplayPowerController makes note of the updated power request
and schedules its own update function to figure out what needs
to be changed.

The big benefit of this approach is that it's easy to mutate
multiple properties of the power state simultaneously then
apply their joint effects together all at once. Transitions
between states are detected and resolved by the update in
a consistent manner.

The new power manager service has is implemented as a set of
loosely coupled components. For the most part, information
only flows one way through these components (by issuing a
request to that component) although some components support
sending a message back to indicate when the work has been
completed. For example, the DisplayPowerController posts
a callback runnable asynchronously to tell the PowerManagerService
when the display is ready. An important feature of this
approach is that each component neatly encapsulates its
state and maintains its own invariants. Moreover, we do
not need to worry about deadlocks or awkward mutual exclusion
semantics because most of the requests are asynchronous.

The benefits of this design are especially apparent in
the implementation of the screen on / off and brightness
control animations which are able to take advantage of
framework features like properties, ObjectAnimator
and Choreographer.

The screen on / off animation is now the responsibility
of the power manager (instead of surface flinger). This change
makes it much easier to ensure that the animation is properly
coordinated with other power state changes and eliminates
the cause of race conditions in the older implementation.

The because of the userActivity() function has been changed
so that it never wakes the device from sleep. This change
removes ambiguity around forcing or disabling user activity
for various purposes. To wake the device, use wakeUp().
To put it to sleep, use goToSleep(). Simple.

The power manager service interface and API has been significantly
simplified and consolidated. Also fixed some inconsistencies
related to how the minimum and maximum screen brightness setting
was presented in brightness control widgets and enforced behind
the scenes.

At present the following features are implemented:

- Wake locks.
- User activity.
- Wake up / go to sleep.
- Power state broadcasts.
- Battery stats and event log notifications.
- Dreams.
- Proximity screen off.
- Animated screen on / off transitions.
- Auto-dimming.
- Auto-brightness control for the screen backlight with
different timeouts for ramping up versus ramping down.
- Auto-on when plugged or unplugged.
- Stay on when plugged.
- Device administration maximum user activity timeout.
- Application controlled brightness via window manager.

The following features are not yet implemented:

- Reduced user activity timeout for the key guard.
- Reduced user activity timeout for the phone application.
- Coordinating screen on barriers with the window manager.
- Preventing auto-rotation during power state changes.
- Auto-brightness adjustment setting (feature was disabled
in previous version of the power manager service pending
an improved UI design so leaving it out for now).
- Interpolated brightness control (a proposed new scheme
for more compactly specifying auto-brightness levels
in config.xml).
- Button / keyboard backlight control.
- Change window manager to associated WorkSource with
KEEP_SCREEN_ON_FLAG wake lock instead of talking
directly to the battery stats service.
- Optionally support animating screen brightness when
turning on/off instead of playing electron beam animation
(config_animateScreenLights).

Change-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
bffc3d1bd33eb2d8e00a9f8b6261d815db503311 08-May-2012 Eric Laurent <elaurent@google.com> Silent and Vibrate mode clean up

Clean up related to new Vibration policy.
The vibrate behavior is now only derived from:
- presence of a vibrator on the device
- current ringer mode selected: NORMAL, VIBRATE or SILENT
If no vibrator is present the ringer mode can only be NORMAL or SILENT.

The control of ringer mode via volume keys when volume keys control the "master"
stream type (RING on phones, MUSIC on tablets) is as follows:
If a vibrator is present:
VOL- and volume equals 1: NORMAL => VIBRATE
VOL- and volume equals 0 and not continuous press: VIBRATE => SILENT
VOL+ and in SILENT mode: SILENT => VIBRATE
VOL+ and in VIBRATE mode: VIBRATE => NORMAL, volume = 1
If no vibrator is present:
VOL- and volume equals 0 and not continuous press: NORMAL => SILENT
VOL+ and in SILENT mode: SILENT => NORMAL, volume = 0

VIBRATE_ON and VIBRATE_IN_SILENT settings are not stored/retreived any more.

AudioService checks and corrects ringer mode and stream volumes if necessary when reading from
DB at boot time.

Also:
Added dump for stream volumes in AudioService.
Added device names missing in AudioSystem for USB accessory and USB device.

Issue: 6036529
Issue: 6414950
Issue: 6448163

Change-Id: I77fb821ec63e4e566320cac2701b4ac466e86aef
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
75a99709accef8cf221fd436d646727e7c8dd1f1 19-May-2011 Christopher Tate <ctate@google.com> Restore from a previous full backup's tarfile

Usage: adb restore [tarfilename]

Restores app data [and installs the apps if necessary from the backup
file] captured in a previous invocation of 'adb backup'. The user
must explicitly acknowledge the action on-device before it is allowed
to proceed; this prevents any "invisible" pushes of content from the
host to the device.

Known issues:

* The settings databases and wallpaper are saved/restored, but lots
of other system state is not yet captured in the full backup. This
means that for practical purposes this is usable for 3rd party
apps at present but not for full-system cloning/imaging.

Change-Id: I0c748b645845e7c9178e30bf142857861a64efd3
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.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/SettingsHelper.java
03b6d90db9acc531a945c57795b903a3b74dd0b7 26-Feb-2010 Christopher Tate <ctate@google.com> Make sure to apply the auto-restore setting when the system is restored

Change-Id: If2e09d6b4e65c75e7e90754adc2425fa73d2602a
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
e79f721e710166b6fd57fd101de84367156b77b7 22-Jan-2010 Ken Shirriff <kens@google.com> Remove unused providers

bug 2388178
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
dc3494e3d8e17aeb0dbbe41953a5ef763d95ff78 15-Oct-2009 Mike Lockwood <lockwood@android.com> Remove PowerManager.setAutoBrightness()

We will use the System.SCREEN_BRIGHTNESS_MODE Settings value instead.
Add SCREEN_BRIGHTNESS_MODE_MANUAL and SCREEN_BRIGHTNESS_MODE_AUTOMATIC constants.

Change-Id: I01935be3fcb48cf76392d2c594205cb47babc5b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
362aca60453ec7f27abb4d83fc29dd82095dc882 26-Sep-2009 Christopher Tate <ctate@android.com> Add auto-brightness mode to the list of backed-up settings

Change-Id: I4302b79691ed717d810748b239311cba198f6381
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
a286f419084d56217f05a64f1d24c9e07917212e 19-Sep-2009 Christopher Tate <ctate@android.com> Don't back up / restore certain sync-related settings

In particular, this no longer attempts to back up the on/off state of specific
backend syncing [gmail/contacts/calendar], nor the "background data" toggle.
The former was causing a great deal of spurious trips through backup as the
notification was being tickled during general sync operation, and the latter
makes little sense at restore time.

Fixes these issues:

b/2097613 - frequent "backup_data_changed" messages in event log
b/2131662 - should not backup background data, master sync settings
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
237a29923a05663a2195bf93b392768dbaf31ebf 15-Sep-2009 Mike Lockwood <lockwood@android.com> Move backlight brightness from HardwareService to PowerManager

to prevent apps from changing the hardware behind its back.
Fixes b/2041941 Lock screen flashes the screen very bright before dimming

Change-Id: Ice757f7ae87902bdfb3634471cf44f020ebfaae4
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.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/SettingsHelper.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/SettingsHelper.java
f6a34dd6ab7f4803a2bbfed1cc8910e879e6a79d 07-Jul-2009 -b master <yamasani@google.com> resolved conflicts for merge of b7195159 to master
70c874ba20b586712a7550b6c5efeb6dc0fdf9fa 06-Jul-2009 Amith Yamasani <yamasani@google.com> Restore GPS state and ringer/vibrate toggles.

Inform backup manager when sync flags change. Set ringer/vibrate mode.
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.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/SettingsHelper.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/SettingsHelper.java
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/SettingsHelper.java