Telephony: Dynamically instantiate IccCard

Instantiate when get_sim_status request returns

we need to import uicc before dual sim can be enabled...

Change-Id: Iad7ad95b614e1175eac27d2b8428238a683b05ff

Conflicts:
	telephony/java/com/android/internal/telephony/IccCard.java
	telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
	telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
	telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
Telephony: Pass IccCard object to GsmMmiCode

Change-Id: Iaa145942aa37b9754700abf0a062c199875ba78a
Telephony: Create IccCardProxy

Make IccCard an interface and pass instance of IccCardProxy to
external applications (PhoneApp). IccCardProxy will use internal UiccCard
to map Icc requests to current active application on UiccCard to
maintain backwards compatibility for external applications

Change-Id: Ieef79ad68f9223b4a03b4a4b0cb3b0d80f1d1130

Conflicts:
	telephony/java/com/android/internal/telephony/IccCard.java
	telephony/java/com/android/internal/telephony/cat/CatService.java
Telephony: Multiparty Call related fixes

1. Block multiple Call switch request to RIL

Sending a call switch request to RIL before receiving
a response for the previous request causes the lower
layers to not respond. Pending responses from RIL
block the call polling in telephony.

2.  Remove canDial check from CallManager
All dial commands may not be be new call dial requests.

Change-Id: I40eafeefa0860fd69969f0f592c54bd7861b2964
CRs-Fixed: 269330, 278014, 282061, 293727
Telephony: Remove CdmaLteUicc objects

Change-Id: I3bdb0efe2f1c496dc49129da29c0e6537ad3aac5

Conflicts:
	telephony/java/com/android/internal/telephony/RIL.java
	telephony/java/com/android/internal/telephony/cat/CatService.java
Telephony: Move uicc classes into uicc package

Reduce constructor visibility to package where
possible

Change-Id: I666b2ea96c33d94c483a4eb5e4eefb6f1951b998

Conflicts:
	telephony/java/com/android/internal/telephony/cat/CatService.java
	telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
Telephony: IP Version SystemProperty for 3gpp2

Include a means to configure the IP version of the 3gpp2
radio techs

Change-Id: I7c509a1aca12260ecc27b216394e76c8fc65e063
Telephony: Introduce DataProfile base class

DataProfile is a base class from which we derive ApnSetting
for GSM and DataProfileCdma for CDMA. This can be extended
for other classes of DataProfiles.

Change-Id: I61bddbe6e57baf44325264a7f255cf19c1119f81

Conflicts:
	telephony/java/com/android/internal/telephony/ApnContext.java
	telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
Telephony: Query for data registration state for all radio techs

Change-Id: Ia62f479cd7af773ac3e8163ecd4242cf86bf7395

Conflicts:
	telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
telephony : Support for voicemail in TP-UDH of SMS

Added support for processing special message indication
for voice mail in TP user data header for SMS
Spec reference: 3GPP TS 23.040 V6.8.1

CPHS method does not use message count.
0xff is used to indicate unknown message count for CPHS
Ref[Adapt requirement CDR-MWI-120, TC: GSM-BTR-1-4700]

Change-Id: I6a9b9603742fac1d552d4dc74ee7f2e075bce068
Telephony: Use DATA_REGISTRATION_STATE for data

Use reg state from DATA_REGISTRATION_STATE when in LTE/EHRPD
and also for CDMA. Without this fix, the radiotech in voice
reg. state would get processed for CDMA and data calls get
attempted prematurely.

Change-Id: I1509a6ffe33fc0fc87661aa5d955a61597daf10c
CRs-Fixed: 323323

Conflicts:

	telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
frameworks/base/telephony: CDMA: Handle call collision  scenarios

Handle the case when RIL sends multiple calls in the call list
due to a call collision

Change-Id: I845ed804d7501334d7f72671a6e645dd950dca6a
CRs-Fixed: 217808
Telephony: Signal Strength cleanup & LTE support

Make signal strength parsing common for all modes

Add Support to calculate LTE signal strength
level for UI signal bar display

Update the lowest of Evdo/ CDMA dbm value
in phone status instead of using only CDMA dbm

Change-Id: I41bce658c536dc30558224c8ca76d6d70afb78ee
CRs-Fixed: 349780, 326634

Conflicts:
	telephony/java/com/android/internal/telephony/RIL.java
Telephony: DataProfile priorities/arbitration

* Add flag to disable MPDN support
* Introduce priorities for different APN Types
* Create data calls in a prioritized order, tearing
  down lower priority calls if required.

Change-Id: I12d4c8bddce27477fcb244e0f873dbecf17ae116

Conflicts:
	telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
Telephony: Disable manual network selection in Global modes

For multimode targets disable manual network selection
and force automatic mode network selection
in Global and Global+LTE modes.
Global Pre-FIT Test Cases: 5.6.4, 5.6.5, 5.6.8

Display error message for network search in Cdma

Change-Id: I49bfd168e12be95b0713dbbdf0feb12a29b88cbd
CRs-Fixed: 301939, 302354, 290268
Telephony: Don't power down the SIM when Radio is turned off

IccCardProxy:
- When radio is unavailable, state is NOT_READY.
- When radio is off, if card powers down, i.e.
persist.radio.apm_sim_not_pwdn is not set, broadcast NOT_READY
instead of absent.
- if property is set then broadcast card state

UiccCard:
- Don't notify registrants of CARD_ABSENT since we don't
consider radio states before notifying
- Stop displaying 'restart' dialog when we go into airplane mode

UiccManager:
- Dispose card when radio becomes unavailable

Change-Id: I964c6cdb334cbbc154399f998c56ef4b6112e9b1
CRs-Fixed: 300064
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: I066a1e6547cfdcba91230f5fbfa8050864327c5d
Telephony: Implement parsing of CDMA Extended Display Records

-Read the byte buffer as a byte array instead of a String to prevent interpretation as UTF-8
-Modify CdmaDisplayInfoRec to handle Extended Display Info Records
-Create ExtendedDisplayItemRec class to help in parsing the record's data
-Add function asIndex() to ExtendedDisplayTag
-Make the function readItems() private
-Modify CdmaDisplayInfoRec to use a Vector instead of a Map to hold the
-ExtendedDisplayItemRecs to preserve ordering of records.

Change-Id: I138fc97dc66d37e8d5cff5f81ba328f2b6b3cd5b
CRs-Fixed: 212135
Telephony:Prevent duplicate auto mode request on EF_CSP read

Prevent duplicate auto network selection mode request
if triggered internally by Android due to
PLMN disabled in EF_CSP SIM record.
Allow mode change request if triggered by user.

Change-Id: Ib3f4d807772d33429f8e1d899a12b2684afc52a2
CRs-Fixed: 301052
telephony: Compare address when comparing cdma connections

When comparing cdma connections compare the address
even if it is a MO call.
If modem replaced the MO call with a different
call this can be identified by comparing
the address.

Change-Id: I87f232a572436e95fad766cc9766f13a836aede2
CRs-Fixed: 344745