input: Add workaround for broken hardware keyboard support

* Add workaround var for devices with broken kernels

Patchset 1 : Stick to android code guidelines

Change-Id: Iefbd2389656f5da7bcaa02337aed1ef48ba9653a

Conflicts:
	core/res/res/values/config.xml
	core/res/res/values/symbols.xml
input: Fix workaround for broken hardware keyboard support

Using a wrong reference to mHardKeyboardAvailable caused device config
to never report physical keyboards.

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

Change-Id: If51532bd8220fab8722bbb594f70515f9d74b49b
Camera : Powerkey shutter (1/2)

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

Change-Id: I85a1e1761199f4604672be42a3a5005227f5451a
telephony: SignalStrengh: Don't calculate a LTE snr if the srq is invalid

If the previous values are invalid and signal quality is -1, chances are there's
no LTE signal at all, so don't calculate the SNR and mark it invalid as well.

This fixes the strength indicator in GSM devices where it was being skewed
by the ghost LTE value

Change-Id: I070573401c141aa99941a332ee256246697abb90
Make "SD Card removed" notification dismissible if the removed SD Card is not the primary storage

The Galaxy S uses the "external SD Card" as the extended storage
and it the notification should be dismissible as it's okay not
to have it.

Additionally, this patch also not hide the USB storage mount dialog
if the removed storage is not the primary storage

Adapted for JB 4.2

Change-Id: Ic752a3da917e0d7736a619fb68f07905106987fb

Conflicts:
	packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
Allow mounting of multiple volumes via mass storage (framework part)

(cherry-picked from CM10)

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: I5ea83afeda6cdaf63dd15857b3827bb00afbd6d2
Add support for ICS camera blobs

Change-Id: Icf9010f4b6059405275107fadd5aac81cd294182
Wifi: Allow configuration of the P2P ifname

ICS used the same wifi.interface as the regular wifi service.
Let's use wifi.p2pinterface here, since they _can_ be different

Change-Id: Iab68b245b33377271354c849bbe33725a26193f1

Conflicts:
	wifi/java/android/net/wifi/p2p/WifiP2pService.java
Added Settings forgotten

Settings value for

Change If51532bd: implement noise suppression for phone calls (1/2)
Add support for Qualcomm GPS hardware Credit CM

Change-Id: I1938db96cece0be8645fa8a80231b1396872125e
Fix Deskclock FC [cm]

Patch Set 2: Changed description

Change-Id: I3e32ee660a8246a3f0076398d54b4a0ab8ef57ff
Framework:Power Widget Support (1/4) (Phone)

This commit adds the Power widget for phones.  All toggles should work
except for LTE (disabled for now)

Patch set 2  - Fixes Sync toggle
Patch set 3  - Removes WIP
Patch set 4  - Rebase
               Switch to MultiSelectListPreference

Patch set 5 - 16
- some fixes

Patch set 17
- whitespace cleanup
- added some license text
- remove background on toggles for future ports of slim stuff
- some small cosmetic things

Change-Id: I17669420d9db9a347af182fc398c6426e18534f4

Conflicts:

	core/java/android/provider/Settings.java
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/layout/status_bar_expanded.xml
	packages/SystemUI/res/layout/status_bar_expanded_header.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

Change-Id: I104ca847cf004792c4a1b4b0c3b6acace9355fa1

Conflicts:
	core/res/res/values/symbols.xml
	telephony/java/com/android/internal/telephony/ITelephony.aidl
AudioService: Don't adjust volume when vol-downing to vibrate or silent

Pressing vol-down to vibrate or silent would (previously) still adjust the
stream volume, setting the last audible volume to 0, which is not allowed
for voice-capable devices.  Thus, the last audible volume would reset to
default on reboot if on vibrate/silent or the lowest volume setting.

By not adjusting volume when vol-downing to vibrate or silent on
voice-capable devices, the last audible volume is always preserved across
reboot.
keyguard: fix layout for 320dp devices

800x480px dpi devices have less screen space than the xhdpi devices
Google designed the layout for and the layout needs adjustment.

- Reduce the lockscreen security container size such that the clock
  widget has enough space to display its content.
- In the SIM PIN/PUK view, Google put an empty widget on top, but
  we don't have space for that, increase its size such that the
  widget practically disappears.

This should not have any effect on devices with larger screens.

Change-Id: I9e811cfd312abae24a9cad189d19e73848f6c4c1
Framework (1): Forward Port CM10 features

This commit includes:
 - Power menu Reboot
 - Power menu screenshot
 - Profiles
 - Quiet hours
 - Notification light customization
 - Battery light customization
 - IME Selector notification toggle
 - Volume Rocker / Wakeup
 - and a few more things to support Settings

PatchSet 2

just changed commit message

PatchSet 3

rebased on initial Power Widget commit

PatchSet 4

rebased
whitespace cleanup
profile airplane mode fix
delete GB drawable on reboot powermenu
small fixes

Change-Id: Ibab71331dbced41ef4b8cb20c1f9aac29a142551

Conflicts:
	core/java/android/app/ContextImpl.java
	core/java/android/app/Notification.java
	core/java/android/provider/Settings.java
	core/res/res/values/config.xml
	core/res/res/values/strings.xml
	core/res/res/values/symbols.xml
	policy/src/com/android/internal/policy/impl/GlobalActions.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
	policy/src/com/android/internal/policy/impl/keyguard_obsolete/KeyguardViewMediator.java
	services/java/com/android/server/NotificationManagerService.java
	services/java/com/android/server/VibratorService.java