DataConnection should not retry permanent errors.

Update DcFailCause with the "no retry" info from ril.h

Bug: 9040015
Change-Id: Ib94af9996c79800322251a45349b117e1f913269
Restart, cleanup or retry inactve connections.

Instead of retrying all inactive connections, restart radio on very bad
errors, clean those that are permanent failures and retry
the others.

Bug: 10131736
Change-Id: I2527b18d6cda52c55fb94be58fbb1a7a86818ef9
Add mEnableFailFastRefCounter.

Use a reference counter to control enabling fail fast
as there are now two entities which control failing fast:
ConnectifityService.checkProvisioningUrl and
MobileDataStateTracker.captivePortalCheckComplete.

Bug: 9462512
Change-Id: I0dea0eee519f8ee7f94e79d40e82c18f30d7fe2e
SamsungExynos3RIL: Handle UNSOL_DATA_CALL_LIST_CHANGED.

Change-Id: I0bc346b9c15a2cf10bb3f982b8bf48c71d52196a
Make EnableFailFastRefCounter a singleton.

Since there is only one DCT the mEnableFailFastRefCounter can be a
static/singleton and thus properly refcount the
CMD_SET_ENABLE_FAIL_FAST_MOBILE_DATA. There is still one problem
and that is if the PhoneApp crashes the singleton will be reinstantiated
and we'll have the same problem, but the frequency of this is small.
Also, the consequence of this is the DCT will be behaving "normally"
in that it will be attempting to do data-stall recovery although we
might like it not to it is the "normal" behavior.

Bug: 10304904
Change-Id: I4197c4236a402aa247f775e480e747620fd189bd
Add support for a provisioning apn.

When there is a provisioning apn, such as lwaactivate from AT&T it is
not necessary nor desireble to try to make network connections as
they will be no TCP ACK's to SYN messages, except for a limited set
of operator white listed addresses.

This is implemented by adding two commands CMD_IS_PRVISIONING_APN
and CMD_ENABLE_MOBILE_PROVISIONING. These are used by ConnectivityService
CheckMp and to know when we are connected to a provisioning apn and to
turn actually bring up the connection when the user needs to provision.

Also, incorporate the sEnableFailFastRefCounter change from klp to make
a singleton and remove the RuntimeException.

Bug: 10328264
Change-Id: I3925004011bb1243793c4c1b963d923dc2b00cb5
HTCQualcommRIL: correct handling of CDMA + LTE quirk.

The current handling of this quirk just forces a specific
network mode. This breaksGSM mode and network selection on
boot for devices using this flag. To correct this, get the
value from Settings.Global object and set the default value
to CDMA + LTE mode for first boot.

Change-Id: I767d25e96b9cbbdddc486ce696eb95ff14dccb89
HTCTegra3RIL: Add custom RIL for correct STK handling (1/2)

Change-Id: Ia12c85f43b5be0fe4e1cd3c3511490fd5cebe3af
Telephony: Decode SPN from RuimRecords properly

To address issues with incorrect encoding scheme programmed
in some commercial CSIM cards, the decoded SPN is checked to
have characters in printable ASCII range. If not, they are
decoded with ENCODING_GSM_7BIT_ALPHABET scheme.

Change-Id: I5ae06e0d3df5a3b5b080cc6e69a73daaff92cb10
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.v3=usevoicetechfordata to enable

Change-Id: Icfbc8739993beae1b0f024bf71374751aa200a01
Telephony: Specify file path when reading contacts from EF_ADN

Some cards, like RUIM and UICC with CSIM, have the same file ID for
multiple EFs. e.g. EF_ADN and EF_CSIM_LI. When trying to retrieve
the EF_ADN from such a card, the path gets mapped to that of
EF_CSIM_LI resulting in incorrect behavior.

To avoid this, specify the EF Id and the path to uniquely identify
EF_ADN, when reading contacts.
CRs-Fixed: 428259

Change-Id: I2dd94192d5db51b569c02ac1a46e8fcd71910a47
Telephony: Add fix related to EF_IIDF file path

As per TS 31.102 and TS 11.11, all the image related EF_IIDF's
and EF_IMG will be located at MF_SIM->DF_TELECOM->DF_GRAPHICS.

Changes made to ensure above absolute path is sent to ril for
reading all EF_IIDF(4fxx) file id's referenced in EF_IMG(4f20).

Remove hardcoded EF_IIDF file id's 4f01 thru 4f05, so that these
values do not get conflicts with other EF Id's (such as EF_ADN)

Change-Id: I8732d99cd3051fedc2b2e709df1d59203d7847d7
CRs-fixed: 477624
Telephony: Display of Operator name.

Operator name is displaying in junk characters on CDMA network
due to wrong encoding scheme.Correct the same.

Change-Id: I8c262e8731849f4c32d6a3b500dc353a7c9c163b
Telephony: Read IMSI using SIM I/O for CSIM/RUIM

Use Sim I/O command to read the EF_IMSIM to retrieve the IMSI
from the card, rather than using CommandsInterface.getIMSIForApp.
When both SIM and RUIM app exists, we cannot specify the
application for which we should retrieve the IMSI using the getIMSI
API, since SIM and RUIM have no AID.

Change-Id: I905d4a271dfba168f2bc3830b8a50733cbe17f8c
CRs-fixed: 514270
Telephony: Delay SIM IO until SIM_READY

When SIM_REFRESH with SIM_INIT is received we need to
reread EFs but only if and when app is ready.

Change-Id: Iae4b52839f64c61f962e7d9da1545656dc219266
Do not update External state until we receive card status.

When updateExternalState is called before card state is received
from RIL, unwanted ABSENT state is getting broadcasted to
external apps incase of property apm_sim_not_pwdn is  set to 1.

So do not broadcast card state to external apps until we
receive card status from RIL atlease once.

CRs-Fixed: 520485
Change-Id: I8803360dd57055ca3534b6dc7bade63ff629c730
Merge "SamsungExynos3RIL: Handle UNSOL_DATA_CALL_LIST_CHANGED." into cm-10.2
Merge "HTCQualcommRIL: correct handling of CDMA + LTE quirk." into cm-10.2
Merge "Telephony: Display of Operator name." into cm-10.2
Telephony: Remove setResultCode in a non-ordered broadcast

Change-Id: I3dcb787992d5cacd4b1e5028d82dfe87bd7c3684
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>