[1/2] Base: Squashed commits for 4.4 active display

Add active display to ChameleonOS [1/2]
Change-Id: I51c17cec33b65dc60111a10c5ca2c449596ebe63

Correct active display settings naming
Change-Id: Ibfa2d41eed01d8987df52f013b111a0ce4e70739

Active display: Add options for date and am/pm [1/2]
Change-Id: Idc09772829cc6aa9bcfb064459fb3557c7b37f6b

Active display: Add sunlight mode. [1/2]
Change-Id: I541e74c5a1a7e6ce5028ab00cf998bba1d4fe0f9

Delay hiding systemui by 100ms
Change-Id: Iad432f75195983837d643fa38495e6beb54f3e22

Active display: make sure mNotificaiton is set correctly
Change-Id: I4111ca843e340cca4d6dac4b2c2922ce3039e487

Active display: register/unregister recievers and listeners when enabled/disabled
Change-Id: Ic73e63da2c9634bc864ab1a1387eb9145eb0b5b0

Active display: Unify (un)registering callbacks and add proper checks.
Change-Id: Ie4c4660a54d2c60831f7a3bcc66b3a9ca1d035f2

Active display: allow hiding low priority notifications. [1/2]
Change-Id: I4831d6864b509e62b449c25619c59f5d6760ec47

Active display: Enable proximity sensor only when screen is off
Change-Id: I70979b5931815adb74bd8bc42e32886a6d829a12

Active display: Use a default notificaiton icon.
Change-Id: I4087ef3e407cf976f7bfb2bb89f850641101bc73

Active display: Only fetch next notification if mNotification is null.
Change-Id: Ife8511d4a4b8c448bc7aa8997a250068bec5fae7

Active display: Don't show active display if call state is not idle.
Change-Id: I2cb79e097ae24dc6ad6c8a33be88eb19f7d8d235

Active display: Allow apps to be excluded from being displayed [1/2]
Change-Id: I5c334833b78325733ae076c07afccebb02758ead

4.4 implementation of active display

Settings: https://gerrit.omnirom.org/#/c/2586/
OmniGears: https://gerrit.omnirom.org/#/c/2584/
Change-Id: I08330a28d0880f82c09ccaec7e36844d9e6570d5
(cherry picked from commit e5effb60abf60f35a2336b5396c560e39cba0f52)

Conflicts:
	core/java/android/app/INotificationManager.aidl
	core/java/android/provider/Settings.java
	core/res/res/values/pac_strings.xml
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/cr_dimens.xml
	packages/SystemUI/res/values/cr_styles.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
Active display: Ability to turn off the screen, when a not clearable notification is present

Removing the last clearable notification in AD turns of the screen. But if there is a not clearable notification, there is no ability to turn it off directly.
This patch adds a power target on place of the 'clear notification' target of AD.

Change-Id: I807cca4c293ed732b441cfdcca50957b427809fa
(cherry picked from commit 90cad6cd2751ff6f1977bd26041624864b99f83b)
[1/2] Base: Pimp up ActiveDisplay

This is a squashed commit of the following:

- Active display: turn off display if device gets pocketed again
  https://github.com/CyanKang/android_frameworks_base/commit/3c139633e2cb341452320207e93fd10b480b65ed

- Active display: Option to change display timeout
  https://github.com/CyanKang/android_frameworks_base/commit/31a3c7dced93bda9501915ea87f28f8fd541b650

- Active display: Add some log output
  https://github.com/CyanKang/android_frameworks_base/commit/5be6bd59c27b0994b2459e4fe360d35c43349929

- Active display: Add threshold to proximity sensor
  https://github.com/CyanKang/android_frameworks_base/commit/fc4561bf1e78d656e37b6bc51340767e1ffa03f6

  Display will only be activated if the proximity sensor was covered for 5 seconds or more.

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

Change-Id: Ib934157da195eb307c3c852de3d0549ad06bd004
(cherry picked from commit 73599b59b20ce5878c88ebae8fae5c93ccd7e9c7)

Conflicts:
	core/java/android/provider/Settings.java
[1/2] Base: Fix pimp up ActiveDisplay

This is a fix for the new features added with change: https://gerrit.omnirom.org/#/c/2819/

1. Fix the bug when Pocket mode is set to Notifications only and you
unlock your device with power key and if you put your hands over
proximity sensor the device will turn off (very annoying). The problem
was that mWakedByPocketMode it was put in wrong place.

2. Added an option in active display settings for "turn off display if
device gets pocketed again" (it's annoying for me, because i cover
the proximity very often).

3. Added an option in active display settings for proximity threshold.
I use this active display feature as an replacement for "sweep2wake",
and when my phone it's on the table, i just want to pass my hand over
it to show me the clock or notification (this was ok before the pimp up
commit), and now, you can choose how many seconds for proximity
threshold.

Practicaly, this commit fix one bug, and add settings for the
features added in 'pimp up' commit.

[2/2] part: https://gerrit.omnirom.org/#/c/3381/

