telephony: SignalStrengh: Don't calculate a LTE snr if the srq is invalid

If the previous values are invalid and signal quality is -1, chances are there's
no LTE signal at all, so don't calculate the SNR and mark it invalid as well.

This fixes the strength indicator in GSM devices where it was being skewed
by the ghost LTE value

Change-Id: I070573401c141aa99941a332ee256246697abb90
Telephony: Add getLteOnGsmMode() method (1/2)

Same functionality as the existing getLteOnCdmaMode, but for GSM
LTE devices.
Enable with the telephony.lteOnGsmDevice system property

From CM 10.0: Ibfb47ca608e51393b99d3308e0a6c66050b3f32e
- Moved getLteOnGsmModeStatic() to TelephonyManager.
add bools to overlay for Samsung CDMA SMS decoding hacks

ported from CM7/9/10

required by : http://review.cyanogenmod.org/#/c/26918/

Change-Id: I28093cdb8770f98b94cedbff63e6121c798cf9af

Conflicts:
	core/res/res/values/config.xml

Conflicts:
	core/res/res/values/symbols.xml
Samsung STK support

Change-Id: I08d169bc466df290fca838b09f6b0fbea2ac82a8

Conflicts:
	telephony/java/com/android/internal/telephony/RILConstants.java

Conflicts:
	core/res/res/values/config.xml
core and telephony: Additional HSPAP support

Change-Id: I5e921d2308d873678d6ef67a91cff50d383a176b
CDMA RIL: add SVDO support (1/2)

based on Richard Ross's commit

Change-Id: I313edd3c52d1d0b397ca519757470b87882424d7
Framework: Fix GSM signal strength

Certain OEM gsm ril libs send back a bogus value for LTE signal
that causes SignalStrength.java to default to LTE and report
incorrect signal values.
Use prop value ro.telephony.ril.v3=signalstrength to get proper
GSM signal reading on certain devices.

Change-Id: Ibb23d7b3a2d21001ccbbc6ebfbdc3c5248f18cfc
Signed-off-by: dhacker29 <davidhackerdvm@gmail.com>

Conflicts:
	telephony/java/android/telephony/SignalStrength.java
telephony: hide needsOldRilFeature

Change-Id: I741b510fdacc166ad40741bf2e9db5c8a1039384
TelephonyProperties: Alpha ID fix for OPEN_CHANNEL and other p-commands (1/2)

p-cmds that support the below mentioned scenarios:
- SETUP CALL
- OPEN CHANNEL
- SEND DTMF
- SEND SMS
- SEND SS
- SEND USSD
- LAUNCH BROWSER
- PLAY TONE
- SELECT ITEM

Senarios handled :
- NO ALPHA ID : Introduce a new configurable sys prop
  "persist.atel.noalpha.usrcnf".
   --  Allow display of default UI confirmation if prop is set to true
   --  No UI confirmation to be show if prop is set to false
- NULL ALPHA ID (len = 0 ) :
   -- NO UI confirmation to be displayed

Cherry-picked from CAF commit 5ea0d64186ca08abc0857aae1f83de969393be3b
Without this SimToolkit will pop up asking for user response instead
of recieveing response from framework.

Change-Id: I012707285ee3a93119c2e2956ec599d631db10d5
Signed-off-by: dhacker29 <davidhackerdvm@gmail.com>

Conflicts:

	telephony/java/com/android/internal/telephony/TelephonyProperties.java
Grant qcom_oncrpc group to system_server

 * Needed for RPC-based QC GPS

Change-Id: Idebc5f6f8e7f8c136d931d7638338d3611895d8a

Conflicts:
	core/java/com/android/internal/os/ZygoteInit.java
ServiceState: add support for DCHSPAP

Change-Id: Ib0a328652c14580718400b00146b770481be5458
am: Allow more hidden apps on devices with lots of RAM

 * If more than 1.5GB is present, allow up to 40 hidden apps.
 * Number is somewhat arbitrary, but was found to work well on D2.
 * Also look at the sys.mem.max_hidden_apps value if given.

Change-Id: I2d3cf6e0dad1bc0b482cc37bf9c61ed2f2b4be51
Remove unnecessary updateSurfaceScreenOn call.

This change stops updateSurfaceScreenOn() from being called one time
right after another. It's called at the end of stayAwake(boolean awake),
which is called right before updateSurfaceScreenOn() in release().
camera: Add support for sending raw commands

 * Certain camera drivers need magic commands to select special modes
   such as ZSL or HDR. Add support for sending raw commands from
   applications.

Change-Id: I512a765c7a67ffd2877e465cf6493ffc2b3b54ac
New Event: ACTION_NEW_OUTGOING_SMS

Change-Id: I8be01ad6251ca25e4d00ebffd876bb6ce7f3c283
Signal strength: add more checks to signal strength,

so it doesn't fall under the range of poor signal and automatically
assumes a gsm signal, actually checks if all values are true and not
valid then pass it on to lte or gsm. This fixes cases when gsm signal
is not valid and lte is active. When lte is active and shows a really
weak and gsm signal is not avalible due some broken vendor ril or
just running cdma lte and a few others senario creates this issue.

Change-Id: If9c5dc1a969605cd1eeb9218de02a9f8dbbd3ae1
Add support for Samsung extended AGPS

The AGPS implementation in the GPS chipset used in some Samsung devices
(i9100, i9300) can make use of the Psc field. Adapt the relevant
functions hiding the changes incompatible with other devices under the
AGPS_USE_PSC #define.

Credit to Qaweck from xda-developers forum for finding the meaning
of the field.

Change-Id: Ie4691c79ca379a1f5c0a87500c1b06b56ae7ac0d
Telephony: fix typo

Change-Id: Ic13235744fca561cff4d49ae5c799420c30a3840
Telephony: Introduce config item for Hot Swap support

When a Uicc Card is inserted or removed, Android pops up a prompt
to the user to reboot the device. This prompt is unnecessary if the
modem supports Hot Swapping of cards.

Introduce a new config item to indicate if the modem supports
hotswapping. Frameworks can then check this before propmting the
user.

Change-Id: I0f2c3134525aa2301fd667d0a1819f4419eecae0
Enable SVDO. (2/2)

Allow evdo/ehrpd + voice simutaneously.
Use ro.ril.svdo=true
Change-Id: Ifcefd1ee49c5137209b776b00ae8e189dc618247