GCC 4.8+ Build with strict aliasing

Change-Id: I235ee05512ff6cd6e13a667d9cbe07b1ea944a3b
Change all Holo Blue UI to white
Battery lights support (1/2)
Forward ported from CM.

Change-Id: If8e425868a9fabbf937fd31d587ebac291f9c6c6
Bring back the status bar activity indicators for mobile data and wifi

Google were nice enough to create xxhdpi drawables for us before removing them.

Reverts "Remove signal/wifi activity indicator icon overlays."

This reverts commit fcc901c10bffdfb9c6b31e676dec36b47d949979.

Change-Id: I7aa85f7c8442c45d17e42cac7823dfe93e3f24c1
Avoid layout passes when updating data activity indicators.

ImageView can optimize out layout passes if old and new drawable have
equal sizes. Take advantage of that by displaying a transparent drawable
with the same size as the in/out drawables when there's no activity
instead of clearing out the drawable in that case.

Change-Id: Iaaa556ffab3ed4be1da8016ed40d0a9c2efcde01
Lockscreen Notifications [1/2]

My try on making notifications easily accessable from lockscreen.
Credits to ChameleonOS, I got the notification listener permission and some small other stuff from their ActiveDisplay implementation.

Lockscreen Notifications allow you to manage all your notifications directly on the lockscreen.

Features:
- Pocket mode turn screen on when phone is pulled out of pocket and turn it off when phone gets back in pocket
- Hide low priority notifications
- Hide non-clearable notifications
- Allow dismissing even non-clearable notifications from lockscreen
- Just turn screen on when there's currently a notification pending
- Toggle between expanded and normal notification view by longpressing

This should still be considered as beta, even if it seems to work very well for me.

Change-Id: I98efd3cab0dd66126954b475c0d093c79ca3f766

Lockscreen Notifications: Make "wake on notifications" user configurable

and some other small changes that hopefully will improve battery live

Change-Id: I56209750fe36f564602c91dc70e28fb774c9dd40

Lockscreen notifications: make height user configurable [1/2]

Change-Id: Ia8ea8a5fa8338494037fc19edab0ab91b417d4a1

Lockscreen Notifications: fix possible NPE

Lockscreen Notifications: try on fixing notifications sometimes not responding

Lockscreen Notifications: always scroll to bottom so one sees the newest notification first

Lockscreen Notificaitons: Fix NPE while on setup wizard on clean flash

Lockscreen Notifications: several fixes

- fix notification not responding when removed and added in a short period of time (e.g. gravity screen start/stop)
- just unlock screen on notification click when there's an activity to start
- fix notification hide animation
- just wake screen on reposted notifications when it's not ongoing (wake on notification before made the device stay awake for ever when a download/countdown or something similiar was running)

Lockscreen Notifications: just scroll down in "showAllNotifications"

Lockscreen Notifications: Copyright

Lockscreen Notifications: make offset top user configurable & add privacy mode [1/2]

Lockscreen Notifications: Fix possible NPE

Lockscreen Notifications: make width dynamic (WRAP_CONTENT)

Change-Id: I98efd3cab0dd66126954b475c0d093c79ca3f766

Conflicts:
	core/java/android/provider/Settings.java
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
	services/java/com/android/server/NotificationManagerService.java

Lockscreen Notifications: make animations a bit faster

Change-Id: Ib780ddfa728d70c559f22976a77090b1ddfb2562

Fix ongoing notifications reappearing when hidden

& some small animation tweaks again.

Change-Id: Ib866540e6af6cfc21bbb5db6e28aa3eced64e96d

Lockscreen Blur: fix for coverflows

Change-Id: I668ab36cd846b30cdda1b70e2fca2c512211f72c

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java

Lockscreen Notifications: fix notifications disappearing on orientation change

Change-Id: I3c2f7ca3ec446c48b471f9c01f7c72284893856e

Lockscreen Notifications: disable dynamic width for devices <= xhdpi

Change-Id: Id45a8d63411b488f9331dcab66bc76cbe5a4b313

Lockscreen Notification: fix default settings derp

Change-Id: Ief7344359059d72b6498d9d9ce61dfd11b43f404

Lockscreen Notifications: fix phone turning on in pocket

Change-Id: Ia0385280510f1d684c5dcf537dd2049c6916ddec

[1/2] Base: Lockscreen notifications: Allow apps to be excluded from being displayed

Credits to 0xD34D / ChameleonOS for the original implementation for Active Display

Change-Id: Ie0df1faedb275b1cf131d75d69d9d9cafc828dd9

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

Lockscreen Notifications: make dynamic width a device overlay setting

dynamic width is disabled by default, to enable it for a specific device, add
<bool name="config_lnDynamicWidth">true</bool>
to yourdevicetree/overlay/frameworks/base/packages/Keyguard/res/values/config.xml

Change-Id: I210b747838b70fb64e6f0835b1cb42b31c9a199d

Lockscreen Notifications: rewrite add notification logic

There were some problems with notifications getting replaced while the user was currently dragging them.
This commit should fix that by always waiting until animations and user input are finished before replacing a notification view.

Change-Id: I6821a253e8620d1579e6e1dfa0e0d4571ae1af3d

Lockscreen Notifications: dismiss all button, improve animations, cleanup

Change-Id: I852829ef118b7d300ca54cfc7a87136015c6da88

LS Notifications: Custom Background color [1/2]

Frameworks base

Change-Id: I59a100cfcdaaa2fe251820b9b54b414f1889b6df
Signed-off-by: STELIX <ssspinni@gmail.com>

Conflicts:
	core/java/android/provider/Settings.java
Forward port SystemUI: HSPA+ Support

Add the ability to recognize HSPA+ by creating a separate case for HSPAP and
include new H+ icons.

