Display Unicode name for China Operators.

The operator name is displayed in the phone using latin
characters by default (the SPN field). The SIM can be
configured to display a unicode name instead using the
PLMN field. However, many Chinese operators requires
this to be a customizable setting as well.

A property, ro.operator.use-plmn, can be set to override
default behaviour and display operator name as unicode
is introduced.

Change-Id: I0b2183cc40fd76bee88ffbe98b99a1d6fa9e2f5b
Fix initial telephony crash

Change-Id: I84059021dfd26711a82a0ddd5b918e0e230fe8ad
Fixed the holo gradient

Change-Id: Ic0d1afe1cdcddd9114102bab0d0e965ecc9dacb7
Signed-off-by: Arham Jamal <arhamjamal@gmail.com>
Fix don't interrupt ongoing PIN/PUK verification

This fixes an issue which only occurs if
1. you use a SIM PIN
2. the PIN verification takes longer than the screen timeout is. e.g. when then screen turns black while "unlocking SIM" message is displayed!

It might be possible to simulate the bug by pressing power quickly after the PIN has ben entered and "unlocking SIM" message is still being displayed.

If the PIN verification takes longer thant the screen timeout is then the screen turns black.
If that happens LockPatternKeyguardView.reset() is called which then forces a re-creation of the view. But then the original created
SimUnlockScreen.onSimLockChangedResponse callback never receives the success message for the SIM unlock.
What then happens is that the LockPatternKeyguardView is re-created again and again whenever screen turns off while waiting
until we receive a SIM state changed event e.g. until we are back on network.
But when that happens we are presented the pattern unlock screen. With a single touch we can then (finally) get on the homescreen.

The fix removes the forced re-creation of the LockPatternKeyguardView if there is a PIN/PUK verification in progress. Which leads to a 'normal' unlock behavior:
1. enter pin
2. "unlocking SIM" message is displayed
3. maybe screen turns off after timeout
4. after some seconds you get on the homescreen directly

former ICS submission: http://review.cyanogenmod.com/#/c/19243/

AOSP: https://android-review.googlesource.com/#/c/32310/

The issue is still present when using jellybean code.

Change-Id: I1f9bb26105d07c72b59bdec064e9e93cbdc918c4
Sensor: Add RotationVectorSensor2

Some ICS apps (namely, Google Maps) expects a rotation vector to be
available. Newer devices, this is provided by either Android's
sensor fusion (requires Gyro) or by hardware sensor fusion (MPL).

Older devices will lack this virtual sensor and compass in Google
Maps will not work. To fix this, we can provide our own rotation
vector sensor by converting the values from the orientation sensor.
(They are basically the same information in different formats.)

Thanks to Unhelpful for the help with related math.

Change-Id: Id3bad65659174a08cfe945e9af6e48ca012a5135

(cherry-picked from ics)
Adjust kernel data stack TCP parameters to optimize performance

Enhance Android MobileDataStateTracker class to identify technology
EVDO rev B separate from earlier releases.  This permits use of
separate TCP buffer size for higher bandwidth technology.

Change-Id: Ib8dfa315c4485c36c66b2c66950c42ccb81fe9e5
CRs-Fixed: 260740
frameworks/base: Fix screen stretch issue for NuPlayer

- Fixes screen not moving to full screen after suspend resume during RTSP
  streaming in landscape mode.
- If there is an incorrect height and width, it saves the video height and
  width and then does the correction to have proper width and height.

Change-Id: Icb4b9b71f21d138b85f200dc82a1fbe58342866f
Wifi: Fix the resume problem with wpa6 devices, for jb

Change-Id: I721d25a3d2de7794c80cc69114bdde83a8f40214
Add Center Clock-Framework Part

Change-Id: I80cfef86d556a468925ec22f42dd1638f7c90565
systemui: permission to phonetoggler

Change-Id: I185dab0d2e44832148a9f8606eb30b9e27439f64
Framework: Audio service - add missing pieces from CM9 port

Author: Phil Tunstall
Fix ring/notification volume not restoring correctly on headset (dis)connect

We weren't checking the alias of each stream when restoring, which meant that
for the notification stream volume:
1. The wrong volume level would be stored.
2. The volume level to restore would be retrieved from the wrong place, and then
overwrite the correctly restored ring stream volume.

As well as fixing that I have improved the readability of the code a bit.

 + Change-Id: I95234c2b7ad7dfd4dbd455a56c8a69975c514b50

Author:  Phil Tunstall
Sound preference: Safe volume restore when plugging in a headset (1/2)
When enabled, volumes that were above a threshold (~55%) the previous time
something was connected to the audio jack will be restored to that threshold
rather than their full level.

Affects all sound streams apart from voice call audio.

 + Change-Id: I0007a09ce75b55c95986e38a4cbb24fe4e8200a9

Author: dalingrin
Add separate headset and speaker volumes
This is a simple implementation of keeping separate volume
settings for the wired headset and the speaker without
overhauling the audio system.

This allows a person with sensitive headphones to keep music, ringer
and other stream volumes lower than they would usually keep the
speaker volumes.

 + Change-Id: Ia614c1e3ac548ff4e0104a090cda13b9daef09cb

Author: gsarrica
Allow unlinking of notification sound and ringtone volume.
Thanks to http://forum.aokp.co/ for this.

 + Change-Id: I55db003cc1691fbca5d3e8ea79e088d0622d38ee

Settings side has been merged

Change-Id: I19deecf2346bcf0691dc3a1480791df7b00afb06