telephony: pick correct APN for MSim

The subId should be sent to TelephonyProvider to pick the correct
preferred APN. Without it, the first APN will simply gets used.

For non-MSim, sending subId shouldn't break anything (Settings send
it anyway)

Change-Id: I837e33391b39bf9bc0b7af06840bfe899c6ffcb7
Don't write blank baseband version

* There's no point in setting the baseband version if the returned value
  is blank anyway.

Change-Id: Ica9973a8b790c0de6afa10bc131257a3a03f18a0
CdmaLte: Fix 3G reported as unknown on certain devices

Some older CDMA/LTE RILs only report VoiceRadioTechnology which
results in network Unknown. In these cases return
RilVoiceRadioTechnology for RilDataRadioTechnology.

Set ro.telephony.ril.config=usevoicetechfordata to enable

Change-Id: Icfbc8739993beae1b0f024bf71374751aa200a01
RIL: Sink RIL_REQUEST_GET_DATA_CALL_PROFILE for version < 10

Old RILs won't have this L request, and the ID may conflict with
something in the vendor library.

Change-Id: I7ae80736526043633fc3ae076c4d37e0ad84eda1
RIL: mark mInstanceId as protected

To use in RIL subclasses

Change-Id: I4ab1ea79079e3b03670b1e985f7a574df1f16658
MCC to ISO country code mapping corrected

ISO code of Democratic Republic of the Congo (MCC 630) changed from CG to CD (CD is correct for Congo - different country, MCC 629)
Added Niue (ISO: NU, MCC 555)
Added South Sudan (ISO: SS, MCC: 659)
Added Tuvalu (ISO: TV, MCC 553)

Change-Id: I3867190d1c34e8e2717eae3e393c0c647c6b2cb0
Reference: ITU E.212: http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212A-2012-PDF-E.pdf
RIL: set responseCellInfoList protected to override in sub classes

Change-Id: Ibbbee0c1a59ab2be6b71fc2f70c6279314b55d6e
UiccController: Query GET_SIM_STATUS when radio state is ON

mCi.registerForAvailable resulted in the SIM query firing off
too quickly and resulted in the SIM initially being identifed
as ABSENT.

Change-Id: Iaef6ffe1315560262e19ebacd304716982bb8174
Legacy RIL requires radio technology equals CDMA or GSM

With the latest update radio technology is set to indicate the type of network connected (GPRS, HSUPA, etc) and not just CDMA/GSM, breaking data connectivity for legacy RILs.

Will only affect RIL Versions 4 or below for now, I don't know if later versions are also affected.

Change-Id: I7062acf3299d67b3f62ce02b875e25a83c19fa62
Revert "Fix the roaming searching text display in standby screen"

This reverts commit 6d87d18add0ed7264e6a7f96b7a2c8ffbee719a5.

Change-Id: I78a6739f3895255e9d7932fa8e2f1f423b9940f7
Implement UICC TLV Data decoding.

Some phones / SIMs returns data in TLV format as decribed in ETSI TS 102 221 11.1.1
This enables parsing of TLV data if it finds one. This fixes reading of SIM_IO
data like ICCID, MSISDN, etc on affected SIMs.

In CM-12 this is needed for phone to function properly. In CM-12 Multisim support
requires ICCID. If ICCID is not found then user is unable to make any outgoing
calls. User is shown "Call not sent" error.

Change-Id: I0fe20a9ec4cdd6021e7cb614ae578bc1c2c1d1fd
Correctly provide the technology to setup data connection

This commit allows to correctly manage GSM data connection on legacy
RILs and provides a better readable method to get the technology that
will be used to setup data connection.

Change-Id: Ide4e5d193a35d6f02c5320fe8afe9a24659c97d9
Telephony : Add TRANSPORT_TYPE_COUNT_COLUMN column

Change-Id: I2ed25d2e55f114e87406be29d03eb58925b74b9e
Store correct IMSI when retreived from SIMRecords and use it for RuimRecords

Stock stores the IMSI gathered with SIMRecords and uses that value when
RuimRecords wants to get the APN/operator number.

Set System prop "ro.telephony.get_imsi_from_sim=true" to enable this function

Change-Id: I7df5d3c721afa3eeaf2f077b9f7399bd027d448b
Telephony: Allow ruim to fetch in CDMA LTE mode

... if device has LTE in NV mode.
Fixes cases where iccid could be unknown on some CDMA NV devices.

Conflicts:
	src/java/com/android/internal/telephony/uicc/IccCardProxy.java

Change-Id: Ie8e676a59e20c6da70eded511a979022667aa6fa
SubscriptionController: do not return info for invalid slot id

This causes Keyguard to crash when you switch a dual SIM phone into
single SIM mode for testing because the old data with the now-invalid
slotId is stored in the database.

Change-Id: I9d6102f94c11b808c272111230322507408b2d87
DCTracker: HACK Fix eHRPD/LTE data connection.

* UICC controller is suppose to send a event that says uicc updated
  We are experiencing a race condition when UICC is init before the
  radio start which cause the sim is not ready response from radio.
* This forces data when we have cdma voice connection.

Change-Id: Ifccafa148a703a2f9e137733d8450a3a961dca2a
Telephony: DcTracker: Fix CDMA APN Data issues.

Fix CDMA data issue when it can't find an APN match. This fixes cases
CDMA NV or RIUM/SIM doesn't have the information to pass on.
It assumes GSM like mode on CDMA. So fix that and pass on to CDMA
stubbed apn found in android 4.2.

Change-Id: I53a229de353bae34b7180ef3e7253d83d1f9d20c
Telephony: Add OperatorReplace api to framework:

this converts the operator number into carrier name, 2 API

this one load once if the number is the same through the life span of the SIM.
public static String operatorReplace(String response)

This one is for loop based sisuation, doesn't lazy load the selective-spn.xml,

public String unOptimizedOperatorReplace(String response)

Change-Id: I4273e6091df8c0e59ca86ac6d69bd8e40e9c4d44