Change-Id: I9e49ddb89002699714dcc3b3d2b1df87dc4bab4b
(cherry picked from commit 41a2a1892795ddb8d2825f0105dd93af4d52e883)

Conflicts:
	core/java/android/provider/Settings.java
base: ActiveDisplay: fix for disappearing notification bar

What a derp
http://jira.omnirom.org/browse/OMNI-158
http://jira.omnirom.org/browse/OMNI-101

PS2
dont do it on secure lockscreens

PS4
check if lookscreen is enabled

Change-Id: Idf7fd7c15fcd87e2efb62f0a234e15f1df1921e8
(cherry picked from commit 360d044e2842e422c9f0e2c12c36d01d5f494987)
Base: Fix ActiveDisplay problem

follow kitkat changes
fix ActiveDisplay never disabled after using turn off display option

Change-Id: I1d178875c2643e872da40cae9781313fca53a6a5
(cherry picked from commit 22de3bb8d7c43cdccda9c8159b9006088fa0133d)
Base: Fix for fix ActiveDisplay (Emergency)

this an emergency fix for last patch was merger

using another logic to determine, when need to hide Statusbar and Navigationbar
we dont want systemui visibility reset if lockscreen still enable and ActiveDisplay force to Turn Off

Correct ActiveDisplay visibility when launch Ongoing Notifications

fix Back button navbar cant work on some conditions

since AD detect User Activity, we dont want to override UserActivity inside View, so do only if AD visibilty are Gone

also add patch to keyguard, do not reset if ActiveDisplay visibility Visible
taken from Lockscreen Notification by David L.-W <david.leppla.weber@gmail.com>

Change-Id: I9d4001870db28ee04bdd622fa7147543b658251f
(cherry picked from commit 1c49013b6461e24421bf2fb8192561f998a37409)
Base: ActiveDisplay check for Immersive Mode Enable

As we know, Immersive Mode will force StatusBar and NavigationBar to Hide
while ActivieDisplay always setSystemUiVisibility flags for Both if enabled,
and will cause a conflict for that flags

// how to reproduce bug:
// set ImmersiveMode enable
// set ActiveDisplay enable
// Turn Off screen, swipe to sensor, ActiveDisplay showing
// Turn Off screen again (using Power button)
// Turn On screen (using Power button)
// pull Quicksettings, disable ImmersiveMode from ImmersiveTile
// Turn Off screen again, swipe to sensor, ActiveDisplay showing
// unlock via ActiveDisplay
// voila.... random flags will be set into setSystemUiVisibility
// (sometimes navbar or statusbar or both are gone)

lets make ActiveDisplay check for ImmersiveMode enable/disable,
so ActiveDisplay will not always setSystemUiVisibility flags
if ImmersiveMode enable

also workaround fix for unknown icon (?) sometimes appears
(if Show All Notification enabled)
(based from user report at XDA thread, why they always report there not in JIRA :/)

Change-Id: I550143864d387d7725c018f084e253c1e47cc3c0
(cherry picked from commit 1f1dc1e8dc98556f47d784df35f205af8ca2e328)
Active display: Respect Quiet Hours

PS2: Use QuietHoursHelper

PS4: Fix PS3

Change-Id: Iba6f339e8073fa28ee6b96a6b889cd3faf724111
(cherry picked from commit 2d594d0fa585a22cbe49ed898d35e5fb7d8093b2)
Base: more fix Active Display

fix http://jira.omnirom.org/browse/OMNI-352
fix http://jira.omnirom.org/browse/OMNI-357

Change-Id: Ibdd9617ce472213520261358bb6b77e9ff5eb523
(cherry picked from commit ee89418c40f3d183a17dee13d74138a1200d0d9a)
Base: more fix Active Display (again)

maybe fix
http://jira.omnirom.org/browse/OMNI-313
http://jira.omnirom.org/browse/OMNI-421
http://jira.omnirom.org/browse/OMNI-401

Change-Id: Id947e18a9299200f1ccd41aa70e56534fdbb4b57
(cherry picked from commit f47f67046475ab3563e2e68169cdeeb0184e6e89)
Base: Disable proximity sensor when screen goes on in ActiveDisplay/PocketMode.

Active Display (in Pocket Mode) currently only switches off the proximity sensor in some cases.
If the user switches on the screen itself, the sensor is left running. This change
stops the sensor as soon as the screen goes on. Active Display already started the sensor each
time the screen goes off.

PS2: In the mode that turns the screen off again when the device is pocketed,
the sensor stays on until you leave ActiveDisplay.

Change-Id: Id7afcd858f341ad929606d302c5741efa99a7c6f
(cherry picked from commit 698cd16ab17a8439dc6c95f4b874cebb0c0c6102)
[1/2] Base: ActiveDisplay (rework interface)

