RIL: Make RIL subclassable

Conflicts:

	telephony/java/com/android/internal/telephony/RIL.java

Change-Id: I99c194c6baa6abe6f37e92d4f8df197b1cbf69f0

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
RIL: Support signal strength format from v3 vendor RILs

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

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
RIL: fix pin unlock for old ril

Change-Id: I27eb348233d41618875473ca9bdb93d339c359f9

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
RIL: handle the lack of version gracefully on older RILs

Change-Id: I8227c55968f502112c5b6ac334eee505c29924c2

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
Break the legacy ril shims into specific features. The ICC feature breaks crespo, but crepso needs the signal strength feature.

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
v3 RIL: Fix getDataCallState and PIN setting

Change-Id: Icf5cee33aeec58cffb23430f0f7b06b9971a71ad

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
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: mikegapinski <mikegapinski@gmail.com>
v3 RIL: another getDataCallState fix

Change-Id: Ie4e69e231956f46bc1b82550fdf4863c1367efaf

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
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: mikegapinski <mikegapinski@gmail.com>
Add support for Caller Name Display

Copied relevant parts from CdmaConnection.java to get the information
as/if presented by network operator (Fido/Rogers in canada provide that
information, and it get displayed if there's no match in phonebook).

Change-Id: I95d90c96324502c217da84be2c5c3cd46c1c0c0f

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
telephony: Use reflection to create command interface (RIL class)

This has the advantage over the method used in CM7 in that the
RIL class for each device does not have to be specified in this
file in an if statement. ro.telephony.ril_class needs to be upated
to contain the name of the class instead of an identifier as used
in CM7

Change-Id: I0aafdfc78d47f493a2e35819dbe873ea98787934

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
framework: Add RIL for qualcom basebands with no sim status I will describe the behaviour below because I think it may be useful for others with updated qualcomm basebands.

Semc recently upgraded to a new baseband version which changes
the way SIM status works. At the core of this changs is the fact
that basebands are now supporting multiple SIM cards and this means
that sending the app state as an extra of
RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED

CAF supports this behaviour in the gingerbread_rel branch but
the changes are unmergeable due to other complex that would break
all devices.

This is a workaround where the new state (radio status) is parsed
from RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED and this triggers a
thread which will in turn query the SIM card and send SIM/RUIM_READY
when appropriate.

Revised by Giulio Cervera for ICS

Change-Id: I5bbd10ec5bd0e4f6c4791def905fe5677ba8f690

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
telephony: Add LG RIL for Qualcomm basebands with no sim status

Change-Id: Idf1f769ff654f881b00950ef51f7826e1a66c505

Signed-off-by: mikegapinski <mikegapinski@gmail.com>
Merging changes

Change-Id: Ifd7375459df6a2c395c001537ff102df1e4a3a54