Quiet Hours: Add 4 state (off, timed inactive, timed active and forced on) support

Change-Id: I2486d2dd40d0db9fceab74d53fba233bac508de3
Merge "Quiet Hours: Add 4 state (off, timed inactive, timed active and forced on) support" into cm-11.0
Rework runtime toggle of navbar to allow disabling hard navigation keys

Based on CM's runtime navbar commit by Timo Wendt,

Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
Change-Id: I1f1e601f772147b7371fdcc58c2a0be5a776913c
Merge remote-tracking branch 'cm/cm-11.0' into HEAD
Revert "fix the mac build"

Alas, April 1st is nearly done. Baaaaaah

This reverts commit 43299c39a8f4f055b23dc7bb9827eebe29da15df.

Change-Id: I600a576de1a751a31a7b32165eb011b37b83e505
Merge "Revert "fix the mac build"" into cm-11.0
Revert "[TEMP] Revert "Active Notifications:""

it's back, and as funny smelling as ever.

This reverts commit 0d7935dfad01236073b9979b7be8d98818c4c1d1.
ActiveDisplay: Remove unnecessary IPowerManager getter for screen state

This lookup method was incredibly slow and was causing some performance issues.
 Lets replace it with a boolean set by the broadcast receiver that already
handles some screen state behaviors.

Change-Id: I36cdb4122e4d3ec49d860e5a7b2af84516d69b21
ActiveDisplay: reduce some IO performed in regularly accessed methods

Previously inQuietHours() method was run nearly every time ActiveDisplay did anything.
Since it's optional if quiet hours settings will be observed we only need to run this method
when the user has chosen this behavior and futher we only need to do IO for the quiet hours
settings if quiet hours is enabled.

PS2: initialize uninitialzed variable mQuietTime and add missing return statement

Change-Id: I964fa0b56ef4296b6e9bf5c11d48c65a105e61eb
Merge remote-tracking branch 'cm/cm-11.0' into HEAD
Merge "ActiveDisplay: Remove unnecessary IPowerManager getter for screen state" into kk44
Merge "ActiveDisplay: reduce some IO performed in regularly accessed methods" into kk44
ActiveDisplay: remove some dead code

also improve isValidNotification() lookup a bit by returning false first for isoncall()
or excluded apps.

Change-Id: Ief8a1e88c73f405af1d621223ca34e23cdcc438c
Merge "ActiveDisplay: remove some dead code" into kk44
Merge remote-tracking branch 'upstream/kk44' into kk44

Conflicts:
	core/java/com/android/internal/widget/multiwaveview/GlowPadView.java