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
PIE: Turn on HWA only if isHighEndGfx()

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
base: fix ACTION_NOTIFICATION_LISTENER_SETTINGS intent name

Although android.provider.Settings#ACTION_NOTIFICATION_LISTENER_SETTINGS has the proper
name (android.settings.NOTIFICATION_LISTENER_SETTINGS), the rest code (Settings fragment,
cts,...) are using the name "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS".
This cause that apps with notification listener services declared could not open the
setting activity from running apps settings fragment (the pending intent isn't found).

For convenience, this change fixes the name here instead of change all the entries in
the rest of the aosp code.

Change-Id: I33f09efae8829d88e1a415f889b699202ebf6440
aosp: https://android-review.googlesource.com/#/c/106960
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Merge remote-tracking branch 'AOSPA/kitkat' into kitkat
Merge "Do not block home button if incoming call is a background call" into kitkat
Fix attribute resolution in theme lookup

[Fixes Known Issues]
1. (CM) Chrome beta crashing w/ Hexo applied and menu button is pressed.
2. (AOSP) TextAppearance - fontFamily attr is incorrect (looked up in wrong package!) when
    a string value is defined in a style, and that style is set as the app's theme.

[Terminology]
1) Theme:    is the standard android definition of a theme.
             e.g in your manifest you may set android:theme="@style/foo"
2) CM-Theme: will be a Cyanogen theme. e.g. "Hexo"

3) Block: Also called index. Can be considered the cookie or ID to lookup a package in the resources.
          When a CM-Theme is applied, block 0 is framework, block 1 is the app, and block 2 is the
          CM-Theme.

[Background]
When a value for an attribute has not been found, the last resort is to look at a theme's base value.
This is done by using theme->getAttribute(...) which will return the value. The value is
unresolved if its a reference type. The block value will also be returned.

Since the value may be a reference and therefore unresolved, a call is then made to
ResTable::resolveReference(..) to do the final resolution. As part of its input, resolveReference
takes a block as a starting point.

In the case where resolveReference(...) is asked to resolve something that is not a reference,
for example, a string type, then it will simply return the same value and block. *Important* The block
value is then saved for the next call to get an attribute value. So if this block value is wrong
it will remain incorrect.

Therefore if resolveReference is passed the wrong starting block with a string value, then the wrong
block will be returned.

[Example]
1. 0x0101009b (android:attr/textColorLink) is first attribute to be looked up.
2. textColorLink has a value of 0x01020123 which maps to theme id 0x01020111. The block for theme
is "2" so block is set to 2. The value for this attribute is put into the array.
3. 0x010103ac (android:attr/fontFamily) is the next attribute to be looked up.
4. fontFamily is found in the theme as type string. The value is 0x7b9 (1977) and newblock variable
   is set to 1 since this value is found in the app's string pool. The block variable still == 2.
5. resolveReference() is called with block=2. The function does nothing and returns block=2.
   The fontFamily thus is stored wtih value=1977 and a block value of "2" instead of "0".

Change-Id: I2b979911b1b8ffb79c4cf310ae60682c84c11fcb
Merge "base: fix ACTION_NOTIFICATION_LISTENER_SETTINGS intent name" into kitkat
Merge "PIE: Turn on HWA only if isHighEndGfx()" into kitkat
Merge remote-tracking branch 'pa/kitkat' into kitkat

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Enable unknown sources, disable package verifier

Credit @Cl3Kener

Signed-off-by: anerikg <anerikgames@gmail.com>
Frameworks: apple can do...we can do as well

incredible apple engineers speeded up the overall UI and reduced per default slightly
the animation scales. Well we do as well and reduce it from 1 to 0.75...smooth, looks well
and does not break anything

Change-Id: Icbcc889e49c8d3ab24cf2b1c10bbe0e8bf7e7637
Add dashclock widget by default
AudioService: Show safe volume panel for non-interactive volume adjustments

If safe volume is active, apps calling mp.setVolume() to adjust the
headset to a value higher than the threshold will have the operation
fail silently because no volume dialog is active to pop up the
"do you wish to override" question.
This is particularly bad for peripherals that use the audio jack
(Square readers, Jawbone bands), since they usually require levels
close to maximum for proper communication and the app isn't prepared
to deal with a silent rejection of the requested volume.

Change-Id: I2047d199506106a87841b8b680007c5ab45b527b
Signed-off-by: anerikg <anerikgames@gmail.com>

Conflicts:
	media/java/android/media/AudioService.java
base: update link ring-notifications after read user settings

Change-Id: Ib424124dc20e38243e572333e323ba97aacb1111
JIRA: CYAN-3559
Issue: https://jira.cyanogenmod.org/browse/CYAN-3559
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
MSimNetworkController: disable CHATTY logs

Change-Id: Ic9dd166aa6ac77647dc69acea31d2ebde3a87f0a
MSimNetworkController: Quiet logspam

* Most uses of Slog.d are not protected by the if (DEBUG) they should
  be. Make it so.

Change-Id: I36151113b1bfcdbe84c27abf39918441e23a8e88
Use hidden API to validate APK chains

Bug: 13678484
Change-Id: I28dedab74b0e24d47ab9f2190298156c909e9d54
tether: tethering chooses wrong upstream when mobile_dun is required

When mobile_dun is required, the default mobile type will
be deleted from upstream list, this makes wifi become
the highest priority upstream even whne wifi is not available.

Change-Id: I2c12f6cd6d52331220dce900609ad072f9ec3fbc
CRs-fixed: 671675
Provider: Add multi SIM ringtone support in SettingsProvider

This change will handle multi-sim queries in
SettingsProvider.java when openFile and
openAssetFile APIs are called by other components.
Thus, it will ensure to play the correct ringtone
corresponding to the SIM.

CRs-Fixed: 661216
Change-Id: I7b22c233b9c41669c1ad948b83a7aa2c55442af1
On-The-Spot: Add information on how to reset preferences

Info is added to the main On-The-Spot preference dialog.
(As suggested by +Carlo Savignano)

PS 2:
* delete unneeded code

PS 3:
(https://dl.dropboxusercontent.com/u/90317107/on_the_spot_pref_helper.png)
* Unclutter OTS Dialog

Change-Id: Iaf4f67e4b03babd1d6a604c2524781a748dd8025
Signed-off-by: kajuten <julian.kaltenhofer@gmail.com>