Telephony: Add support for NETWORK_TYPE_GSM

Add support for NETWORK_TYPE_GSM in TelephonyManager and
corresponding mapping in ServicState.java so that when
application queries getVoiceNetworkType() and currently
camped rat is GSM, they get network mode as GSM instead
of network mode unknown.

Change-Id: I5e971c625532696776b9555ad8cfd85eba4fc423
CRs-Fixed: 526435
(cherry picked from commit 3e01fcec13725955f0ca3fb20730ff21f4edc128)
(cherry picked from commit c70f5687965908cd585e52901cf6cd88bd405140)
(cherry picked from commit 8e3c2300729ecb3cd3e6b640b0174f49e2189f0c)
Telephony: Add Managed Roaming Intent.

Introduce new intent with name ACTION_MANAGED_ROAMING_IND.
This intent is used to inform "location reject" status
information to applications.

Change-Id: I79c7ea2e647617e58526b5b550406214455a58aa
(cherry picked from commit 53f8c89c8c80fe6145828fce863d3e2dd44d3e53)
(cherry picked from commit 4d8c1003c621ca05473e8d5b0a1cfbdd81f9b66e)
(cherry picked from commit f266505d3431d4015adf72f63c6568ee4320bb9c)
Telephony: Initialize GsmCellLocation class members properly

Default values for class members mLac, mCid, mPsc would be 0.
Initialize these variables with -1 as 0 is considered as valid
value.

Change-Id: I08dc4031bb16293e80e5b7f51afcb8dc11747d3b
CRs-Fixed: 406479
(cherry picked from commit 416e0a2b6983af94245d8aa92d3aa0b1e0ce79aa)
(cherry picked from commit b25e0849cc2449fc95c3091a4599d4f72d2a436b)
(cherry picked from commit 5e48706429f229c8dd54f31a1e19a9a76618f591)
Telephony: Avoid Infinite loop problem in Tethering

1. Whenever data is enabled we will try to establish the tethered
call (USB tethering enabled case) for 5 fixed number of retries.
After reaching maximum number of retries we are turning off the
upstream connection. whenever the CONNECTIVTY_ACTION received
(because of USB cable disconnected and then connected case or
some changes), it can try to bring up the dun/hipri PDP again.

2. There is no retry in case of data disabled case.

Change-Id: I16af4d2983a8bf9ce0ce904877f86169bca549b4
CRs-Fixed: 401829
(cherry picked from commit 4c923c8537fdc49ef491b964adc1871c77bfd730)
(cherry picked from commit 3135e6a89ac14008df04fe6e068bd8dd95b4ee40)
(cherry picked from commit 137b7004f716a559c7249be20e25544fe10330b6)
Telephony: Do not send Radio Power Off on SIM_RESET

Changes made to not to send radio power off during refresh app
reset.

Change-Id: I83b7063a86ce9b380c7aeb0c140a4967d205d93b
CRs-Fixed: 441924
(cherry picked from commit 41b19b200620229deda8385478499d2cf5b794d5)
(cherry picked from commit 9b13254fe3d25ed8ba222713b95027a0930dc324)
(cherry picked from commit 601891892d9a5851ffedd64c186055406ddb4ca1)
Telephony: Add functionality to handle ICC IO error

At present in Android all ICC Card states other than
ICC PRESENT are treated as ICC ABSENT.Adding functionality
to handle ICC IO error card state.

Change-Id: I229bd80cb5e487f4345bef9fb7fee60850f085d9
CRs-Fixed: 184479
(cherry picked from commit 5f414649d354f5b5f3208524e9827d488d183c76)
(cherry picked from commit fa5fb0852573189c107847da711ed61489cf92b5)
(cherry picked from commit 49e48d07a9cb7660d65ee3de30cf6e9f05bbc0ec)
Telephony: Add new apn.sim.operator_numeric property

Use new property to filter apns. We need this new property
because icc.operator_numeric property is also used in cdma
and ApnSetting UI might display wrong set of apns if the
peroperty value used was set by RuimRecords
CRs-Fixed: 362846

