Hardware key custom rebinding (1/2)

Framework changes to allow rebinding of the actions performed on the following
key press events: Home long-press, menu press, menu long-press, search press,
search long-press, app-switch press and app-switch long-press.

The available actions are: Nothing, open/close menu, recent apps switcher,
search assistant, voice search and in-app search.

Patch Set 1: Initial port from ICS [done by Konstantin Koslowski]
Patch Set 2: Added 'assist' (search) key customisation
             Option for ICS-style in-app search, in addition to jellybean-style
             search assistant.
             Fixed double haptic feedback on virtual key press.
Patch Set 3: Checkbox to enable/disable all custom bindings.
             Home long-press defaults to no action on devices with
             an app-switch key.
Patch Set 4: The recent apps list will be preloaded on the initial down press
             of whichever key to which it is bound.
Patch Set 5: Fixed menu virtual key press sometimes performing the custom
             action bound to the menu key instead of just opening or closing
             the menu as it should.

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

Change-Id: I72c0d220a09d79230bfa299e0521ed693e5c25f1

Conflicts:
	core/res/res/values/config.xml
	core/res/res/values/symbols.xml
Enable custom actions for double-tap home (1/2)

Change-Id: I041e7ab3853b356ddbdab2524f096546319276f9
Keyguard: Use translucent UI

Change-Id: I31a48ec17b2a39e431bf9d8f1ce8f9c731fb2f2d
QuickSettings: Port from cm-10.2 (Squashed commit)

Port quicksettings / ribbon from cm-10.2

Change-Id: I6710a62a82ed274eb9e8c86cd2a1faf657ae53f1

Quick Settings: Swipe to switch

Adds the ability to switch to / from Quick Settings, using a sideways
swipe gesture.

Change-Id: I3cab45f72fe3c5fa40d4631fc6a84ea7bfe51bd1

Improve notification shade auto-collapse code.

- When the user dismisses a notification by swiping, also collapse
  notification shade if there are persistent notifications remaining.
  Only skip collapsing if there are still non-persistent notifications
  pending
- When the notification is removed by the app, wait a bit until
  collapsing the shade so the removal doesn't come as a surprise to the
  user
- Centralize the collapse trigger at one place

Change-Id: I4e5114f66e799a7c80e18b38abce5678da460846

Make notification-shade-collapse-after-dismiss behaviour configurable

Change-Id: I1be0be2753b479e6d2e4fc8e17d971d03ce01bb7

QuickSettings: Update all QS drawables to fit KitKat

- Recolored all drawables according to the new color theme
- Recreated some drawables to be able to include all in xxhdpi
- Remove some unused drawables

Change-Id: Ib5430059f67ff73677821122b8f2037094ba90c5

QuickSettings: Re-add Quick pulldown

Change-Id: I7bad553fe7eb4a3e91af69f811d99b74f7572aa3

Conflicts:
	core/java/android/provider/Settings.java
	core/java/com/android/internal/util/cm/QSConstants.java
	core/java/com/android/internal/util/cm/QSUtils.java
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Port Forward Quick Unlock

PS3: Fix whitespace and author.

Change-Id: Ic64c47bb35ee4da13b0332d853725a6ef60ac8d4
Fix Quick Settings tiles jerking down while animating to notifications view

Patch Set 2: Fixed in code rather than XML

cherry-picked to cm-11: fixes Quick Access Ribbons not appearing
when switching back from Quick Settings

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

Change-Id: I1689aa80a0fcb8ad17bcefc290b43a16079f7b88
Frameworks: Add support for variable size pattern lockscreen (Part 1/2)

Thanks CM

for the base.....ported to new keyguard, moved service and some
new API 19 stuff

Change-Id: Ia506308a111947d20058f86c4ad538bef463afaf

Conflicts:
	core/java/android/provider/Settings.java
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
framework: fix screenshot and rotation animation for devices with abnormal hw rotation

port foreward from cm10.1:
https://github.com/CyanogenMod/android_frameworks_base/commit/ac555b9ca9a76d13a26fc9ea40980fe57258761b#diff-d6f7bba268a742c91252cc9e64e2381a

