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
Add support for below network modes info in hidden menu

 LTE/WCDMA
 TD-SCDMA only
 TD-SCDMA and WCDMA
 TD-SCDMA and LTE
 TD-SCDMA and GSM
 TD-SCDMA,GSM and LTE
 TD-SCDMA, GSM/WCDMA
 TD-SCDMA, WCDMA and LTE
 TD-SCDMA, GSM/WCDMA and LTE
 TD-SCDMA, GSM/WCDMA, CDMA and EvDo
 TD-SCDMA, LTE, CDMA, EvDo GSM/WCDMA

Add support for other network modes in set preferred
network mode UI option in phone information in hidden menu

Change-Id: Id3fd9a27be84e85f4f32a0fd2a7eee9eec545227
CRs-Fixed: 569944
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
AppOps: Add more operations in app ops settings.

Add following operations in app ops settings.

-- Wifi enable/disable
-- Bluetooth enable/disable
-- Mobile data enable/disable

Change-Id: I32183d77b88c326168557444a445765b5a69de6f

AppOps: Add support for MMS operations.

Add support  for following MMS operations:

-- Send MMS
-- Read MMS
-- Write MMS

Change-Id: Icc823b9bcb446f962927ac0b50fbdae2f3ed3b02

AppOps: Fix appops Settings crash under Chinese

The Chinese array doesn't match the corresponding English array.
When open appops Settings under Chinese, if ops code is bigger
than array's size, there will be ArrayIndexOutOfBounds exception.

Change-Id: I2de452550317dd818b7c0fc44f3ae63acfdbed1c

AppOps: Enable App Ops under security setting.

Add support for MODE_ASK mode and enable App Ops under security settings.

Change-Id: I7405f1e8639ca04cc2d7edac144f1738d13dc59f
settings: Relocate Privacy Guard icons to framework

 * So we can use them in the permission dialog for MODE_ASK

Change-Id: Ia9bac7dff0bbe91ae48db5d4b0d8f46feb9fdf86