Change-Id: I3831a703a2fdc69df8552af57e0bb981d0c7e46f
(cherry picked from commit ec7c7b24a19a1a3c323aec9e0acc719bf85022ff)
(cherry picked from commit 6cc218bb1c2f0149c301c1ab07f57f67ccb424c8)
(cherry picked from commit e619c7e9e5cb7db48740d73c23d8cf90b25d5ff1)
Telephony: SMS over IMS

Add RIL_REQUEST_IMS_REGISTRATION_STATE, RIL_REQUEST_IMS_SEND_SMS, and
RIL_UNSOL_RESPONSE_IMS_NETWORK_STATE_CHANGED.  Add FORMAT_UNKNOWN to
SmsConstants.

Change-Id: I87ca9841b4ace931c55e2d379fe6d7589b2dc8a5
(cherry picked from commit 876c2cdbcfb2650c30da158ecccf2d1eeaa7a916)
(cherry picked from commit f0cf40d0aa80b01607c394cc613a9ca708e4affe)
(cherry picked from commit 8ed4a4e1f2a0b9e86ddae0f5813bce41c6e312f8)
Telephony: Screen status support for USAT phase 2

This fix has change to support Idle screen status information.
broadcast CAT_IDLE_SCREEN_ACTION Intent when ICC has requested
to be notified of Idle screen status

Change-Id: Iff8565d0eef8e5de266353b8ba6c64207ab918ed
CRs-Fixed: 432647 454835
(cherry picked from commit f4f04707b78e3bf75ec58b39766e71014c87346b)
(cherry picked from commit 5a1547e4b160c0621916b566e106773032d5f0b0)
(cherry picked from commit 1686f8276447801e0cd87ae0bbc2b71854d0f93d)
audio: add support for MSM audio formats

- Add support for EVRC, QCELP, and WMA formats
- Add definition for 5.1 channel recording
- Reference change If3676b88fa287b484ef8616c0a6b67177b61a720

Change-Id: I6b6e5ca98921adeadd2a3d76580fe85fb28eeaf0
(cherry picked from commit 10c4f204bb5ac78b9cf3854b536663ccd3d50333)
(cherry picked from commit 3f99cc5f134b0f00a52218ae1c0273cc11ae7702)
(cherry picked from commit 1d35b52c7c9cf1cfd3a3de372391a7a57f593af9)
Telephony: Add TD-SCDMA network modes

1)TD-SCDMA Signal Strength support.
2)Add TD-SCDMA network type support in MobileDataStateTracker class
to identify TD-SCDMA as UMTS variant and use the relevant
kernel data stack tcp buffer sizes defined.
3) Add TD-SCDMA to the list of supported network modes.

Change-Id: I158821574484bfaf47d1660406e591e2afb3be5e
CRs-Fixed: 403258, 479310
(cherry picked from commit 2ba1b7292c6b458fb72587c1f29a5c00b70717cd)
(cherry picked from commit d58b065e7e3d84461a3c981e7a7d4673f3567ef5)
(cherry picked from commit 7844d69d3d323b3969766309c2ad5bc80411fbae)
server: start cne service

Connectivity Engine (CnE) provides advanced network selection per socket,
reduced signalling traffic, and increased power savings.
The service implements the interface defined by CNEManager which Android
applications may use.

Change-Id: I9ffd1f5d60f5e9e185ab482a35b3b07f29a4124c
(cherry picked from commit 3a4e3ba1bc67c460ec3c2fd4ef169ae25e3e69b1)
(cherry picked from commit 1bb0036652318ac8bbecf3e6c810bbc779387c61)
(cherry picked from commit 3c8af4a2546d9b71d113072d680107cb56651e71)
(cherry picked from commit 861a4b062196020bf24a5b3731c717b5b95a7d77)
(cherry picked from commit e3dba9799892f13c5bc2376b81cf5dceae17492c)
ActivityTrigger:  New class to invoke when activity starts/resumes

Change-Id: I46fa419e7b97953ba5581ee03127f0e3f93e48f0
(cherry picked from commit 71a57d30370584488a246a904750e7bdad5ba9a0)
(cherry picked from commit 5d2abff8e4d399e6bd320ea11bf672ad3b3be980)
(cherry picked from commit ffd89bcf976985acf0392c0dd667f8b5241d77ac)
frameworks/base: update perflock path name in Activity Trigger

