camera: add power mode support

Based on commit 7036d66bec7697160ba1b2e255f1e7fae0c8c435 from CAF,
branch ics_chocolate.

Change-Id: I8a60668b18980fd5e6f9dd341db5a8a63deb99d0
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: I8684b94871a8bf9070dcda3538a239b111da7f5b
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

Change-Id: I0c1c6f9a27c2dbc5e3beddda1a7f297e76c40841
reference: http://source.android.com/tech/input/touch-devices.html
LegacyUSB: Squashed commit with updates for 4.2

LegacyUSB: add overlay for UMS lun and use existence of lun to enable legacy USB

LegacyUSB: Add support for legacy USB implementations

Rebased for ICS 4.0.3

Option to hide Adb notification icon (framework) - authorship belongs to Rick C

Change-Id: Id14f70f7e21b689c08cadef69f69da711c7dc566
Framework: Fix GSM signal strength

Certain OEM gsm ril libs send back a bogus value for LTE signal
that causes SignalStrength.java to default to LTE and report
incorrect signal values.
Use prop value ro.telephony.ril.v3=signalstrength to get proper
GSM signal reading on certain devices.

Change-Id: Ibb23d7b3a2d21001ccbbc6ebfbdc3c5248f18cfc
Signed-off-by: dhacker29 <davidhackerdvm@gmail.com>

Conflicts:
	telephony/java/android/telephony/SignalStrength.java
telephony: hide needsOldRilFeature

Change-Id: I741b510fdacc166ad40741bf2e9db5c8a1039384
Fixed aapt warnings

Change-Id: I35389697266b3ec59a38b4142a8983d0a8cc31ac
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

Conflicts:
	services/input/InputReader.cpp
	services/input/InputReader.h
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

Conflicts:
	services/input/InputReader.cpp
	services/input/InputReader.h
	services/jni/com_android_server_input_InputManagerService.cpp