[1/2] Base: NavigationBar customization

Includes:

- Allows user to customize navigation bar.
  Features :
   - Choose from 1-6 # of buttons
   - Re-arrange / assign buttons
  Id: Idc9f5f401f15d207504e49de47666bb5510a06ca

- Navbar : Rework logic for determining orientation
  This patch introduces better checks for hybrid ui's.
  This should fix issues of small buttons due to incorrect ui determination
  Thanks Rolf Arne Schulze for testing :)
  Id: If5b61dc4764a98deedb5b801d11451fed2488cba

- Make navigation bar ready for per-user configuration.
  Also clean it up a bit.
  Id: Ic10bd161fce53bf30048a0cb927dcf1e2bfa7774

- Fix layout on N10
- Remove uncessary padding and logic
- Phone fixes
- Phone padding fixes

PS6: Added RTL support (http://review.cyanogenmod.org/#/c/55059/)
PS7: Navbar: Fix MDPI & HDPI landscape layout (http://review.cyanogenmod.org/#/c/56098/)

OmniGears part: https://gerrit.omnirom.org/#/c/3156/

Change-Id: I5bcdd53e8344e8ce137088544a4a3964655c53af
[1/2] Base: Navigation bar height/width

All credits to SlimRoms / kufikugel

Change-Id: I97af1fbd5a2e7df2337abc6c825b4905f576a48b
[1/3]Base: All in One Animation Control

Allow configure System, ListView, Scroll, and Keyboard Animation

base from
AOKP Animation Control https://github.com/AOKP/frameworks_base/commit/015c9cf00a8e49aea22d70b57b0af87c9134be73
thanks to Steve Spear <stephen.k.spear@gmail.com>

ListView Animation https://gerrit.omnirom.org/#/c/2863/
thanks to jkl5616<jkl5616@gmail.com>

Keyboard Animation https://github.com/zst123/XuiMod/commit/975cd531a9a847769b2af306495643a55ec44aaa
thanks to zst123 for patches

with slight modification to OmniRom

Scrolling Animation https://github.com/zst123/XuiMod/commit/48c180cfa762617f59b4ceb3da50a6c28befe24f
thanks to zst123 for patches

Change-Id: I878e2e845c75a5e7ccf5de69383b18478de60d65
[1/3] Base: Remove Active display

Change-Id: Ia305a67eed1a57c61598af803c688389f9f30e45

Conflicts:

	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/custom_dimens.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/ActiveDisplayView.java
[1/2] Base: Lockscreen Notifications

PS11:
    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)

PS12/13:
    Lockscreen Notifications: Bring inline with AOSPAL implementation
    Lockscreen Notifications: Fix possible NPE
    [1/2 ]Lockscreen Notifications: make offset top user configurable & add privacy mode
    Lockscreen Notifications: Copyright
    Lockscreen Notifications: just scroll down in "showAllNotifications"

PS14:
    Lockscreen Notifications: Fix recognizing of settings update

PS15:
    Lockscreen Notifications: make width dynamic (WRAP_CONTENT)

PS16:
    Lockscreen Notifications: make animations a bit faster

Change-Id: I342b9fa6266c4c64f04121a8a2938de6532082b4
[1/2] Base: Double tap to sleep

Double tap statusbar to sleep.

OmniGears: https://gerrit.omnirom.org/#/c/4611/

Change-Id: I4c54718e8ec8774677d13917b3a7ffa3b4b18cb5
[1/2] Base: Option to enable Notification Light when screen is on

This makes it possible to let the Notification LED flash even when the screen is on

Change-Id: I58be9646cdc84d4765342a5ab45b4641c3d5daba

Conflicts:

	core/java/android/provider/Settings.java
[1/2] Base: Add an option to change the device hostname

This adds an option to modify the device hostname used
in ip resolution. This is useful when connecting to the
android device in a dynamic dhcp environment.

Change-Id: I56da8b49899e2a8c1a34bf8eee618e048ba7d82d
[1/4] Base: TRDS 3.0 and new theme engine preparation

For the one who do not know this feature see as reference
the first two versions here:

https://github.com/SlimRoms/frameworks_base/commit/b330fde28306286572ba390e451a72539c0c3576

https://github.com/SlimRoms/frameworks_base/commit/3194015737b7944b4185fca007b8d167a0675cd8

we got now over a year now a lot experience how to handle the qualifier fallback
as well how to theme it and how to handle other apps. Based on this knowledge we
redid some parts of TRDS engine with following new features/additions and fixes
to have now a final perfect working TRDS

- compared to the old versions where it was needed on some apps to restart them
  in background this is not needed any more. All is handled about the internal
  AOSP resource handling and on qualifier change the caches are cleared
  and the apps get an onconfigurationchanged to restart the activity
  like it is doing on orientation change eg
- inverted folder is now depreciated and the new folders are holodark
  and hololight which allows on the one hand a dark theme (at least
  how TRDS started) and a light based theme hololight
- This name change is mainly because of the new theme engine which
  will come which uses this as base to add 2 external themes at the same
  time and give the user the ability to switch between them. But this is
  still in early stages and this commit is just the preparation for it
- Two new automodes are now integrated. User can enable the twilight modus
  which enables/disables holodark/hololight depending on the daytime...means
  on the evening it switches to holodark on normal day it is hololight.
  The other automode is based on light conditions....means that if it is
  dark outside it switches to holodark....if we have bright light conditions
  it switches immediatelly to hololight. Due of the resource cache handling now
  this happens immediatelly for the user and feels completly system integrated
  and happens without delay. A bit comparable to some navigation tool for cars
  which can switch automatically from dark to light and back
- currently the auto modes as well the manual mode switches between holodark
  and hololight. Due that we do not have currently anything hololight themed
  in the source hololight = stock theme. We will give the user the ability
  later when done to choose between which modes the user want to switch
  (stock/holodark/hololight). But this does not make sense at the moment.
  As soon as we have done the light theme or theme engine (lets see what
  comes first) we will open the ability to choose it. This is only a small code change
- a lot small tweaks and fixes went as well into the new version

Whatever this commit as usual adds the support for it. The themeing is done in the
other commits by kroz which is as well way more extended then on the older versions

cheers

PatchSets:
- minor code cleanup

PatchSet5:
- use one value for auto modes

PatchSet6:
- kill resource caches on configuration change

PatchSet7:
- register settings observer lol

PatchSet8:
- fix not assigment of config mode change (typo lol)

PatchsSet 9 -11:
- playing around aosp qualifier is not that flexible then I thought
whatever back in most parts to original implementation handling

PatchSet 12:
- now no restarts of any application needed any more like it was on 4.3...yeaaah
- fix wrong shifting in native adapter
- fix wrong call of twilightmode
- disable debug
- cleanup

PatchSet 13:
- fix lightsensor

Patchset 14:
- no need currently to recreate the navbar we can do if a theme needs it

Patchset 16:
- synchronize on sending config change
- only send if system is ready
- fire first update when system is ready

-rebase

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/slim_symbols.xml

Conflicts:
	core/res/res/values/symbols.xml

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

Change-Id: Ifcce5a11318460dcec166cb255e9462343215692

Conflicts:

	core/java/android/provider/Settings.java
	core/res/res/values/symbols.xml
Base: TRDS dark base theme

Change-Id: Ie25abfbf5258ac479ca8bc91033f6892bbbc6741
QS: Reflect location mode in different QS drawables

Credits for the drawables to SlimRoms!

Change-Id: I8ca0ccdca9d95a2b4a76fa3490f14a21c452b5d4
TRDS: Dark DocumentsUI

for Downloads app

PS:
- fix settings

Change-Id: I87d49e97b8a0a67bd4d85f0137eb0960155428cb
[1/2] Base: recover last location state during on/off switch

Based on this SlimRoms commit:
https://gerrit.slimroms.net/#/c/1421

Settings: https://gerrit.omnirom.org/#/c/4875/

Change-Id: Ia2484c9266d0276fd2d8bd0dc160487422e6063d
Lockscreen: See through (1/2)

Add the ability to see through lockscreen.
Adapted to kitkat from jellybean by @BigBrother1984

Signed-off-by: D4rKn3sSyS <jesdga95@gmail.com>
Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS2:

* Adding missing sem-colon.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

Change-Id: I9057a6e302a5a824799844f27e8f64ff677a520a

PS3:

* Replace and remove undefined mContext.
* Define the boolean enableScreenRotation inside new method.
* Whitespaces clean up.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS4:

* Restore mContext in setKeyguardParams().

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS5:

* Fixes for setKeyguardParams() and maybeCreateKeyguardLocked() methods, kitkat changed some things.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS6:

* Missing sem-colon.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS7: Fix all the things.

* Effects doesn't vanish after first unlock.
* Created condition in updateShowWallpaper() method that just return if see through is activated, he was restoring the wallpaper at second lock.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS8: Cosmetic changes.

* Correct java style name to seeThrough() and place it above updateShowWallpaper().

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS9: Other cosmetic changes.

* Better name to the see through boolean.
* Removed a space nitpick.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

PS10:

* We had two booleans for the same thing, ditch the one defined in one class only and take the global.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>

Change-Id: I06d952f85baf284961a24c8c9f90b29f4aef719a

Conflicts:

	core/java/android/provider/Settings.java
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
	services/java/com/android/server/wm/WindowAnimator.java
Fix: Ensure lockscreen see through setting persists after reboot

If see through was enabled and the device was rebooted,
the user had to toggle the setting off and on again to activate.

Change-Id: I726220a39ac61cf135e5c63a9dbb8def7ed6fa2e
Fix: Correct possible null pointer when enabling see through lockscreen

PS2: Remove unused variable

Change-Id: I28884cb18964b273539261b8c0f72cedf2e60666

Conflicts:

	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
Frameworks: Lockscreen Blur

  If user selects "See through" under screen security,
  the locksceen background will now appear transparent
  with the content behind it blurred.

Modificaitons made to the orginal commit to support Hammerhead and Flo.
It seems full HD images causes rendering artifacts. To prevent this,
we scale the image size to something more manageable.

PS2: Reduce calls to System.Settngs
     Move bitmap scaling to DisplayPowerController
PS3: Fix styling
PS4: Fixes: 1. Black wallpaper after turning off see through
            2. Wallpaper flicker on unlock when blur is enabled
PS5: Ignore status bar and nav bar when capturing screenshots
PS6: 1. Remove content observer and unnecessary calls from viewManager
     2. Restructure the flow of setting the custom image
         * now closely follows setting album art as lockscreen image

Change-Id: Ie72bab697726af5e145bd0192980885ea7222ecd
Fix: Lockscreen Blur Rotation

Credits to David L.-W (David96)
https://github.com/AOSPAL/android_frameworks_base/commit/f80b748

Modifications made to address the issues noted in original commit

Change-Id: I721e7f8554433b903209da5587ac1dfcd83420cd
[1/3] Base: Increasing ringtone volume

Change-Id: I36df10d56612f67c5d44efd9c4e31532de06d901
[2/2] frameworks_base : custom clock shortcut in notification drawer.

Change-Id: I941cdebde0b9d90c92f83df9e44f40bb4d4cce63