Process the BTN_MOUSE event

This is required in order to make the trackball on devices that has it to
work properly, like it does before ICS. In addition to this patch, you just
need an .idc file that matches the device name for your the trackball. You can
find it by either looking in a kernel log or a logcat.

For example, a device with a Crucial optical navigation pad, will be called
curcial-oj.idc

The .idc file should contain the following:

cursor.mode = navigation
cursor.orientationAware = 1

Place the file in /system/usr/idc folder.

Enable in BoardConfig.mk with BOARD_USE_LEGACY_TRACKPAD := true

Change-Id: I57e9912b9e4d6242c980c99f4fd28b0d50f19bb8
Add support for ICS camera blobs

Change-Id: Icf9010f4b6059405275107fadd5aac81cd294182
libinput: port over JumpyTouchFilter from Gingerbread

 This is the 2nd commit message:

libinput: Introduce touch.filterTouchEvents parameter

Parameter will be used to decide wheter to apply filters to the touch
events of devices with bad touchscreens (such as bravo or passion).

libinput: Add applyFilters() and applyFiltersWithId functions.

Functions are called when filterTouchInput parameter is true.

libinput: MultiTouchInputMapper: hook up JumpyTouchFilter.

libinput: MultiTouchInputMapper: modify JumpyTouchFilter.

    - Drop more points when transitioning
    - Drop both coordinates when transitioning
    - If last event was hovering reset the dropped points count and
      do nothing

libinput: MultiTouchInputMapper: add BadTouchReleaseFilter.

When lifting one of two fingers on HTC Bravo's touchscreen an jump to
0x0 is emmited. The BadTouchReleaseFilter seaches for a jump like this
and replaces all points with the last ones.

libinput: rename LOGD to ALOGD

Change-Id: I50b74717edb0af082b067a552d6b10467c0eb3f2
Allow compatibility with 'old' Touchscreens (Linux < 3.1)

BOARD_USE_LEGACY_TOUCHSCREEN := true in your BoardConfig.mk

Support the Multitouch, 10-points tested on the qtouch (Defy/Droid)

Remember to add the new idc file required for the touchscreen/keypad
Example: /system/usr/idc/qtouch-touchscreen.idc

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>

 This is the 2nd commit message:

Legacy touchscreen: Fix B key issue

 This is the 3rd commit message:

simplify and improve BOARD_USE_LEGACY_TOUCHSCREEN

in addition to converting ABS_MT_TOUCH_MAJOR to ABS_MT_PRESSURE, it also converts ABS_MT_WIDTH_MAJOR to ABS_MT_TOUCH_MAJOR.

also add 2 workarounds for some touchscreen driver which
 1. has BTN_TOUCH feature but it doesn't send BTN_TOUCH event
 2. sends multi-touch event for not-in-use pointer

reference: http://source.android.com/tech/input/touch-devices.html

Change-Id: I7b7f8802e45bf9d9f8de00373559a30ea839a178
frameworks/base: Increase Zygote preload GC threshold.

Increase Zygote preload GC threshold to half of the heapgrowthlimit,
to reduce boot up time.

Change-Id: I74a68a512c2266ac6e62f09f361f8607251ca9a7
bootanimation: allow using RGB565 instead of ARGB8888

RGB565 uses considerably less memory, and together with texture
cache, it allows us to offer a really smooth bootanimation on
not so powerful devices.

Change-Id: I9da8fd7e6a587b5895519dd0983ec9b8f676771b
SystemUI: allow dismissing the "Removed USB Storage" notification

*appears on grouper after removing the usb otg device

Change-Id: I1ebcdfcdd4e79b08a06e257c6974516970094049
EventHub: Modify the keyboard layout file name for headset button

The keyboard layout file name was formed based on the name of
tabla sound card on current machine. If it doesn't find such
file, it is going to use Generic keyboard layout where the
key mappings are different, even though the scan code is same.
The sound card name differs across different machine types.
So, generalising the keyboard layout file name will work across
all machine types.

CRs-fixed: 344297
Change-Id: I416b6179f51ac98fe7dfae5268ffb58c243540a4
Fixed group and child view caching in SimpleExpandableListAdapter.

Now the adapter reports the correct type count and type for group and child
views by overriding the respective methods from the base class. Each group
view has two types, one for expanded views, one for collapsed views. Each
child view has two types, one for the last view within a group, one for the
other views within a group.

Change-Id: I117b2c0f7e98fb7fe2fdd35c15f7d1f9dc06674f
Signed-off-by: Georg Hofmann <georg.hofmann@gmail.com>
power: Add CPU boosting interface

 * Boosts CPU using Power HAL for the given duration.
 * Duration is given in microseconds.
 * Power HAL must implement POWER_HINT_CPU_BOOST.

Change-Id: I11711b1fc960654a5d461246a228f3af308a43ab
gps: Add support for Qualcomm GPS hardware

 * This ABI is changed, but we aren't using the new features in MR1.
 * Add a little translation for the changed fields and methods.

Change-Id: Ieecc2235b42f64fc69d4651855f4e9edfe7d738d
lights: Add framework support for additional lights

Change-Id: I4d12ee16e11ab584b102b7114ba3647336efc988
framework: packageinstaller :fix logical error in size calculation

fix logical error in available size calculation.

Change-Id: Ic6ce312cf1c146030a20187fcb27b24fbe4c321a
Telephony: fix typo

Change-Id: Ic13235744fca561cff4d49ae5c799420c30a3840
Fix headset detection.

Original CM Commit below by Shelnutt2
Services.jar: Reworked computeNewHeadsetState function to
set state in a manor used in ics. This allows states such
as 129 and 130, which are used for 35MM_HEADSET to be
correctly registered as a new state.

Change-Id: I3bd1ec17d0cd184593edf330f482f09396785e76
geofence: Low power geofence HW implementation

HW implemntation overwrites the SW implementation

Change-Id: I8762b0b2e3c5001622f9c8aa2a845ee64104faa3
camera: Add support for sending raw commands

 * Certain camera drivers need magic commands to select special modes
   such as ZSL or HDR. Add support for sending raw commands from
   applications.

Change-Id: I512a765c7a67ffd2877e465cf6493ffc2b3b54ac