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)>
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)>
v3 RIL: another getDataCallState fix

Change-Id: Ie4e69e231956f46bc1b82550fdf4863c1367efaf
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)>
telephony: Added support for use of Honeycomb Radio (Modem).

-squashed (RIL: reference ICS and GB):
https://github.com/isimobile/android_frameworks_base/commit/7507127287aa8cf84b5e811977d95400b029f95b
https://github.com/isimobile/android_frameworks_base/commit/af2b84d1860b38952784ae116172e00a4b445a1d
https://github.com/isimobile/android_frameworks_base/commit/872156a81fb4185217e7642d10ec33da4893a2b3
https://github.com/isimobile/android_frameworks_base/commit/400bbc4e3ce8e9e0219b31bb985e6628c50d0f07
https://github.com/isimobile/android_frameworks_base/commit/7cb289d9e59ac69350dd2377eff63940641df603

-cleaned up some whitespace

Change-Id: I3a3474245bb336bc3f275605648f5f94f3f9b6e7
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
telephony: Add SamsungRIL

Patch Set 2: Fix Emergency calling for Samsung CDMA

Patch Set 3: Do not extraneously send RIL poll requests due to extraneous HSDPA update

Patch Set 4: Remove extraneous import accidentally added in Patch Set 3

commit 91cb0a82f785539986ee4f6ef95ccd8c789121d5
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Mon Dec 19 17:53:40 2011 +0700

    SamsungRIL: ignore setCurrentPreferredNetworkType

    Change-Id: Ifa87949da3d807803db932e31c6c2dd053040c9c

commit b578cdb7bf0222a05af65cb09cdfc53aa7457328
Author: Daniel Hillenbrand <info@codeworkx.de>
Date:   Mon Dec 12 18:32:35 2011 +0100

    SamsungRIL: added unknown unsol request 11010

commit 259ccc34d53a0067c730c616814c0ec5fc788d95
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Sun Nov 27 12:06:34 2011 +0700

    SamsungRIL: Always use v3 signal strength

    Our signal processing wouldn't make sense without it anyway.

    Change-Id: Ie101d6b220b00383aa18a9ac2c66e2ef786b7467

commit 1f5730d26e7e0dece905192b4dab6340336a8a21
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Fri Nov 18 21:15:34 2011 +0700

    SamsungRIL: Fix datacall

commit 1838b577a899a1f5259327361d95fe64f706c8e8
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Fri Nov 18 13:50:39 2011 +0700

    SamsungRIL: Fix signal strength

commit 1e23a1d363e7514b32703f604bdc96411cc35330
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Thu Nov 17 17:40:56 2011 +0700

    Brings back SamsungRIL

Change-Id: Ice09e25c8657aad0ddb345d240829789f28d18fb
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
telephony: add support for samsung smdk4210 boards

Change-Id: Id51618e4f4764121a60bbcbc629f4dc8147c4808
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Telephony: Add "singlepdp" RIL feature

ICS appears to assume the radio implementation is capable of multiple
simultaneous PDP contexts; maguro, for instance, brings up a second
interface (rmnet1) alongside the primary rmnet0 whenever another APN
is needed.
Other devices (including, from tests, crespo) don't accept this, and
react in unpredictable ways when a SETUP_DATA_CALL request is made before
tearing down any other active context (making it impossible, or at
least hard, to switch APNs).

Since the old setup/deactivateDefaultPDP methods are gone, this patch
adds a back-compatibility "singlepdp" option to the ro.telephony.ril.v3
property, which enforces disabling the default PDP whenever another one
is enabled.

Change-Id: Ib4b030e3f1a32445102ac72aeb68715ef8cebd88
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Telephony: Correct the typo in RIL.java

Change-Id: Ia2466d478e86bb891c4b394ac86389369a9b8dd3
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
SamsungRIL: clean up and re-organization

Clean up some messy code in the Samsung RIL.

Change-Id: If8bc9c0e4264de5919be1b6a858896076c879708
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
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: netchip <netchip@netchip-ubuntu.(none)>
Fix support for CDMA devices in SamsungRIL.

These fixes are ported from jt1134's fascinatemtd patches and CM7.  For
CM9, the fixes are applied to SamsungRIL directly instead of elsewhere in
the telephony framework.  They include:

