telephony: Add Sony RIL for Qualcomm basebands

Change-Id: If50e220e54f0539cd84a472580507c227683152b
CdmaLteServiceStateTracker: simultaneous voice and data support on CDMA (e.g: SVDO)

Forward port from CM9 commit I246fe1f609f494006dfa6e98589a62cb859146a4

Change-Id: Ife6fdf67931b48863dea8ced90d6898318249907
Signed-off-by: dhacker29 <davidhackerdvm@gmail.com>
Framework : Long press back to kill fixes

- Only show message / vibrate if an app was actually killed.
- Escape out of the outter loop as well upon killing an app

Change-Id: I8c1ea2070e8b4b51caab0f6e2b7d31475d1f4601
implement noise suppression for phone calls (1/2)

Change-Id: I3604c51aae676025d29511f0547e755e42d56b38
api: Remove non-standard entries, revert to the 4.1.1 standard

hide ALL the things! _o|

Change-Id: I8d7c38e395f64c6b0622d556a5fe45b135563467
Merge "api: Remove non-standard entries, revert to the 4.1.1 standard" into jellybean
SystemUI: Move statusbar container object

The original ICS themeing code had the statusbar container (to rebuild
the views when switching themes) in the SystemUI service itself, since
it was the only common point between the phone and tablet bars.

JB introduced a BaseStatusBar class from which both layout types
derive, so move the container (and its initialization) there.

Additionally, explicitly make the phone statusbar view grab the input
focus when the window is expanded, to avoid missing the BACK keyevent
that makes it collapse.

Change-Id: I949bbf2087620406b1a2c91cf2ef8e91cf97bf32
WebSettings: Add ro.cm.version to default user agent.

Change-Id: Ic14a1626ab7bec26297e2041bdcfb26ca7b3a440
Bind VolUp+VolDown to toggle the ringer

Add a keyboard chord to toggle the state of the ringer, respecting
the user's vibration settings.
This is using the pre-existing debouncing variables and logic from the
screenshot chord, and renamed some variables to make them a bit
more generic

Change-Id: Ia30364eb28a41642c245fa2222be46fb1a781a90
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)

Change-Id: Ib0eeb683e3177d96b9b2c7bc2916b19ddaec8ae5
Merge "implement noise suppression for phone calls (1/2)" into jellybean
Allow mounting of multiple volumes via mass storage (framework part)

Cherry-pick from CM9.

The volumes to mount is taken from storage_list.xml (allowMassStorage)
rather than ro.additionalmounts in CM7.

Hand ported from the following patches:

commit 0233209827d95221399b1fe0185f79863fc6bf26
Author: Tony Layher <layhertony@gmail.com>
Date:   Sun Jan 2 12:46:38 2011 -0500

    forward port of 93bb95929a0c017498625a87654b4d114fe17b96 to allow mounting and sharing of mulitple volumes to MountService.

    Change-Id: I9fa3994e6e7b85360b451f57c1cdd4df921bc035

(the second part of the above patch was not ported)

commit 678fadf517126c8468ef2d8dcaea9c9fce96035b
Author: Josh Stone <cuviper@gmail.com>
Date:   Sun Nov 7 13:38:58 2010 -0800

    MountService: Remount all volumes after USB disconnect

    If USB was removed while UMS was enabled, the MountService was only
    remounting the primary share.  Any other shares, like the HTC Inc's
    emmc, were left in limbo.  This patch now iterates over *all* shared
    volumes to remount after disconnect.

    Change-Id: Ie6fd49ad80ba6fa0e4e194a386549cac786b4bbe
    Signed-off-by: Josh Stone <cuviper@gmail.com>

