History log of /frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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