Null pointer exception in FileRotator.java

Sometimes a null pointer exception is thrown when examining files
managed by the file rotator.

The logs from the test show that the Wifi state is changed a large
number of times. On every state change, a write operation is
initiated on the file system. This will eventually result in out
of memory and the call to mBasePath.list() in the maybeRotate(...)
method in FileRotator.java will return null so the iteration will
throw a NullPointerException.

Change-Id: I5d5980d9593bc9ec75281169ca27ee591809903f
Framework: Notify User Interaction on Unlock

If user is unlocking or opening an app...
	Notify so the screen timeout is
	reset.

PS2: Dependency

Change-Id: Id605aa1ee01adfb1a1f043eaac1627eb524442d8

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardSelectorView.java
Frameworks: More Keyguard Colors (1/2)

No content resolver?  Colors EVERYWHERE!!!

PS2: Code clean-up && fix avatar
	text color && set avatar
	border color (AOSP was never
	using their own color value
	either <_< so fix that as well

Change-Id: Ie4daaf1588cd2bbff8871c2beea862f2a15faef7

Conflicts:
	core/java/com/android/internal/widget/multiwaveview/GlowPadView.java
	packages/Keyguard/src/com/android/keyguard/KeyguardSelectorView.java
Framework: Lockscreen Slider Logic && Fix

Part 1: Keyguard array points directly to
	unlock handle and unlock handle
	ONLY.  Assist/Camera intents will
	never be used. It seems this logic
	in the code was devalued %100 by
	an array change that we'll never
	take advantage of.  I assume this
	was done so OEMs can revert the
	array and get camera/assist
	slider targets with minimal effort.

Part 2: Fix unlock icon colorizing if user
	lock targets are null.

Change-Id: I58206829de03828c7a0b838a4bbc56dbbc33c0c9
Frameworks: Lockscreen Rotation Optional (1/2)

PS2: Change method to allow disable, enable
	portrait, landscape rotation.

PS3: Just clean up...same code.  Different
	style.

Change-Id: I164d31b8980562eb5df68dcb2846410d932a4e73

Conflicts:
	core/java/android/provider/Settings.java
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
FaceUnlock: Check if faceunlock is disabled

JIRA: CYAN-3622
Issue: https://jira.cyanogenmod.org/browse/CYAN-3622

Change-Id: Iaf656f1aecb72610a46183294de25151e8df4b05
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Missing custom system animation case selections
Change notification background from holo to kitkat grey

Credit @Alex-Cruz (Dirty Unicorns)
Let's get rid of more of that JB blue
Solve three memory leaks related to PatchCache

A Patch can be fairly large, holding bitmap data, but
is also frequently leaked which adds to the severity.
The feature is used in many important processes such
as Home, SystemUI and Chrome.

The following leaks are solved:

1. The Patch itself was not always freed.
PatchCache::removeDeferred() can mark patches to be
cared for by PatchCache::clearGarbage(). But
mCache.remove() would only destroy the container
and the pointer, not the Patch object itself.

2. The vertices stored in the Patch at Patch::createMesh()
would always leak. The empty/default destructor in Patch
would not properly destroy "vertices" since it's just a
pointer.

3. A BufferBlock that's added to the mFreeBlocks
in PatchCache could leak. The leak happened when a
patch later needed the entire free block, because the
object was removed from the list but never deleted
in PatchCache::setupMesh().

Change-Id: I41e60824479230b67426fc546d3dbff294c8891f
frameworks: including build.prop property "ro.config.vc_music_vol_steps"
to control music steps amount (like it is
with "ro.config.vc_call_vol_steps" and call volume steps)

Change-Id: I81a3188919482383e015974818e7042d521ac679
[3/3] AudioFX: Add center frequency param to bassboost

Change-Id: I49da8e5ab24502d0de5c09b7fc9f4b8a51bead60
[3/3] AudioEffect: Add a stereo widener effect

Change-Id: Iab2035c5601394b060e7e77e85ad85aca6e4c89f
Frameworks: Fix linked volume does not persist after reboot.

The controling boolean value must be set before updateStreamVolumeAlias
is called first time. Otherwise updateStreamVolumeAlias will assume
it is always false till user toggle it in settings again.

Change-Id: I53455249909fa6ad69fa0ea6930f9065e5a14fdf
Change SQL to improve performance.

To know the number of images, use "COUNT(*)" instead of "_id" in SQL.
Using "_id" gets all result set. and when getCount() is called, CursorWindow is filled.
But using "COUNT(*)" gets just 1by1 data.
So using "COUNT(*)" is more faster than now.
And this SQL is called everytime per a file during a file transfer in MTP
The better way is by using "EXIST".
But if using "EXIST", modify MediaProvider.call() method.
So i applied just a "COUNT(*)"

Change-Id: Ic5882af0fad2304f836b7b7043a4746359391609
Signed-off-by: muzbit.kim <muzbit.kim@lge.com>
AudioService: Fix absolute volume for AVRCP

Avrcp.java uses max volume obtained by getStreamMaxVolume() when
converting to AVRCP levels and it returns non-scaled volume index.
For this reason volume index needs to be dispatched to Avrcp before
scaling as otherwise Avrcp will convert volume level incorrectly,
i.e. max volume index for music stream is 15 and any volume index
>1 (>10 after scaling) will result in setting *MAXIMUM* volume level
on headset which is not safe for listener.

Change-Id: Ia799eec578ed2326ec18b69f2ee4f2a60c664514
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>
[1/3] Base: Audio Themes Support

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

Fw/av: http://gerrit.dirtyunicorns.com/#/c/2149/
Settings: http://gerrit.dirtyunicorns.com/#/c/2156/

Change-Id: Id80dc7f0bcbd39b5305d6ea0fb8bd9fa516f3634

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