really fix AD buggy stuff
tested with Music play
tested with No lockscreen
tested with faster screen turn off
check all sensor going off if AD not Showing or Disabled
fix notification posted/removed
make AD using System Window so it will covered all screen
fix Navbar translucent if Lockscreen Blur merged :P
now using Rounded Image
also introduce new RoundedImageView widget
 courtesy of @vinc3m1 (thanks)
fix build
fix sometimes screen turn off after unlock because screen timeout (hopefully)
now using new parser to get Notification data (thanks @Achep for the parser)
rework lightsensor manager
add NotificationUtils
fix brightness sometimes not changing

add support applications privacy mode (will not show content message if enable on each app)
see http://jira.omnirom.org/browse/OMNI-600

allow bypass AD if no notification and lockscreen is secure
see http://jira.omnirom.org/browse/OMNI-594

fix proximity always enable after adding new feature allow bypass AD
fix parsing notification data from app with targetSDK < 17

fix excluded app value (no body notice this broken since AD merged into OmniRom xD )

add option to allow bypass AD
make AD multiuser support

Conflicts:
	packages/SystemUI/res/values/custom_dimens.xml
	packages/SystemUI/res/values/custom_styles.xml

Change-Id: I1fc3047496cce71cefc1718b8ef3f4c4fc1605eb
(cherry picked from commit b8684a9eb8b28f70a63f5d9364e0db00bfc05278)

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/pac_attrs.xml
	packages/SystemUI/res/values/pac_strings.xml
Base: fix ClockView ActiveDisplay

why no body report this bug?

this happen since AD merger into omnirom for the first time
i found this bug after using 24 time format LOL

Change-Id: I85be84914cc8210d9b0612994a4c25a5c6bfdeb6
(cherry picked from commit 7b6061d378b2371af9446f6d2b20dd702e74591f)
ActiveDisplay: Fix for flo and other devices

The changes made to layout/active_display_content.xml were not
made to its layout-land and layout-sw600dp counterparts

Make them here too to stop flo from crashlooping in systemui.

These values may need to be tweaked later, but preventing crashloops
is top priority.

Change-Id: If137eaabad735539cc9d50c107a1733bef71538d
(cherry picked from commit f178859d0b06f605e5f192d72badbcb07775383f)
[1/2] Base: fix ActiveDisplay for WifiOnly Devices

fix http://jira.omnirom.org/browse/OMNI-637
also fix for devices with unsupported Proximity sensor and Light sensor

Change-Id: I346d4ed0ca02c6f8a6da1f3bf1de59ac9179d7b7
(cherry picked from commit 8a9e42800e1e7db6ed28e292281dadcef4cd6469)
[1/2] Base: more improve Active Display

1. fix http://jira.omnirom.org/browse/OMNI-651
2. fix http://jira.omnirom.org/browse/OMNI-641
3. add http://jira.omnirom.org/browse/OMNI-652
4. Add option Double tap to sleep every where
5. Add option to show wallpaper blur behind active display
6. Allow to show numbers of notification on Handle (only show if notification count is enabled in bar settings)
7. minor improvements
8. add battery circle around handle (only show if battery circle around lockscreen handle enabled, see security settings)
9. fix http://jira.omnirom.org/browse/OMNI-665
10. fix whitespace

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

Change-Id: I1b28041c0245de80b7d09c684f6439b2f8f5bd40
(cherry picked from commit eeecca29490f08c1fa7bd8723332aeb7206b0420)

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/cr_colors.xml
Base: fix SystemUI because ActiveDisplay

fix http://jira.omnirom.org/browse/OMNI-708
fix http://paste.omnirom.org/view/e7039c0b
fix http://paste.omnirom.org/view/6977cb45

Change-Id: Id6688c721bd262df7824183a14fcd0aab145517e
(cherry picked from commit e41e5e6552029479d57954dd9a575f789f2c294f)
[1/2] Base: ActiveDisplay bugfixes

1. fix respect QuietHour changes
2. fix compute background bound for background image
3. fix http://jira.omnirom.org/browse/OMNI-724
4. fix http://jira.omnirom.org/browse/OMNI-722
5. fix http://jira.omnirom.org/browse/OMNI-709
6. remove useless layout
7. fix invalidation when sunlight mode disabled
8. fix fetch wallpaper
9. fix glowpad ring after configuration changes
10. disable wallpaper blur until we find fix for problem in OMNI-715
11. make sure when configuration changes, all view is rebuild, so there is double background window
    is showing
12. remove Wallpaper

Change-Id: I15fc9a6cb21e009f92952477ced34cfaf37b8f38
(cherry picked from commit 27a7c9bee8ab792d248174947b4009de799dca60)
[2/2] Base: Active Display add shake event

- use better sensor event listener
- added option to bypass Quiet Hours (default now is not , that is 'privacy is first' decision)
- added option to configure time between shakes
- added option to set disable timeout
- added option to run like "PA PEEK"

Change-Id: Iabd42517a4e9df82e9cf653359104303667e43be
(cherry picked from commit c4df9b5f8c91925343443f5cd9be63cbcb37d606)

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