RIL: Make RIL subclassable

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
RIL: Support signal strength format from v3 vendor RILs

Enable by setting property ro.telephony.ril.v3=1

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
RIL: fix pin unlock for old ril

Change-Id: I27eb348233d41618875473ca9bdb93d339c359f9
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
RIL: handle the lack of version gracefully on older RILs

Change-Id: I8227c55968f502112c5b6ac334eee505c29924c2
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Break the legacy ril shims into specific features. The ICC feature breaks crespo, but crepso needs the signal strength feature.

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
v3 RIL: Fix getDataCallState and PIN setting

Change-Id: Icf5cee33aeec58cffb23430f0f7b06b9971a71ad
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
v3 RIL: another getDataCallState fix

Change-Id: Ie4e69e231956f46bc1b82550fdf4863c1367efaf
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
telephony: Support broken RIL implementations without CALL_RING events

This is probably specific to the LGE star: Extend the call_ring.multiple
configuration to the ringing connection event, since the CALL_RING event
itself doesn't appear. Without this, only the first ring happens.

Enable with ro.telephony.call_ring.absent=true

Change-Id: Idd272583769757c6baa638fd644b5b919cf80fec
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
RIL: skip broken RIL_UNSOL_DATA_CALL_LIST_CHANGED

Some old RILs might produce events with type 'IP' containing the remote IP
address, normally 10.64.64.64. These events mismatch with the previously
generated ones and cause the system to take the connection down, even if
it was up and working correctly.

Add skipbrokendatacall to ro.telephony.ril.v3 to enable the workaround.

Change-Id: I3bc3c84735201a797011aafba2718638a826f31d
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Allow a target to specify its own mobile iface name

Fixes lack of traffic indicators when the interface isn't named
"rmnet0"

Change-Id: I68247cd2765cb4fe1bfeb0ec77e0a7a71ed3df44a
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
graphics: Add directives for compatibility with older EGL blobs

- Define MISSING_EGL_EXTERNAL_IMAGE for EGL libraries without
  GL_OES_GLES_image_external
- Define MISSING_GRALLOC_BUFFERS for gralloc HALS without the
  0x800 (USAGE_HW_COMPOSER) usage
- Define MISSING_EGL_PIXEL_FORMAT_YV12 for libraries who don't
  recognize the Android YV12 colorspace
- Define FORCE_EGL_CONFIG=<value> for blobs which mis-identify the
  usable EGL configuration (pick the value from a CM7 log)

A typical GB library set will need
COMMON_GLOBAL_CFLAGS += -DMISSING_EGL_EXTERNAL_IMAGE -DMISSING_EGL_PIXEL_FORMAT_YV12 -DMISSING_GRALLOC_BUFFERS

Change-Id: I85ae813c604d3d2fc41a291c9cb13d1ecd35368f
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
audio: Add compatibility bits to use legacy libaudio implementations

Enable with BOARD_USES_AUDIO_LEGACY, requires the use of the generic
legacy audio shim

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
SurfaceTexture: dequeueBuffer hack for older EGL blobs

If MISSING_GRALLOC_BUFFERS is defined (i.e., we're already hacking
around the lack of native buffers), allow retrying buffer dequeues
when the operation returns an error.
Based on work by "rapmv78" at xda-developers
(http://forum.xda-developers.com/showpost.php?p=20342919&postcount=1)

Change-Id: I2b672aabc8b2bf7b76d11c9a8e4bd65f0b4a40cf
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
LegacyUSB: Add support for legacy USB implementations

Rebased for ICS 4.0.3

Change-Id: I029d8eeca4de6d92499856feab2761a8bfa9a526

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

Change-Id: Id14f70f7e21b689c08cadef69f69da711c7dc566

Add LegacyUsbDeviceManager::setCurrentFunction method.

Method implementation is the same as UsbDeviceManager::setCurrentFunction.
The override is required to use LegacyUsbDeviceManager's mHandler, as
UsbDeviceManager's mHandler is an uninitialized private field.

Change-Id: I9ffece5247c17de77fa799e1f6c9b439ebd074db
To enable the SoftKeyboard on 7x30
"As the HARDKEYBOARD is Enabled by default, so softkeyboard is not avaiable"

Change-Id: If2e102c131afdeb01e5b2c74fea9e33edc48695d
input: Fix hardware keyboard support + workaround

 * Revert change that broke HW keyboards
 * Add workaround var for devices with broken kernels

Change-Id: I5bcda9c0464f75cc080c224382eaecbf48613bf0