telephony: add SamsungExynos4RIL class

Forward ported from CM10 including contributions from:
Andrew Dodd<atd7@cornell.edu>
Daniel Bateman <jetison.24@gmail.com>
Daniel Hillenbrand <codeworkx@cyanogenmod.org>
Ethan Chen <intervigil@gmail.com>
Lee Chu <lee.lc.chu@gmail.com>
Mike Kasick <mike@kasick.org>

Change-Id: Ibc33a866a02a88b346ae30aa6f09a398edfc79c1
fix for Samsung CDMA incoming SMS bug

ported from CM7/9/10

Change-Id: I6189dd0c6aeffb0b8b530bab7994a07bb390c32c
telephony: add SamsungExynos3RIL

forward ported from CM10 SamsungRIL

	commit 9cfdf50438f603196cd3c75b92ae5346968c2b6d
	Author: Pawit Pornkitprasan <p.pawit@gmail.com>
	Date:   Thu Aug 2 20:24:38 2012 +0700

	    SamsungRIL: Fix data connection after pin unlock

	    If the user has PIN-locked his phone, data connectivity will not
	    work because the RIL sends APPSTATE_UNKNOWN and does not update
	    it to APPSTATE_READY. We inject the state update if there's a
	    signal change.

	    Change-Id: Id64e95ebcadd1d7ff181f8d9c2ee4f18e6ae48f1

	commit 7e06e52d2c23443a28c8ad756fe7ac9b883e6ba9
	Author: Pawit Pornkitprasan <p.pawit@gmail.com>
	Date:   Tue Jul 24 22:43:02 2012 +0700

	    SamsungRIL: Update HSDPA checking for jellybean

	    Jellybean no longer publish network type id to prop, don't check for it

	    Change-Id: I689aa448853677a8719af963bf3370abaefdaf23

	commit caa215a26a958962b3e24b0f193698547ac7e317
	Author: Pawit Pornkitprasan <p.pawit@gmail.com>
	Date:   Wed Jul 18 10:54:08 2012 +0700

	    SamsungRIL: cleanup

	    Removed unneeded states and forward them to RIL. In ics, this had
	    the side-effect of allowing STK to work due to the Samsung STK
	    implementation already in place

	    cherry-picked from ics

	    stk functionality for SamsungRIL

	    * Implemented SMS based SIM application functionality
	    * PatchSet 3: Added fix so unknown unsolicited response are sent to super class
	    * PatchSet 4: Removed "import android.content.resources" - not needed any more
	    * PatchSet 5: processUnsolicited cleanup, using super class standard states where possible
	    * Patchset 6: Rebased

	    Change-Id: I9bf844da1480fe442f851fb20d99b530b96cfa4c

	commit 3f876005b1c6c39a62c4eee3d5e54a3bc36e7faa
	Author: Daniel Bateman <jetison.24@gmail.com>
	Date:   Sat Jul 14 11:27:07 2012 +0200

	    samsung ril: add UNSOL_AM implementation

	    * The Samsung RIL will sometimes send up an UNSOL_AM
	    request which is to be handled by the "am" service.
	    (For example when the RIL resets)

	    Change-Id: Ifc8ead91f2dbc39456c4a502b9623c608c796224

	commit acdff5c2f175127fd2fdfc6ef4ae511b0f4bc329
	Author: sbrissen <sbrissen@Hotmail.com>
	Date:   Fri May 25 09:27:31 2012 -0400

	    Fix for Signal bars on Samsung devices

	    Sometimes the CDMA ecio value is sent as a negative integer where we would expect a positive.
	    This causes SignalStrength.java to mark ecio as -160 (Unknown_Signal_Strength) and making signal bar
	    s clear out.
	    This "fix" checks the ecio value and takes it absolute value if it is negative.

	    Confirmed working on SCH-I500 and SPH-D710

	    Change-Id: Ic515dd6c92193cd5db75adf5bef93ecd617a5c6a

	commit 6308cb5329de73292665d8c8d538b09b4fe97fb3
	Author: Daniel Bateman <jetison.24@gmail.com>
	Date:   Mon Apr 23 22:24:01 2012 -0500

	    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

	    Conflicts:

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

	commit e96b94500359b13fbbc186bf8b03418d82449f09
	Author: Daniel Bateman <jetison.24@gmail.com>
	Date:   Tue Apr 17 03:01:20 2012 -0500

	    SamsungRIL: clean up and re-organization

	    Clean up some messy code in the Samsung RIL.

	    Change-Id: If8bc9c0e4264de5919be1b6a858896076c879708

	commit 7a3d8a991067e957ccd6b0159951f4b98d6d98f5
	Author: Mike Kasick <mike@kasick.org>
	Date:   Sat Mar 3 13:16:42 2012 -0500

	    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).

	commit 3f647c94c54e8861cfe1b75120903c303a423ddb
	Author: Mike Kasick <mike@kasick.org>
	Date:   Fri Feb 3 16:23:03 2012 -0500

	    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

	commit 65d22c288fec6a82d3350c68da0a76163bade668
	Author: Mike Kasick <mike@kasick.org>
	Date:   Sun Jan 29 17:32:13 2012 -0500

	    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

	commit 0b4354118b72c23d5ce003b065b42a1d9e3c5155
	Author: Pawit Pornkitprasan <p.pawit@gmail.com>
	Date:   Sat Jan 14 13:47:19 2012 +0700

	    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

Change-Id: I06ee05b590e603413106a9a20ab85d65d4eb33cf