commit b1da9ed003edcd10ccda56fdf087e8f1b0f77b2a
Author: Josh Stone <cuviper@gmail.com>
Date:   Sat Jan 22 12:03:53 2011 -0800

    MountService: Only notify PackageManager for true ASEC changes

    MountService can be dealing with multiple mounts (emmc, sdcard), but
    only the EXTERNAL_STORAGE has any ASEC mounts on it.  Since the PMS
    updateExternalMediaStatus doesn't specify the path, we need to make sure
    it's only called for the real ASEC mount.  Otherwise we get into nasty
    race conditions when multiple mounts are coming and going, like during
    UMS transitions, and sdcard-installed apps tend to break.

    Change-Id: I85c6a601e84afd30b44270b0892686c2d864ce8d

commit c8c58f3d14fbb8c77ab1e90541e59fb74bef54cf
Author: Josh Stone <cuviper@gmail.com>
Date:   Sun Mar 6 12:34:50 2011 -0800

    MountService: Unmount secondary volumes more carefully

    Use the same message handler for unmounting both the ASEC external-
    storage path and any secondary paths like emmc.  This seems to help with
    additional race conditions encountered on Inc.

    Change-Id: Icca71756fa6721bd85da1f35b8b8c7fc7caa1eb1

commit 47495ab860ed97499e0c4268bf40b1f9c429bf99
Author: atinm <atinm.dev@gmail.com>
Date:   Sun Apr 10 14:50:41 2011 -0400

    Allow multiple shareable SD Cards by using getShareableVolumes()
    to get all the volumes that are shareable and allowing
    sharing/unsharing for all of them rather than just the hardcoded
    getExternalStorage calls.

    Unmount immediately if PM is not updating and not an ASEC
    mount. Change from Josh Stone.
    Change-Id: Iaf1a7a4484deac373e1c1d7bf16d5f22ca49fd64

    Only allow package manager for sdcard (packages aren't on
    external card).

    Change-Id: I0d148ea52dc1285905a9dd061d1ceedcfb761b52

    Take out extra logging.

    Change-Id: I6beb007700ef4be04c3eb273bbf2069c87b30011

Change-Id: Ibc11b9affdf22a438a4d25cf14435fb16b3ad6d6
Framework: Fix NPE in notification manager if profiles disabled

No active profile group is returned and a NPE is triggered when a
notification override is being set

Change-Id: I8ca44567706ba9b57fc70c5513c3249eaf29eb73
Camera : Powerkey shutter (1/3)

Allows user to take use power key to take pictures/videos

Patchset 2 : Add mask to setFlags
Patchset 3 : Rebased

Change-Id: Ic54cae422d7cf66c28d9ca778eca7931cc62c851
Fix display of mobile status bar icon when using airplane mode

Change-Id: Icb5b33008f97eaefd67bb4e5acd1e38bcf2dcb70
Disable touch while using the stylus (Galaxy Note)

Android 4.0 cannot form multitouch events from multiple input
devices. So it is not possible to report one touchpoint from the
stylus position and, at the same time, another touchpoint from a
finger touch. Instead, when a new input device starts up the currently
active input is cancelled. This is highly undesirable while writing
with the pen.

The easiest solution is to ignore non-stylus touch events while the
stylus is within range (hovering) of the touchscreen. For example,
N-trig digitizers implement this in hardware. But wacom digitizers do
report pen data simultaneously with touch data. This patch disables
(non-stylus) touch input within 50ms of stylus data. On my Galaxy
Note this is necessary to make stylus input usable.

Change-Id: I9f458d85d8bf83d6cf03b467d46ce066fd55b7e0
hwui: Disable framebuffer discarding for exynos4 devices

Change-Id: I27671f1dfc32f19dc792b9b13c328247e2b7b5fc
Remove power widget background

Change-Id: Id0bff63011666539a97b262a3f4975f07639a4f4
telephony: HTCCDMAQualcommRIL: allow CDMA + LTE devices to get subscription from NV like normal CDMA.

This is inline with stock implementations on Sprint. These devices have embedded SIM cards, use NV to provision instead of treating it like a GSM device and obtaining subscription from SIM card. These devices also implement RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE and RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE which switch subscription sources depending on whats needed.

Change-Id: Ifa0bd37ef47736b9c040f6ec7279724116f4d5e5