Do not show Home behind full screen activity

When ensureActivitiesVisibleLocked goes through foreground activity
stack and reaches non-fullscreen activity, it sets showHomeBehindStack
variable to true.

If there is a fullscreen activity behind, showHomeBehindStack remains
unchanged, which causes Home application to be displayed anyway.
In this case user will see a fullscreen activity and Home activity
simultaneously.

To fix the issue we set showHomeBehindStack to false when we reach
fullscreen activity in the activity stack.

This was made visible by the following commit:
446ef1de8d373c1b017df8d19ebf9a47811fb402

Change-Id: I535c1283a4e26f5cf606375b837d4b7195324af0
Prevent Lockscreen album art from activating FLAG_KEEP_SCREEN_ON

This is a small fix to the showWallpaper method, in which a power
consumption problem has been introduced. This showWallpaper method
toggles the window flag FLAG_SHOW_WALLPAPER, when album art is being
shown in Lockscreen. It is important to set pixel format to
PixelFormat.OPAQUE if flag FLAG_SHOW_WALLPAPER is not being set.

If not, an application that uses window flag FLAG_KEEP_SCREEN_ON
will prevent the keyguard from going to sleep and drain battery.

Change-Id: I1808be28047977ae5ac4dd1168ea25cac8a55a78
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
show connected devices or name of single device on Bluetooth Tile

Patchset 4: Add ACL listener to trace back connected/disconnected bt devices
            CleanUp
Patchset 5: Rebased
Patchset 6: Move ACL listener to BluetoothController

Change-Id: Ic9dda4f9123bc541753332df759cbd8534ab2e10
base: Fix screen on stats after a boot

Prior to this change, the following sequence:

  * Turn the display off
  * Issue a reboot via adb
  * Unlock the device (after rebooting) before the screen turns off

results in the screen being on but the battery stats not reflecting
this fact.

In general, the mismatch occurs when either there is no serialized
battery stats state or when it is serialized in a state where the
screen is off.

Change-Id: I17374553fae6a08a1be8fdf445967509474177a9
Sometimes property service is slow to respond.

Upon boot-up, telephony service will update the system property for
timezone and send out broadcast.The property service won’t handle
the update immediately if the init process was doing something
time-consuming. Meanwhile StatusBar(one broadcast register) may get
the outdated value by reading from system property, because the
update is not handled yet. Then wrong time will be displayed on
status bar.

Change-Id: Ic29b7940b58e01651da4e0bafa7a88b902164bd0
Signed-off-by: Gao,KunX <kunx.gao@intel.com>
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
Set empty string to the property if value is null

Issue is if the received value is null, then while
preparing complete property value for MSIM the null
value is converting to "null" string. Fix the issue
by adding null check to the received value.

Change-Id: Ib7a8ea5ce5b1341df6155ec34c25a016eb4ec667
CRs-Fixed: 622695
systemui: fix qs tiles layout height in landscape mode

Change-Id: Ic7d0e9c98490995ba5e0923f6de86f54287f99d0
JIRA: CYAN-3589
Issue: https://jira.cyanogenmod.org/browse/CYAN-3589
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Restore pre-KitKat permissions to external sd for all apps

Change-Id: Ib3ff52bcc47fd36e8f3fc5aefeaae4e56180e7c6