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

PS 8: Use Google design pattern (ish), get rid of the static methods and
varables.

PS 11: fully use google design pattern.

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

Change-Id: I7df5d3c721afa3eeaf2f077b9f7399bd027d448b
ModemPolicy: fix NPE

Change-Id: If20dbc36a655d491747b11d1fb54527c84bcfc20
Add SMS Middleware layer.

Change-Id: If5621d0c5126d6917ab00143af645692f3c4a384
Fix Whisperpush and Voice+ when using the new Hangouts.

Change-Id: I1ae96354e8d5679d1e7b781875081cec08108691
MSIM: Fix subscription fallback issue

Do not update voice/data/sms preferences when radio
is OFF or not available.

Change-Id: Ic458eaad14756c92f58fb2dd74d41e49d03ddc06
CRs-Fixed: 755494
Fix for correct subscription in Cell Broadcast message

Issue: When CB message sent over SUB2, it displays as SUB1 in UI
Fix: Update the subscription ID as per CB message in Parcel

Change-Id: Iff4f2f52c95dbf557b953d8579c70e5c404ca7af
CRs-Fixed: 625204
IMS-VT: Do not allow changing the TTY mode during a Video call

When the device is already in a video call, the user SHOULD NOT
be allowed to change the TTY mode. If the user tries to change,
then an UI alert message will be displayed explaining it cannot
be changed during video calls.

Change-Id: Id7fdeb7d90fbbdf94a6418eb58fd4bf00a5c241c
CRs-Fixed: 734258
Fix bug in CDMA phantom call handling.

Update the unknown connection object when a phantom call
is received during polling.

Change-Id: Idd1a9e25baec1ea460776338f465b32572196dc8
CRs-Fixed: 703983
IMS-VT: Peer capabilities

-Add support for peer capabilities

Change-Id: I44177dd6804b69a7b790021502eda0eb3bea3cab
Correct handling of modem capability query failure.

If modem capability query is not supported, getMaxDataAllowed
API causes null pointer exception. Fix the null pointer access.

Change-Id: I96a8c12fd171ffc5682eed949b2ce15ae130fcc0
Check the unsupported type's uri to avoid NullPointerException

Forwarding an unsupported type of mms may have an
unexpected Uri, such as missing authority part.
Make sure the uri has an authority before using it.

Change-Id: I33417d0566ad5ff93e2c52ddb6aa107641c7d5ba
CRs-Fixed: 583527
MSIM: Fix for getSimOperatorName() returning empty string

Set the property for MSIM as well.

Change-Id: Ic9294c41bb486277e5ceb503e1bdc1dd70b24aa5
CRs-Fixed: 628015
Telephony: Release on-demand dds request upon dct dispose.

- During 3GPP to 3GPP2 and vice-versa RAT transition DCT may
be disposed by respective phone objects.
- Release all the current dds requests since the messenger between
connectivityService and DCT would get disconnected and both would get
out of sync with respect to DDS requests. ConnectivityService resets
score from corresponding telephonyNetworkFactory and likewise DCT should
also release all the requests.

Change-Id: I26459bb6db3c9d92f706b0e43f3702278099d079
Fix mms pdp activation issue

RefCount on apncontext will be decremented even though
it is not set if there is a release request while doing
PS attach on a sub. With negative refCount value, the
next pdp activation on same apncontext will be ignored.

Change-Id: If01d182f5072140be842add13784d7d51078687a
MSIM: Do not triger DDS after flex map

If "Switch DDS to Primary sub(FR 20891)" feature enabled,
Telephony application(PrimarySubSetting.java) will take
care of sending DDS request on multi mode sub so do not
send DDS request from framework layer.

Change-Id: I577a8e853c539da859a3231236308b0c3fb25ccf
CSVT: Introduce Circuit-Switch Video Telephony.

Introduce CSVT Service which provides necessary API
for Circuit-Switch Video Telephony.

Change-Id: Ic7337939f2c7e42a47840d8f9673a9f303584707

CSVT: Add an interface to check active CSVT calls.

CSVT clients need to check if there is an active CSVT call.
Add an interface to query CSVT service if it contains an active
CSVT call.

Change-Id: Icb1d4c88009daced629070b91da0400653da4dd4
(cherry picked from commit c9c5ed960a6527ec4e0bc9962fc2096a5c307746)
(cherry picked from commit aa7acf036f9474a4254edbac4b86c02afeeaac4a)
(cherry picked from commit e230f56ad9c5397d017d7f75c24ddda07e44211d)