Update Settings DB with correct Preferred NW mode

Introduction of mButtonEnabledNetworks preference does not ensure
the correct value of preferred network mode in Settings DB. So, the
User chosen mode does not retain. Both the preference objects are
handled properly to ensure right preferred network mode in the DB.

Change-Id: I35c4b231d5e61ac3efd71dd43b3a88a9ad9586fd
CRs-Fixed: 571980
Add TD-SCDMA UI support

Add TD-SCDMA PreferredNetwork display changes.
Add network mode TD-SCDMA to the list of
supported network modes.

Change-Id: Ib5adbf37e0fd3f17b64e64bc5b8a9d32e129af70
CRs-Fixed: 479310
Add confirm button in PUK2 requested dialog

While changing PIN2, when the SIM gets locked after
maximum retries, "PUK2 requested" dialog appears.
This dialog does not have a confirm option.

Add a confirm button in this dialog.

Change-Id: I7c47ec800d8b2f35aafe09334a77f06d72460657
CRs-Fixed: 556584
In change pin2 dialog, display enter puk2 if pin2 is blocked

The user is prompted to change the pin2 if the pin2 gets
blocked while editing a FDN contact. In this scenario, in the
current behavior when the user tries to change the pin2,
a prompt to enter the old pin2 is displayed; whereas, the
correct behavior is to prompt the user to enter puk2 code if
the pin2 is blocked.

When the FdnSetting UI is created, query the uicc card app for
the status of pin2. If the pin2 is blocked, reset the state of
the change pin2 dialog solely for puk2 use.

Change-Id: I8fca6be35ae2e8490ce36874afeef20537f57893
CRs-Fixed: 678940
Enable Apn editor for cdma

With the apn editor disabled for cdma, users cannot
add/edit apn's for cdma.

Add changes to enable apn editor for cdma.

Change-Id: I0e91727e21ebd9e5f4aed02a8393dd3e3e422c9e
CRs-Fixed: 570007
Call cleanOtaScreen when otasp call is disconnected.

Call cleanOtaScreen to clear the OTA screen. Current
functionality does not clear ota screen when otasp
call is disconnected.

Change-Id: I5e6c19728fd18191de3ba65ce358e852dd7d9d57
CRs-Fixed: 599388
Add ME Depersonalization support.

Add support for all ME De-Personalizations as per specs
3GPP2 C.S0068-0 and 3GPP TS 22.022.

Change-Id: I70272a596a4ed6c7cf526ea7e944facebb7ce41d
CRs-Fixed: 467276
Avoid multiple PERSO_LOCKED notifications.

Do not register for PERSO_LOCKED notification on RAT Change.
PERSO_LOCKED is dependent on IccCard and not on Phone type so no
need to re-register again on RAT Change.

Avoid multiple PERSO_LOCKED notifications and hence avoid
multiple perso lock screens on UI.

Change-Id: I88093c6a0eb0e1ebd762bc0838f6d2d0246cfee4
CRs-Fixed: 576034
MSIM: Multisim Emergency call support

Add logic to pick best possible phone for placing
emergency voice call.

Change-Id: Ic08f81693f627d3da4adb0cc8f276d002132f34f
CRs-Fixed: 714237
Conflicts:
src/com/android/services/telephony/TelephonyConnectionService.java
Display the radio tech in manually PLMN search results

Display 2G/3G/4G suffix in the operator list to distinguish
different networks of the same operator.

CRs-Fixed: 522564
Change-Id: I007d1abcfba1532e94de712af9d76bf5099c193f
STK Call Control feature implementation.

Support to display the exact call failure reason
for STK cc.

Change-Id: I7b0678b8bd566593270d0d9b3459400a8fd08803
MSim: Add support to enable/disable mobile data

Extending mobile data api's per subscription

Change-Id: Ie585307c975c8c12a5b490e68b879046832b6132
IMS: Deflect call feature

Code changes to support IMS Deflect call feature.

Change-Id: I2e41455f101582fe743965a1fd5854fdb5ab18d6
CRs-Fixed: 713856
IMS: Dial API Modification to Support OEM Call Extras

Adding framework support to allow OEMs to send
extra information with the Dial Intent all the
way to the IMS service layer and beyond.

Change-Id: I823902de0c3c154f31d47649386f842a69335028
Fix apn population issue on msim

On multisim device, apns of DDS subscription
are getting displayed on both subs. This is
because of missing sub id value in the intent
broadcasted to start ApnSettings.
Pass subscription info along with the intent
in GsmUmtsOptions

Change-Id: I4fe13455f1d456bc10ea1254e0e3cc2fc47105a2
CRs-Fixed: 725081
Indicate PIN2 blocked on the third wrong PIN2 attempt.

EditFdnContactScreen's provider sends 0/1 to EditFdnContactScreen to
indicate failure/success of FDN contact's update operation.
If the update operation fails, UiccCardApplication is queried to
check if the PIN2 is blocked. This requires the UiccCardApplication to
be updated before the fdn contact screen can query it for the status
of the pin2. But if it happens otherwise, the fdn contact screen does
not recieve the correct  pin2 status and as a result an incorrect message
is displayed to the user.

Add a delay before posting the fdn contact's insert and update
operation result to the user. Therefore, the UiccCardApplication will
be queried for the pin2 status after the delay.

Change-Id: I1a2a2335c4d8074a102c79d45af0f2a71e09d780
CRs-Fixed: 549042
Add support for icc operator numeric

Change-Id: Ib34aaba6848929bdfad6c84389a48c3c4ff6ec7d
CRs-Fixed: 727780
MSIM: multisim ECall related changes

- Add support to update the phone account handle to Telecomm,
  this helps to update the proper subId info on InCallUI.
- get the defaut phoneId from ModemStackCOntroller for ECall.

Change-Id: Id7463c1b83efd3855986d7efb9a27098780aac60
CRs-Fixed: 722205
Ims: Send user selected TTY mode to lower layers.

Irrespective of whether TTY device is connected or not
send TTY mode setting to modem whenever user changes it
from settings.

CRs-Fixed: 698661

Conflicts:
src/com/android/services/telephony/TtyManager.java
Change-Id: Ib5a3708125ea5b4e1232eed2c441d2bdb79eb921
Add Support to get phone object and cell info API

Add support to get phone object based on phoneId.
Add support to get cell info based on subId.

--> Send radio power reuest on all available phone objects.

Conflicts:
src/com/android/phone/PhoneGlobals.java
Change-Id: If94c67b904e5b3be438257c7fb2397a265b49624