Change-Id: I14b6e2403b9be345a1a591138f8a3a12ca8e4f89
keyguard: fix layout for sw320dp devices

800x480px dpi devices have less screen space than the xhdpi devices
Google designed the layout for and the layout needs adjustment.

- Reduce the lockscreen security container size such that the clock
  widget has enough space to display its content.
- In the SIM PIN/PUK view, Google put an empty widget on top, but
  we don't have space for that, increase its size such that the
  widget practically disappears.

This should not have any effect on devices with larger screens.

Ported from cm-10.2.
* Removed invalid mdpi layout leftover from framework-res
* Fix keyguard for mdpi devices too

Change-Id: I9e811cfd312abae24a9cad189d19e73848f6c4c1
Put FileUtils back into android_runtime

We still use it for non-fat volume management

Change-Id: I42efeb83b8f12e7734e4bf03326526cc220d022a
Parse UUID string with Long.parseLong

Integer.parseInt throws an NFE for values greater than 0x7fffffff.

Change-Id: I1fb9e4980b2058a4071dd80d0b9abd8efeb870ab
Properly handle null URIs.

Change-Id: Ib81044686f40284bacf6ee645c671679f62be843
JIRA:CYAN-2491
fix possible buffer overrun and memory leak

Use snprintf instead of sprintf and fclose() before return.

Change-Id: I3ed193464cc0dc90e9935ae19162667ad367628b
fb: add ticker entries only if we are not recreating statusbar

if both happens at the same time it will result in an systemUI crash.
Funny that since 2 years where this method exist no one discovered it.
Due to the new theme lightsensor mode we have way more switches so
maybe thats why I got it now

whatever we had already a check but the tick method can be called from
outside as well so just check if we are in the recreation or not and return
if we are in recreation process. Old check is now redundant and can be
removed

Change-Id: I0feeaaa16d14fc631124d155dc18ba346f788796
Keyguard: fix not shown overlay widgets from system

google derp....due that if widgets are disabled current AOSP
code just add the default widget. Then checkAppWidgetConsistency()
detects a widget which was added and the complete method is non op.
Whatever lets handle the whole process over checkAppWidgetConsistency()
on widget disabled it tries to bind the default widget over overlay if
this is without sucess it falls back to the system one.
Safemode falls always to the system one

This fixes as well an issue that the saved default id in LockPatternUtils
is not reseted back to default if all widgets were deleted from the user.
Based on an old patch from danesh. Thanks for the
suggestion

Change-Id: Ic8543e0b5e83114e57942225935870f45deda97e
Keyguard: let the user drag the challenge down if widgets are disabled

for the system clock widget this does not make much sense but due
that our system default is DashClock it makes a lot sense to
allow it to see more content of DashClock extensions

So allow it for overlay added app widgets if the binding was
sucessfull.

Change-Id: I0365573c6fa88117a47b01ced81eb36f75324342
fb: lock statusbar recreation and release after ticker is done

In rare cases it happens that the ticker call just happened and a recreation
was called which results in a crah due of the missing binder.
To avoid it lock the recreation when a ticker call is in progress
and release it after it is done and notify the recreation to go ahead

Change-Id: Iedbf858bdb2ac2ad97563e344a571b384e17cfc7
fb: correct seeker fb style for 4.4

based on this commit https://github.com/SlimRoms/frameworks_base/commit/a845169c128c19825a69a0ebdf2e4d366fdd67ad

the idea was good but bad done. A middle in the night action lol.
Problem is that holo light themed app cannot handle the white seekbar of course
So add the complete seekbar into the Holo.Light switch to support both cases

Holo: white seekbar
Holo.Light: drak gray seekbar

Change-Id: I82252d0cb30cd4af47d624a37ccc904cb7e9c1e6
fb: global menu follow new 4.4 UI

the sound indicator is still ICS blue...change it to white
In general we should consider to change all tab_selected
files into a Holo.Light switch due it is already defined in styles.xml

but thats work for our themer :p

Change-Id: I02b5331e223319517c5536522cd6bc419745ce3f