- Signal strength reporting: pass raw integer values.
- Voice registration: convert base station values from hex to dec.
- Data call setup/deactivate: start/stop pppd_cdma service and pull network
  parameters from pppd ip-up script.
- CDMA subscription: add missing PRL version from system properties.

Changes from CM7:

Note use of "ril.cdma.data_state" property instead of
"ril.cdma.data_ready".  This property has three states:

- Disconnect(ed): ril.cdma.data_state=0: stop pppd_cdma service.
- Connecting:     ril.cdma.data_state=1: (re)start pppd_cdma.
- Connected:      ril.cdma.data_state=2: pppd_cdma has responded.

The disconnect (0) and connecting (1) states are set by SamsungRIL on the
deactivation and setup, respectively, of a data call.  Prior to setting the
connecting (1) state, SamsungRIL sets the "net.cdma.datalinkinterface" for
pppd_runner's use.

After setting to the connecting (1) state, SamsungRIL waits for pppd_cdma
to respond by (itself) setting the connected (2) state.  This should be
done at the end of a /system/etc/ppp/ip-up script, after that script sets
the following interface values, which SamsungRIL uses to complete the data
call state:

- net.cdma.ppp.interface: $IFNAME (typically "ppp0")
- net.$IFNAME.local-ip:   pppd's local IPv4 address
- net.$IFNAME.remote-ip:  pppd's remote IPv4 address
- net.$IFNAME.dns1:       pppd's primary DNS address
- net.$IFNAME.dns2:       pppd's secondary DNS address

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Add more CDMA SamsungRIL fixes.

Adds a collection of CDMA device fixes to SamsungRIL.  They include:

- Overriding ERROR_UNSPECIFIED fail cause with NORMAL_CLEARING, to prevent
  far-end hangups from displaying the "Call Lost" dialog.

- Adding, and ignoring the RIL_UNSOL_GPS_NOTI request, which is also
  ignored in the TW RIL, to keep the radio log clean of exceptions when the
  GPS is active.

- Workaround for Samsung CDMA "ring of death" bug.  See source comments for
  details on this problem.

Change-Id: Ida4797718ad3463d073a6fc27246cc916526d487
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
SamsungRIL: Fixes for CDMA data reconnection failures due to stale pppd

Occasionally the CDMA data connection fails to reconnect after various
radio events, which is fixed neither by toggling mobile data nor airplane
mode, but only by a reboot.  One known cause of this problem is that the
pppd_cdma service is occasionally left running after the radio event, which
causes all subsequent "setup data call" operations to fail.  These two
fixes address the stale pppd_cdma service issue:

- Move the pppd_cdma service shutdown (set ril.cdma.data_state=0) from the
  "deactivate data call" response to its request.  This avoids the issue
  where the response never comes (radio crash?), and thus, the service is
  never stopped.

- Force pppd_cdma service shutdown on a "setup data call" failure.  This
  allows subsequent setup attempts to succeed in the event that the
  "deactivate" request was never made (unexpected radio poweroff).

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
fix sms receiving for some Samsung CDMA phones

Change-Id: I4639b10e5d1c512135572807f9430e81b6b8869b
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
telephony: SamsungRIL cleanup

== RIL ==
* remove unused "found" boolean in processSolicited
* make requestToString/repsonseToString append the request
  ID on unknown requests.

== Samsung RIL ==
* add CM copyright header to file
* SAMSUNG_UNKNOWN_MAGIC_REQUEST_3 is actually UNSOL_AM
* add DIAL_EMERGENCY to a SamsungRIL::requestToString
* add DIAL_EMERGENCY response to processSolicited
* move emergency dialing into dialEmergencyCall()
* dialEmergencyCall() also ditches UUS info like on stock.
* cleanup and improve readibility of responseCallList()
* move isVideo before isVoicePrivacy, as it is in stock:
    ref "stock" code: http://pastebin.com/WePMyXDi
    ref "stock" order: isMpty then isMT then als then isVoice then isVideo
                       then isVoicePrivacy
    ref cm code: http://pastebin.com/UU105gNr
    ref cm order: isMpty then isMT then als then isVoice then
                  isVoicePrivacy then "videoMagic"
* general cleanup

Change-Id: Ic4ada0a3d6ac1bf580b3930a2599a91e822540ef
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
fixed typo in RIL_UNSOL_CDMA_PRL_CHANGED constant

Change-Id: I190022fc7fdd8b33a8ec14fdc712c1a99222b61f
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>