Multisim: Add support for MSIM

Add Multi SIM Settings screen in UI which is used to select
Voice, SMS, Data preferences.
Extend APN Settings, Security Settings, Wireless Settings
for MSIM.

Subscription specific for Mobile data, roaming and usage
 - Provide per subscription based support for both Mobile Data
   and Data roaming options. UI and functionality changes in:
   a. Settings -> Data Usage application
   b. Settings -> Mobile Networks menu
 - Provide per subscription based data usage information. UI and
   functionality changes in Settings -> Data Usage application.

Add prompt support for SMS
 - Add prompt option in SMS multi sim settings.
 - New iterface API to get SMS prompt is enabled or not.
 - Disply prompt while sending SMS, if user selects
   prompt mode in multi sim settings

Extend CB "Operator info" feature to MSIM.
 - Add SUB information while broadcasting CB intent for MSIM.
 - Remove country specific checks for cellbroadcast Operator
   info for MSIM.
 - Move Operator info to About phone->Status->SelectSubscription
   ->SUB1/SUB2->Operator info in MSIM

Change-Id: I84abe80f20de2415ff819c7250ef0a0799662b52
(cherry picked from commit ccfd14b8a86c78c6a179a70be1357131b80d4823)
(cherry picked from commit 794b5787304bed493bbde3e9c9010a4b82824641)
Settings(MSIM): Add TuneAway and PrioritySub to MultiSimSettings

1. Add support for TuneAway and PrioritySub UI options in
MultiSimSettings
2. Add setDefaultVoiceSub, setTuneAway and setPrioritySub
OEM HOOK requests in OSS space

Change-Id: I3b1bc4ed98b3ed7b280938878ba9d7bdb244fcf9
CRs-fixed: 464483
Settings: Show Service State status in Phone Status properly

When the network mode is data only mode, the voice service state
would be OOS. In such cases, data service state is not checked to
show the phone status UI. Fix to consider data service state also to
update the UI properly.

Change-Id: I20fb6ea3256d0fe4a534fbb781e664d7ce774a05
CRs-Fixed: 517234
MSIM : Enhance UI when no SIM / single SIM is present

As part of this change, the following UI enhancements are done:
1)"SIM card info not available.Menu cannot be accessed" will be
displayed to user on accessing the multiSIM menu when
no SIM card is inserted
2)If a single SIM is inserted, only Configure
subscriptions menu inside Multi SIM setting will be accessible
to the user.The remaining options will be grayed out
3)If multiple SIM cards are inserted, all options inside
Multi SIM setting will be accessible

In case of airplane mode, based on the availability of
SIM card info the UI specified above is displayed

Change-Id: Id41f3b3260ed72dbf43413d49da9b9e5019aef69
CRs-Fixed: 554727
Settings: Tune Away option is not retained on UI.

The Tune away status setting is not written to the settings
database. Writing the value to Settings database through
MSimPhoneFactory in telephony framework.

Change-Id: Ieb27c6e421d37308e0d97e26dbd8db52281d966d
CRs-Fixed: 533245
Settings: Removal of DSDS menu in SSSS mode

Add new intent filter
"codeaurora.intent.filter.settings.multisim.SHORTCUT"
to de-couple MSIM setting menu in non-DSDS mode.

Change-Id: Ie7df65570095fd570ab48736072b03ac5b1b0027
CRs-fixed: 539932
Add initial preferred APN feature

In multi-sim scenarios, each sim will have its own preferred APN
setting. When ApnSettings sets/reads the preferred Apn, SUB id will
be passed to TelephonyProvider.  TelephonyProvider will update/return
the value of the key 'apn-id0' or 'apn-id1' based on the given SUB id.

Change-Id: Ifbbb49f2b38a5c6cff56785313a80a34479ea08f
Telephony: Disable PIN Toggle option if SIM is in Locked state.

When user presses cancel in PIN lock screen, card will be in
LOCKED state and hence cannot access SIM for any transactions.

So Disable PIN Toggle option in Locked State.

Change-Id: Id569c9976c6fb9a3b2490577c80348cf2f2489ab
CRs-Fixed: 576782
Telephony (MSIM): Retain the pref selection when set voice sub fails.

When set voice subscription fails due to sub not activated, the
preference selection is not reset until the Activity is resumed.
Return false for onPreferenceChange() so that UI is reset back to
original value.
Similar fix done for set priority subscription and set sms
subscriptions also.

Change-Id: Ia12a88db87ff442713785b4501e227f37ee10c95
CRs-Fixed: 577949
Unbreak the APN editor

Change-Id: I4f0b27628539473381fb28b6d60dd5eacd8e1fd4
Fix some string derps

Change-Id: I8db77888c253561c5da4f1817a57a1a8ea62d205
Settings: Mirroring layout on RTL languages [2/2]

changed the strings for RTL languages (Hebrew and Arabic).
Now the meaning is that the layout is forced for LTR layout instead of not changing.

Change-Id: Ibfc7e8411370049b412e64284022c6b5fda7cc55
Settings: Cleanup CAF additions

Change-Id: I8e44eb28abb8c4d08ea453b7c4f3b21d75c00035
Settings: Fix value from being overwritten with null.

After awhile this value becomes null for unknown reasons.
Switch back to a non-changing static final for the non-multi-sim case.

Change-Id: I9248a545ed35ec10048781b21a3e6a6b17e96d74
settings: Put MSIM files in the right place

Change-Id: I1e989d710510aff257f5ae3f6f402bb993b8da72
Settings: use CMHW serial number for MSim

Change-Id: I2cb7f841699d79259711309fb6fd2de00bc8da75
Fix the APN editor fix

The APN creator puts its data in a Bundle, not an Intent. Get the
operator identification argument from the right place to avoid
attempts at creating networkless APNs

Change-Id: I42b6e00fffdeea4ea538d55687cdbb4d2d548127
Don't hide baseband on dual sim devices

Change-Id: I03a531969e733bf9d8f259c0c473d1bae53b7bc1
Look for the msim settings in the new location deviceinfo/msim

Change-Id: I4e81b9c895b11e0a851ad81601271888dfd4f855
Settings: Cleanup CAF array

* I forgot this file in my previous commit

Change-Id: I0ce9303ec4e67df328fbb07c8f18f5e002ac8ea6