improve a calculation method for LTE antenna reception level

This proposal will fix a problem that Android devices could
show different levels of antenna bars under the same radio
environment if each device uses different modem.
This behavior makes confusion toward users and others.

That behavior comes from using RSSNR as a metric for
determining antenna bars. Unfortunately, RSSNR does NOT define
performance requirements and error tolerance level in 3GPP.
Therefore, accuracy of RSSNR measurement could be inconsistent
among Android devices or modems.

The patch we would like to contribute here will be offering
Android device to use RSRQ for antenna bar metric instead of RSSNR.

1.)RSRQ, like RSSNR, takes interference into account
   when measuring the radio quality.
   Android already supports measurement of RSRQ.

2.)The performance requirement for RSRQ is already defined in 3GPP.

3.)DOCOMO and other many mobile operators use RSRP and RSRQ
   when designing LTE coverage areas, and alignment here will
   be very beneficial for both users and operators.

Hope this patch helps to improve Android antenna bar accuracy and consistency today.

Change-Id: Id1c3339764294ef51365ab133a1c7b42e14e1800
Signed-off-by: Kensuke Ueda <uedake@nttdocomo.co.jp>
Framework: Quiet Hours Extra Daily Times (1/2)

Change-Id: I38301d53b57f6b0525edd2a7e13a2bd5022e7a65
merge changes from Slim kk4.4 into local branch

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

Change-Id: Id8876adb8ee53e5fbb78e59afc7f3a198cec4952
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)
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: Ifbc1c65aa62fe62752a03bb5b76c8a23962d0c91
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)
Telephony: Ignore the timingAdvance field in SignalStrength

Ignore the timingAdvance field since the frameworks is not
utilizing this field.

Change-Id: I8644f20aa1918514da88db5a8bc7394263d61e30
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: Ifbc1c65aa62fe62752a03bb5b76c8a23962d0c91
Use a content observer for getting the default APN

Instead of executing a query of the database for the
default APN on every network state change, an observer
is used on the database to be notifited when the apn
has changed. This prevents unneccesary queries on the
the database.

CRs-fixed: 662137

Change-Id: I3155bd8b53a1877413ed54a861df1bfb1853b9e4
Missing break in switch statement

Change-Id: I462c0c5fec96a850032266b04419ec409ad02174
Prevent Showing the Crash Dialog for System UI

After system ui crashes, the crash dialog can prevent the keyguard from
showing if the screen was shut off before the dialog was dismissed. The
user can't recover from this without waiting for the dialog to time out
which takes several minutes.

Not showing the dialog for system ui is a safe way of preventing this
from occuring.

Change-Id: Iac235f3af244f735ef0e043098ed84874e3a84f9
Fix NullPointerException in ListView

There is a NullPointerException in `handleHorizontalFocusWithinListItem()`
because `selectedView.findFocus()` returns null and then there is no null
check when when the assigned variable `currentFocus` is used, although
`View.findFocus()` states that it may return null.

Change-Id: I6897027e9a2a238d9283e6b9f5146198989fcac0
Heads up: Update snooze drawable:

- Use a flat background, icon and "text"
- Use the background color from notifications for the snooze background, too,
  (especially the pressed background, no big difference for normal background)
- Make the drawables larger,
  (in my opinion the drawables are a bit to small, so use a smaller transparent "border")

Change-Id: I550d04ef618530412e9c8b3927fd0a266277e497
InputWrapper: opt out early if session == null

Change-Id: If111195ba6425ad6b8663601566f9f260738ec77
Dispatch keys to a device specific key handler

Injects a device key handler into the input path to handle additional
keys (as found on some docks with a hardware keyboard).

Configurable via overlay settings config_deviceKeyHandlerLib and
config_deviceKeyHandlerClass.

Change-Id: I6678c89c7530fdb1d4d516ba4f1d2c9e30ce79a4

DeviceKeyHandle: The device should consume only known keys

When the device receive the key, only should consume it if the device
know about the key. Otherwise, the key must be handle by the active app.
Also make mDeviceKeyHandler private (is not useful outside this class)

Change-Id: I4b9ea57b802e8c8c88c8b93a63d510f5952b0700
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>

DeviceKeyHandler : Allow handling keyevents while screen off

Some devices require the keyevents to be processed while the screen
is off, this patchset addresses that by moving the filter up in the call
hierarchy.

Change-Id: If71beecc81aa5e453dcd08aba72b7bea5c210590
fb: respect config_animateScreenLights and fade out if set to true

Currently if config_animateScreenLights is set to true the settings entry is not shown
but the default animation is not fade out which it should be in this case.

This commit fixes this.

Change-Id: I02dfa15d65bc6da30f4e19fbf4698a669cb0e2c8
Missing break in switch statement

Change-Id: I462c0c5fec96a850032266b04419ec409ad02174
Use a content observer for getting the default APN

Instead of executing a query of the database for the
default APN on every network state change, an observer
is used on the database to be notifited when the apn
has changed. This prevents unneccesary queries on the
the database.

CRs-fixed: 662137

Change-Id: I3155bd8b53a1877413ed54a861df1bfb1853b9e4
fb: do not block home button if incoming call is a background call

The user want to navigate ahead if it is a call in background.
So we allow it.

Change-Id: If40b8abba05b600191bfc1403f197e624fd7a360
SignalStrength: Hotfix TD-SCDMA 1 + 2

These checks need to be reviewed, they're making unwarranted assumptions
about signal value formats and possible tech combos.
This appears to work for all possible scenarios I was able to test,
but the "LTE checks" shouln't be necessary at all.

Change-Id: I889e17e79ca2b1b5fcaa393741e19bef9d3f4229