Telephony: check if the provisioning apn is actually empty before

checking if they are equal. fixes cases where the stubbed apn
(empty) equal to the the empty provisioning apn.

Change-Id: I6ca4fd172e2ecc64ca7a2c3fbca5327be61e7b5c
GsmSS: Use data tech in isConcurrentVoiceAndDataAllowed

Voice technology is not properly supported in older RILs

When using RIL blobs, the value would be set to UNKNOWN,
resulting in data being disconnecting during call despite
being on 3G.

When using source-built RIL, the value would be set to
UMTS regardless of 2G/3G status. (At least from reading
the source.)

Change-Id: I12738abc1736165e92aa7f4530ca043cc1acc44d
GsmSST: Disregard any invalid verbose values for timezones in NITZ requests

And assume anything resulting in "GMT" is invalid, since that's the
default value returned by libcore

Change-Id: I361650400e71976d8327ee3929947ca26a9eff57
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
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
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: 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
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