We now preserve any already-known AP configuration information when
restoring wifi from backup, instead of flatly overwriting the known
definitions with the historical ones. This means that if you are
performing setup while connected to an AP unknown in the restored
dataset, you will retain your connection instead of seeing it drop
partway through the restore process because suddenly the supplicant
"forgot" how to connect to it.
Duplicates are resolved by retaining the currently-defined network
configuration and discarding the historical one.
Bug 6443790
Change-Id: I1f44cc6a01fc4ae7c4b680682a10fcb7a0be65dc
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
Using enableWriteAheadLogging() to enable WAL is inefficient because
we previously disabled WAL mode when the database was opened.
Switching from WAL to PERSIST then back to WAL is inefficient
and could slow down application launch time. It would be better
to leave the database in WAL mode when we open it to begin with.
To do that, we need to know ahead of time whether we will want to
have WAL enabled for the newly opened database.
Using this flag also reduces the chance that we will encounter
an error enabling WAL mode due to there being other open connections
to the database.
Bug: 6124556
Change-Id: I38ec7a528baeda9f1ef77e25e88b3ca4b6296200
Radio state reflects the state of the modem. SIM_READY, RUIM_READY,
NV_READY are subscription states and it is possible that the new cards
have multiple subscriptions. Remove the SIM states from Radio State and
introduce a new VOICE_RADIO_TECH message to identify the exact voice
technology. SIM states will continue to be identified from the
SIM_STATUS messages.
Change-Id: Ia67d54f43b6c3340d9cf5c27fcb6f7ef49ef4d40
Bug: 5738552
If value has ringer set to VIBRATE_OFF, we need to update it to the
now default, as VIBRATE_OFF is inconsistent with the new UI controls.
Make sure notification vibrate setting follows ringer vibrate setting.
Change-Id: I0f15a3d1ea8502d542e3178f732cc2503104458f
The URl from which to inject a screen-reader for WebView accessiblity support should be
configurable because: 1) The accessibility engineering team should be able to point
devices to a staging build of the screen-reader; 2) We would like to be able to change
this URL via the Google services mechanism.
bug:5718543
Change-Id: I3d4d343f1c93e0e0173f04b2912949fe8a3566b9
3-state item to toggle between Silent/Vibrate/Ringer in long-press power menu.
No volume dialog on lockscreen, unless Power menu is up.
Set VIBRATE_IN_SILENT=1 when upgrading device.
Change-Id: I097d216f96c4abdbd83420e0c477106951b3607d
New API to let you build an Intent whose base configuration is correct,
but has an additional "selector" to pick out the specific app that you
would like launched.
Change-Id: Ide9db6dc60e2844b7696cfe09b28337fe7dd63db
By default we do not speak passwords if the user has no headset. However,
many users find this too restrictive and would like a way to enable
password announcement. While we cannot speak the passwords all the time
,to avoid leaking them, we expose a preference so each user can choose
the option that best works for him/her.
bug:5712607
Change-Id: I6eb0c40834abe5297f7dc74be02d180a5bef0174
Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.
Added a set of Intent categories for typical applications on the
platform.
Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.
Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
Copy the value of AUTO_TIME to AUTO_TIME_ZONE.
Don't upgrade screen timeout and auto brightness.
Bug: 5607851, 5217460
Also fix the default for vibrate mode. Bug: 5553900
Change-Id: I1b8d5215d55953f2b686e77bf55fd07110a08b8d
This reverts commit 03da2f00aac04e6565a02cf5a9bf6bb1ec926930.
Committer: Tom Taylor <tomtaylor@google.com>
On branch revertsetting
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: api/current.txt
modified: core/java/android/provider/Settings.java
modified: core/java/android/provider/Telephony.java
modified: packages/SettingsProvider/res/values/defaults.xml
modified: packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
We've decided not to disable messaging notifications with a secure setting.
Instead, all the work will be done within the messaging app itself.
Change-Id: Icde6894e76da1007b6026c8ec7dc56e488453c06
Bug 5552615
We're adding a new intent to allow 3rd party apps to disable
the Messaging app's notification. We want any app to be able to query
the setting of whether sms notifications are on or off, but only allow
system apps, particularly the Messaging app, to change that setting.
Other apps can change the setting by firing off an intent which brings
up a dialog activity in the Messaging app that'll let them turn off
Messaging notifications.
Change-Id: I4d2721191b86010efb383a24c28d911496440657
Settings were restore in alphabetical order and capturing dependency
among them required keys to be chosen in such a way that after sorting
they apprear in dependency order. Now settings are exported and restored
in the order they are declared in the arrays of settings to backup.
Hence, the order in this array will capture the dependency order.
bug:5343351
Change-Id: I93a40bcdd194943cd6f85aa18f1557d546e38274
A core app is one that has coreApp="true" in its manifest tag.
The system can successfully boot (though a little painfully) with
only framework-res.apk, SettingsProvider.apk, SystemUI.apk,
DefaultContainerService.apk, and Launcher2.apk set as core apps.
Currently this boot mode is always turned off.
Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
This reverts an earlier change that reset the system sound defaults even
for upgrades.
Bug: 5114198
Change-Id: Ide0afbd26080ba87d177cedfa9b1d50352857a00
Combined volume panel only in tablets. On phones show active volume.
Added dummy assets for ring+notification icon.
Deprecated the NOTIFICATION_USES_RING_VOLUME. Now they are always
tied together. Audio manager changes still required to ensure that.
Initialize all feedback sounds to true.
Change-Id: I3ad7890c9be9334eedb5f3b709a4b6995fe24638
If the user has supplied a backup password in Settings, that password
is validated during the full backup process and is used as an encryption
key for encoding the backed-up data itself. This is the fundamental
mechanism whereby users can secure their data even against malicious
parties getting physical unlocked access to their device.
Technically the user-supplied password is not used as the encryption
key for the backed-up data itself. What is actually done is that a
random key is generated to use as the raw encryption key. THAT key,
in turn, is encrypted with the user-supplied password (after random
salting and key expansion with PBKDF2). The encrypted master key
and a checksum are stored in the backup header. At restore time,
the user supplies their password, which allows the system to decrypt
the master key, which in turn allows the decryption of the backup
data itself.
The checksum is part of the archive in order to permit validation
of the user-supplied password. The checksum is the result of running
the user-supplied password through PBKDF2 with a randomly selected
salt. At restore time, the proposed password is run through PBKDF2
with the salt described by the archive header. If the result does
not match the archive's stated checksum, then the user has supplied
the wrong decryption password.
Also, suppress backup consideration for a few packages whose
data is either nonexistent or inapplicable across devices or
factory reset operations.
Bug 4901637
Change-Id: Id0cc9d0fdfc046602b129f273d48e23b7a14df36
1. Update the database creation/upgrade code to take care of the new setting
to enable touch exploration.
2. Made the tocuh exploration settings persistent to the cloud.
Change-Id: Ie24e9184b4a21869432d11d207cb6464fadbac3b
Implemented different silent mode behaviors for tablets and phones.
The behavior inherited from Honeycomb was for tablets only and
was muting music in silent mode.
Change-Id: Ib053e7b70ca02190debc87648ab8a163f9d39577
New methods for full backup/restore have been added to BackupAgent
(still hidden): onFullBackup() and onRestoreFile(). The former is the
entry point for a full app backup to adb/socket/etc: the app then writes
all of its files, entire, to the output. During restore, the latter
new callback is invoked, once for each file being restored.
The full backup/restore interface does not use the previously-defined
BackupDataInput / BackupDataOutput classes, because those classes
provide an API designed for incremental key/value data structuring.
Instead, a new FullBackupDataOutput class has been introduced, through
which we restrict apps' abilities to write data during a full backup
operation to *only* writing entire on-disk files via a new BackupAgent
method called fullBackupFile().
"FullBackupAgent" exists now solely as a concrete shell class that
can be instantiated in the case of apps that do not have their own
BackupAgent implementations.
Along with the API change, responsibility for backing up the .apk
file and OBB container has been moved into the framework rather than
have the application side of the transaction do it.
Change-Id: I12849b06b1a6e4c44d080587c1e9828a52b70dae