Squash Floating window commits [see below]

https://github.com/AICP/frameworks_base/commit/b1f3ad8cfb7d8c210d8d56ea100ab4794dcc8865
https://github.com/AICP/frameworks_base/commit/1679a6629ae7d9af10dcee39cfd11c817ee893a2
https://github.com/AICP/frameworks_base/commit/39834a160762ae167bf2e2c5838769a68da8fe45
https://github.com/AICP/frameworks_base/commit/ecb91fa5f765ef0e768c7a65c70c97ea2528ab4e
https://github.com/AICP/frameworks_base/commit/31cf4c91cfe22c60e0ad288869304cc920789eff

Credit/Thanks to respective authors of those commits

Change-Id: I8b90a19689e8b448a7649ff4f1586fa3c7999cb9
Implement App circle sidebar [1/2]

Change-Id: I08d2a3a7e0f8df20e999e585d4cac8547a740a9e
Fix volume rocker to skip tracks

PS2: track skip was fixed with PS1, but it broke changing volume with screen on. This part of code taken from @omnirom

Change-Id: I019523afed54776c16a8098f7d99320b11c4149f
JB like battery percents style [1/2]

Change-Id: I5e453341911cb108b47658408d69b1d6c1a2756f
Speed things up

Change-Id: Ic0e1cf9ace3e863ae58868887e5edb6006f0f2a3
Merge "Speed things up" into du44
Don't allow MemoryFiles of negative length.

Prevents us from converting a (signed) jint into an
(unsigned) size_t and having horrible things happen.

Change-Id: I0f04e2eb9852ae7fc49b435fd0974f56e86751a4
Mark constructor as accessible in LayoutInflater.

Needed to bypass new access checks for fields, methods, and
constructors.

Change-Id: I8ff0b44a6cb4f4af1c72734bca366d8b89528030
SlimRecents: fix sometimes missing first task

apply the fix for aosp recents

https://github.com/SlimRoms/frameworks_base/commit/760413134a5efe60c1d4473322e467152d71c80b

as well to slimrecents

Change-Id: Ibce0707cf516034675451d0440608bafe097c92d
Remove gingerbread scrolls

Change-Id: I7e1613e5114265fe5611660d3e35f5be3dd69120
Merge "Don't allow MemoryFiles of negative length." into du44
Merge "Mark constructor as accessible in LayoutInflater." into du44
Merge "SlimRecents: fix sometimes missing first task" into du44
Insufficient ProcessRecord cleanup when persistent process is killed

When persistent process with Service restarts, ActivityManagerService
does not reset ProcessRecord#hasClientActivites to false
(because ProcessRecord of persistent process is continued using
after killing).

It disturbs updating LRU list in ActivityManagerService, and then,
when new process calls ActivityManagerProxy#publishContentProviders,
SecurityException happens because of no entry in the list.

Bug: 13517358

Change-Id: I46b064f71a4f7025ade1bf117801352a7ab22e6a
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
Remove stray logging statement.

bug: https://code.google.com/p/android/issues/detail?id=66974
Change-Id: Ie34c102de143cf6aeb16c78778dda3ef5e928380
ANR caused by incorrect cleanup in BroadcastQueue.

Two broadcasts could be sent to the same app simultaneously:
one foreground, one background. For example, LOCALE_CHANGED
and PACKAGE_CHANGED are delievered to com.android.vending
at the same time.
1. AMS started new vending process to handle LOCALE_CHANGED.
   And set app.curReceiver = LOCALE_CHANGED.
2. Before LOCALE_CHANGED is handled by vending process,
   PACKAGE_CHANGED was delievered to vending process too.
   AMS set app.curReceiver = PACKAGE_CHANGED. Bad!
3. Vending process finished handling LOCALE_CHANGED.
   AMS clear app.curReceiver = NULL. Bad!
   And Vending process  killed itself without handling
   PACKAGE_CHANGED.
4. AMS known vending process has died, but didn't know that
   BgBroadcastQueue was still waiting for finish message
   for PACKAGE_CHANGED.
At last, BgBroadcastQueue reported ANR for PACKAGE_CHANGED.

This patch adds protection before clearing app.curReceiver,
only set to NULL if the finishing receiver = app.curReceiver
So handleAppDied would know that PACKAGE_CHANGED was not
finished yet, it will abort the broadcast and continue.

Change-Id: Ic4f31b35e21823d4a3c27712391ecbede213a494
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
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>
Lockscreen: Add chinese string for airplane mode

There is no chinese string resource for lockscreen_airplane_mode_on.

Define the chinese string for airplane mode.

CRs-Fixed: 561393

Change-Id: I59d2fd42f8b3140a934614a4977dc7ade0332c6d
PanelView: DEBUG_NAN = false

Change-Id: I8c46e531b609e6138df10359126e231b35aa9eeb