Signed-off-by: Bajee11 <bajee11@gmail.com>
Change-Id: I889a28e4b4cb49862b291641df5a00388db87551
Framework: Add alternative screen-off animations (1/2)

Not everyone is keen on the electron beam screen-off animation. This allows
users to choose an alternative animation:

- Fade out
- Electron beam (default)
- Scale down

PS1: Update authorship
PS2: Fix derp

Change-Id: I060d02caf73e771135eb8ef36f2dd0000d278fc7
[1/2] Frameworks: Wakelock Blocker

Conflicts:
	core/java/android/os/IPowerManager.aidl
	core/java/android/provider/Settings.java
	services/java/com/android/server/power/PowerManagerService.java

Change-Id: I85f4358cac803260c57104c6684d5c0e6fb59e8a
Improve AOSP Download/Upload animation

This increases the number of png required for a full download/upload animation cycle.
These new png makes the animations much smoother.

Change-Id: I7120d757782e797809bc97747127c6a0cc36f2fe
UsbDebuggingManager: Fix multiple NPEs toggling USB debugging

Change-Id: I7ac039fe51a32d35ef00eaa71accb85cd57d4d8a
Signed-off-by: atl4ntis <atl4ntis@gmail.com>
[1/3] base: add support for adb over network

Change-Id: If8354c92a03da501c683638cc69097d287d74816
Kill App on Long-Press Back Key (framework)

Change-Id: Ib78fff9e32d95a0a112ddd9274b79b3a3aa626b9

Conflicts:

	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Long press to kill

Bring changes done in cm7 to ics.
- Vibrate on press
- Show message
- http://review.cyanogenmod.com/#change,5191,patchset=2

Change-Id: Ib1e5eba50cef5d72d81b733f87ac39c09d4212de

Long-press back kill app cleanup

Change-Id: Ida791dca1fbfdc2beccf6ff727b67df56f1956a4

framework: customizable kill app via back key timeout

Allows the time it takes for the back key to kill an app
to be customized via overlay.

Change-Id: Iaa43f81ee448ae7a7663254a830011a0bca5e60f

Conflicts:

	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Change-Id: Ida791dca1fbfdc2beccf6ff727b67df56f1956a4

Framework : Long press kill fixes

Jellybean introduced changes to systemui's privelege level.
This patch hardcodes a check to avoid killing it.

Patchset 2 : Minor fix
Patchset 3 : Check length of pkgList rather than apps
Patchset 4 : Vibrate on kill

Change-Id: I24af510a62cae9acc29504912fb133825bb67bb6

Framework : Long press back to kill fixes

- Only show message / vibrate if an app was actually killed.
- Escape out of the outter loop as well upon killing an app

Change-Id: I8c1ea2070e8b4b51caab0f6e2b7d31475d1f4601

Kill app back-button : Don't kill default launcher

Avoid killing currently set default launcher.

Change-Id: Iaa2de02cfa1b94faabbb1ca86a01f185a55c5e93

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/config.xml
	core/res/res/values/public.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/config.xml
	core/res/res/values/public.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Improve scrolling cache

Scrolling cache helps make short scrolls/flings smooth but will
cause stutter when long flings are made. This patch disables
scrolling cache when long flings are made.

This patch also fixes a related bug where scrolling cache will
not be enabled properly when transitioning from flinging to scrolling.

Patch Set 2: Calculate threshold based on maximum velocity (Sang Tae Park)

Credits: Pawit Pornkitprasan

Change-Id: I1fdbaad92263c9f983a32900e74eba1f0367902b
Signed-off-by: Arham Jamal <arhamjamal@gmail.com>
framework-res: Remove gingerbread scrolls
Fix layout of MultiWaveView and GlowPadView.

If the calculated size of the rings is much smaller than the measured
size (which is happening e.g. on mdpi 600x1024 tablets), the glow pad
appeared shifted to the right.
This happened due to the insets being calculated as difference of
available and needed size, and later on being added to the available
size. Example numbers (Nexus 4 with density forced to 160):
- computed size in onMeasure: 768x505
- scaled size in onMeasure: 505x505
- thus, insets are calculated as 131/0
- in onLayout, placementWidth (364) and max target width (108) are much
  smaller than width (768)
- thus, center is calculated as 131 + (768 / 2) = 515, thus shifted to
  the right

Fix that by not using width in the calculation, as the inset size
already takes it into consideration.

JIRA:CYAN-829
Change-Id: Ifc2a93214f812f554a8fed3243eed66aec9f00c9
SystemUI: Navigation Bar: Rotate the search light in landscape

The current search light icon is an arrow pointing upwards, so
while in portrait it points to the direction to be swiped to access
Google Now (and the customizable shortcuts), in landscape it points
upward as well which looks out of place, and swiping upwards reveals
that you have to swipe towards the left to access those targets.
Rotate it by 270 degrees to make it point towards the right direction
(i.e. Towards the lockscreen widgets)

Change-Id: I19670fdb1f5ab7814c05264330cb8097a206639a
Keyguard: disable music transport control debug

Change-Id: Ia4361d0850334dc0944559c40409c9062cf02e47
Navigation size & ring customization.
[1/1]Wake on plug behavior

The PowerManager now checks Settings.Global.WAKE_WHEN_PLUGGED_OR_UNPLUGGED
to determine wake-on-plug behavior.  The configuration option
config_unplugTurnsOnScreen is used as the default value of the setting.

PS 2: Fix formatting of if statement

Cherry-picked from: I062794828831a2b6faf4293579103d2251f1bdd0

Change-Id: I7eefff468a64c04e536c377cff3c740a7e568ade

Conflicts:
	services/java/com/android/server/power/PowerManagerService.java