hwui: Don't discard framebuffer on exynos4

The layers gets empty/not cleaned and redrawn on top of the preview,
causing beautiful glitch on homescreen, and drawing black instead
of transparency.

Change-Id: I633b104224c73c625f1193ee3dde41823cddc5bf

Conflicts:
	libs/hwui/LayerRenderer.cpp
Fix certain setting writes being incorrectly skipped.

If a value that previously had a very long value (over the 500 char
threshold) is now set to null, isRedundantSetValue would incorrectly
return true even though the value was changed.

Change-Id: Ia5304743024ec01024be98aa51ed260d38caf93c
Allow adjusting progress on touch events.

Change-Id: Ide0a7ae057a62f3631a32eeaa63f3e04dec5bf54

Conflicts:
	core/java/android/widget/AbsSeekBar.java
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: I336b95bf198f15edaa4d058db435a2e46c6d8923
Properly handle null URIs.

Change-Id: Ib81044686f40284bacf6ee645c671679f62be843
fix for screenshot animation glitch in portrait

edits by Stefano Semeraro aka Suxsem.

Change-Id: I7a03a24c5b1bfdfe616f940b2bd7be42091f45a6
Make ImageView drawable update more efficient in some cases.

When updating the view's drawable via setImageResource or setImageURI,
make sure to skip the layout pass if the old and new drawable have equal
sizes. This follows what is already done for setDrawable().

Change-Id: If73d225e38d0a2f7c616c4aeb33f67bdaed390f1
Framework: safe headset volume option (1 of 2)

thanks DvTonder

Change-Id: I5355820a24d48c1d8f54ea17a7022d891ad07857

Conflicts:
	media/java/android/media/AudioService.java

Conflicts:
	core/java/android/provider/Settings.java
fb: less notifications sound (1/2)

add back the 4.3 feature like it was.
User can setup how often notification sound
for an app comes trough so that
it does not annoy to much

Change-Id: I3d7b2ef2e2ff99b7c23880626e0268ec4c5d8543

Conflicts:
	services/core/java/com/android/server/notification/NotificationManagerService.java
cleanup
Illusion is upgrading
Option to use volume keys to control media volume anytime [1/2]

The volume keys control the Media volume rather than the Ringer
hence removing the issue of accidentaly changing the Ringer volume.

Credits: Pawitp

Change-Id: I789e05bdb0bb7c968f71e4e10f4a759b3dbd0b59
Audio: Fixed system/call stream volume can't adjust with HS connected.

Issue Description:
When headset connected, the system/voice call stream volume can't be
adjusted from Volume bar.

Root Cause:
Currently adjustStreamVolume is applied to stream type alias and the
device for the stream alias. So when headset connected and adjust
volume for SYSTEM_STREAM, the operation will be applied to RING_STREAM
(which is aliased by SYSTEM_STREAM) and speaker. As headset is returned
from getDeviceForStream(SYSTEM_STREAM), but speaker for RING_STREAM.

Solution:
Change the adjustStreamVolume to apply volume to the stream alias and
the device for the stream type exactly.

Change-Id: Icd226d9eb197017cd3c186a0096edaed755680ec
Signed-off-by: Guo Xie <gxie@marvell.com>
AudioService: fix safe volume enforced even when disabled

On onConfigureSafeVolume, the proper API was not used, leading
to the setting not being respected. Sometimes after boot, the
heaadset volume will be set back to the safe volume.

Change-Id: I5ba8bb1a18ce97ed64646663c7e75cb277356778
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
GlobalActions: Fix possible race condition when showing dialog.

Depending on the presence of a previous dialog, the newly generated one
gets either immediately displayed (no old dialog) or shortly delayed
(after dismissal of the existing one).
If a new show event happens (by rapid fire of the power key, for instance,
using a keyboard with fast-repeating events) during that delay, a new
dialog will be immediately displayed, and when the delayed show triggers
it'll conflict with it (and bring everything down).

This moves the creation of the new Dialog object to _before_ showing
it (delayed or not), instead of the show method itself, to ensure the
object isn't clobbered by competing/sequential calls to handleShow()

Change-Id: Ie4d9a8507ebaf59da31869c38b98c3c98a74468e
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().

Change-Id: I3e5db322f0abce0cd37320a103015ba72dffa64f
Ringtones: Fix ANDROID_LOOP=true for ArgoNavis and Perseus ringtones

Add ANDROID_LOOP metatag to ArgoNavis and Perseus ringtones, removed in commit
https://github.com/CyanogenMod/android_frameworks_base/commit/5d7c089cabe599c3c5614c53f5a94c8c2357340f

Change-Id: I2fd05e73d68758867a17d2c3369cfeefc203ac5a
JIRA: CYAN-1434
Issue: https://jira.cyanogenmod.org/browse/CYAN-1434
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Forward Port: Volume button seek on screen off [1/2]

PS : Fix the short press event type

Change-Id: Id55a1240a133b5144502fced862bae040b390662

Conflicts:
	core/java/android/provider/Settings.java