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
Remove power widget background

Change-Id: Id0bff63011666539a97b262a3f4975f07639a4f4
HTCQualcommRIL: add HTC hack to stop displaying SIM unlock screen

Change-Id: I7d3cc0c38cfee33a31a22d947cf3e09cd9bcb134
Roboto: Fix for Unicode Character U+1EE1

LATIN SMALL LETTER O WITH HORN AND TILDE (U+1EE1) looked like
LATIN SMALL LETTER O WITH TILDE (U+00F5)

Change-Id: Ic9fa3432bcd6c36eadd82f2f48d1166d0fcc8b80
fix NAT detection in SipService

The NAT detection in SipService just checks if the client IP is a
private address. In this case keep alive is enforced. But if you
use a server which also has a private address, keep alive should not
be enabled to save battery.
This patch modifies the NAT detection to also check the server IP.
If both are private, NAT is not detected.

Change-Id: If4baaf1866253ca6c432e5cc4b07e3ebd9de6ba1
core:
Added missing danish translation

Change-Id: Ie87886629dc4a31d01138e1c9f298ee281c11ec5
Fix our interpretation of apn setting's bearer.

Between ICS and JB we changed it to use TelephonyManager's network type
enumeration.  This changes it back to represent the RIL's radio
technology.  The only diff between the two is 13 and 14 are swapped,
so the change was causing problems with LTE and eHRPD.

bug:6830908
Change-Id: I85a7c8037f370f368e5cbf6dc2c9395c6889b541
Fix detection of CDMA cell broadcast messages.

The bIsServicePresent field of an incoming CDMA SMS RIL message
is not a reliable way to distinguish broadcast from point-to-point
messages on some RILs. Change CDMA SmsMessage.getMessageType() to
return MESSAGE_TYPE_BROADCAST when the service category is not 0,
and MESSAGE_TYPE_POINT_TO_POINT when the service category is 0.

Bug: 6853691
Change-Id: I0d44a8ce0bb295da5125271db90652570d655bc1
Implement CMAS service category program results.

Correctly handle CDMA Service Category Program Data requests,
and send the SCPT response to the message center. Parcel SCPD
operations as an ArrayList instead of an array (current version
will throw ClassCastException when the array is cast).

Bug: 6853691
Change-Id: I949ea68891c78306059248832e59a593ab606e11
Fix 6804479: "Emergency calls only" in notification shade

Add an additional codepath to the "no connectivity" logic in
NetworkController to allow the PLMN bubble up from the
GsmServiceStateTracker, where R.string.emergency_calls_only
is returned if we're in emergency call mode.

Bug: 6804479
Change-Id: I0a77261e4393cc0dc32bae3e631ef196b2342f06
Fix NPE on some phones at startup.

Bug: 6877589
Change-Id: I65ff37b4cf6b59a72a7aa665f252f5fb34f3b183
PT-BR: Battery status on lockscreen translation

Change-Id: I8c34374d7c2542840dccc7ae85b12a784c16d900
Added es_ES missing translations to framework

patchset 2: fix typos
patchset 3: fixes

Change-Id: Ie5fd22af769c81a2cb9978eb828ee294e05ad6a8
Add SD card description for Dock based cards

Change-Id: Ia76ba473f7b3b2ce3063e1ff7f91052458721908
AudioManager: Mute on KEYCODE_VOLUME_MUTE

Calls to AudioManager added in KeyguardViewBase and PhoneWindowManager
as well. Toggles mute state by changing the ringer mode.

Change-Id: I7178d3eb7bc62cfc872eb12b3e8d39e4c0a5bf35
Improve scrolling cache

Scrolling cache helps make short scrolls/flings smooth but will
cause stutter when long flings are made. This patch disables
scrolling cache when long flings are made.

This patch also fixes a related bug where scrolling cache will
not be enabled properly when transitioning from flinging to scrolling.

Patch Set 2: Calculate threshold based on maximum velocity (Sang Tae Park)

Change-Id: I1fdbaad92263c9f983a32900e74eba1f0367902b
Audioservice: fix A2dp support on Samsung's Audio Policy HAL.

Samsung's audio policy HAL doesn't handle A2DP delay commands
correctly which was merged in JB.
Adds a nodelaya2dp config option.

Change-Id: Ib2a1648876ad7b5b21194bd2ad27f5767e46dbb2
Merge "HTCQualcommRIL: add HTC hack to stop displaying SIM unlock screen" into jellybean
input: Add option to toggle pointer icon when using stylus

* The visible pointer icon when hovering or drawing with the stylus is
  quite annoying when trying to actually draw with it. Turn it off by
  default and add an option to turn it on.

Change-Id: Ib7f23e8b69589e3f875d150caf05065b64676e44
SamsungCDMAQualcommRIL: Switch to CDMA subscription.

	- Utilize CDMA stack, allows shared RIL to handle subscriptions.
	- Fixes ICCID registering in About Phone.
	- Roaming works.
	- Everything, theoretically, works compared to gsm stack.

Change-Id: Ia96b9381df9358bb4a91710ba3092e64ced84025