Update the perflock path name and add
backup path for backward compatibility

Change-Id: I3d2c6f6fe1b3c63ec02827d06d5af667266db8d5
(cherry picked from commit 4db57e5021c4091352f40f6e4399b0b929f63151)
(cherry picked from commit b9fc7b99697a1b2f891dc642ff27c8a4194ca79d)
(cherry picked from commit 5910b639f0dea078049e31718e00bede2eb2ec00)
audio: Define Proxy device

- Added Proxy device changes

Change-Id: I47921d696171de40bcfc30ebf99d4cafa0d4d4a3
(cherry picked from commit a8b7ed78ec088bc6924854661bacde51d7194ab3)
(cherry picked from commit cff61cfd964a1150919d9bfa7ec0ebfe35d5f247)
(cherry picked from commit bf8f7a2a574cb2e6aafae3efa6e4ee163ef65cf7)
Telephony: Few PIN/PUK fixes

Following changes have been made as part of this:
-> Changes done to display retry counter on wrong entry of
   PIN1,and message to indicate Code accepted/PIN1 blocked
   during PIN1 verification as per certain carrier requirements.
-> The current APIs that are used to verify the PIN and PUK only
   convey whether the operation succeeded or failed. As a result
   on ANY failure clients ask the user to re-enter the PIN.
   Add 2 new APIs that report the actual error code in case of
   failure.
-> Display the complete text including attempts remaining to
   unlock PIN on SimUnlockScreen if user entered incorrect PIN.
   On some devices the display text is ellipsized when trying to
   display on a single line.

Change-Id: I73718c9e6a8aa7244097e0dd4593a6226ff0ac08
CRs-Fixed: 184479, 260481, 181402, 181380, 181401, 326286, 441001,
479414, 479417
(cherry picked from commit 1cfe4cb95d29b792e40c6a89cf2fdb1a0b8371e7)
(cherry picked from commit a50adebc939f1ff6cb9633ba116f4e7d1ffe60e3)
(cherry picked from commit e29e99706ad4e8ddc06f157a9a56e5dcaf0e49e7)
telephony: IMS changes for VoLTE and VT

- Add IMS phone type constant
- Add system property persist.radio.calls.on.ims.
  It is set to true if VoLTE/VT calls are supported,
  false otherwise

Change-Id: I1296184fd70ea6da2adabdc35ad1d2fb25cdfc70
(cherry picked from commit b6b39f1792231aa435af56b16a5a5c53a50a3845)
(cherry picked from commit 69ac4a60fb230442c718dae44ccf44d2e5d41b7d)
(cherry picked from commit 2748954064ea4aef5b047668534d9332bd671e01)
performance: Add Performance class and PerfLock API.

New Performance class with PerfLock APIs to allow
system level performance optimizations to be toggled.

Change-Id: Ibc7eaeb3c2b94abca1125786f73ea97201e41830
(cherry picked from commit cb487966a6641ca54a1bfeb216a9343901d27783)
(cherry picked from commit a329d76836574ab12af9d84c5993cc62c0334dd6)
(cherry picked from commit c50f5ec76f81e1cce76b1c8a5264c1506fe1c773)
performance: Add concurrency and timer support to PerfLock.

Add timer and concurrency support to PerfLock APIs.
Update optimization codes.
Removed cpuBoost API.
Add setCpuBoost API.

Change-Id: Id81695153c7ba2d76c4fc8c95e2b1bead65c90e2
(cherry picked from commit 56075d7c45cf303f69029f5ebac0af325b6f5d60)
(cherry picked from commit 92b8200f692d4a533c61a02ba419a2d1de0c7f6d)
(cherry picked from commit fe5090b53f1e2d07e25cf536dee1ec07d18868eb)
performance: Add opcodes to limit maximum number of cores

Add opcodes to support the limiting of maximum
number of cores online.

Change-Id: I9c3c33ff0331260d1a2da65568264ccad6d4b7fd
(cherry picked from commit 66b903ae5dab6fa2a82b0a0f18dd6eddbe67bbfe)
(cherry picked from commit c7ba25f528e653f82274686c5c09931759a65f74)
(cherry picked from commit 269ad38159eae5547dc7aeca3c6ede146f9a5abd)