DockBatteryMeter: Avoid double detach when view is rebuilt

If the view is reconstructed for some reason (like applying a theme)
on a device without a dock battery, it'll try to detach and unregister
twice. The second unregister will case an NPE since the first one
killed the listener. Fixit.

Change-Id: Idcc0c7c87ef205ddc085a9e036fe630afd9d7012
Merge "DockBatteryMeter: Avoid double detach when view is rebuilt" into cm-11.0
 [2/2] Frameworks: HALO Forward port from jb.

Change-Id: Id1d6baa2ab95ecf405c02c5d82732d1f545fc10a
PS1: Initial port Fix conficts with notification LED Fix derp Major derp HALO Mods Rebase Fix blackist, code clean and added some TODOs
PS2: Fix build
PS3: Fix bubble sometimes doesn't respond on new notification
PS4: Align halo icon
PS5: Keep floating app in recents and disable transparent layer temporarily (NOT INCLUDED)
PS6: Fix conflict after recent merges
PS7: Cosmetic fixes: Fix buttons layout in status bar. Status bar button holders show halo + qs switch on notification and qs edit mode + notification switch on qs. Update new margins size. (PARTIALY INCLUDED)
PS8: Rebase Clean white spaces Toggle on/off from notification shade icon (remove red X) Standardize behavior (remove option to reverse tap/double tap)
PS9: Remove references to LayerActivity
PS14: Rebase
PS15: update halo strings to prevent conflict with latest changes
PS16: Wrap all things! Modify halo behavior
PS17: Get the correct activity stack: this makes all windows in the same stack to get the floating mode
PS18: Stop pop-out on rotation
      Catch "silent" notifications
PS19: Rebase
PS20: Rebase, fix conflicts with recent merges
PS21: Fix missing commit messages from previous undefined patchset (19) and other conflicts
Change-Id: I257b7109cc1efd146a1e7096143f45c4f9dc8f98
HALO: make windows moveable and scaleable [WIP]

Change-Id: I8c3118f6d548dc70f186454fb8d15a4bae9bbeb0
Power menu QS tile (1/2)

- Simple press goes to power menu dialog
- Long press goes to reboot dialog

Change-Id: Ica86831bf02be60b88a693b6367be6f08e705ba6

Conflicts:
	packages/SystemUI/res/values/cr_strings.xml
Power menu into navring targets (1/2)

- This commit use the intent added here: 0efd6981a6c4b299204b8d4f5495bddb5049f30e

The intent added in  core/java/android/content/Intent.java is called when power menu is choosed

Change-Id: Ifcf898ce7e3221fc67c18b2a54806ef344f68e7f
[1/3] base: allow disabling non intrusive incall ui

Change-Id: Icbc1ccef75cb297da8a7974ed451da8b4e6e9b9b
 Navigation bar dimensions (1/2)

- Change height when in portrait
- Change width when in landscape
- Option to enable or disable nav bar

This is partially ported from SlimRoms
Thanks to @kufikugel

Change-Id: Ic2bfb32684c3d74062d123266db1516e09d92fb6
Frameworks: Advanced low battery indicator options (1/2)

Based on a idea I saw on Liquid and from CR3C0 (thanks guys) which we
modified to an extended version

This commit introduces following new SlimBean modes to indicate low battery

     * 0 = show dialog + play sound (default)
     * 1 = fire notification + play sound
     * 2 = show dialog only
     * 3 = fire notification only
     * 4 = play sound only
     * 5 = none

Due that notification is a unique SlimBean feature some words on it. Notification
behaviour is the same as Pop-up. User can dismiss it manually or it is
dismissed automatically if charger is connected, click on notification opens
PowerUsageSummary. Also you get a status bar ticker message about the notification
and notification is always on first place of list. And last if vibration is enabled
notification vibrates.

Patchsets:
 - codestyle corrections

Patchst
 - add PowerUsageSummary intent

cheers

Change-Id: I2097afad8a090d2557a1e545cf978c87ca77d6c1
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>
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: Id3d6942dd39fe95ec3a8aec6d27ff85642ae7632
Fix: Correct possible null pointer when enabling see through lockscreen

Change-Id: Iee3b51504a1d233c63ef9d4a97f9cf4d51f42694
PS2: Remove unused variable
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: I741ce7d2fc5795085a897560c0065ad28f051e96

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
Fix: Lockscreen Blur Rotation

Credits to David L.-W (David96)
AOSPAL@f80b748

Change-Id: I30257ead5abc05465749f3b12b59ed07f6a8ea2d
Frameworks: Policy: implement a pin keypad shuffler [1/2]

this is to further prevent people using the tablet guessing your pin based on fingerprints left on the screen
example of the expected outcome - https://www.dropbox.com/sh/r3xb2q53ksaqni9/Oz1Eu8Dm7O

- correct coding style
- added reload button

PatchSet:
- simplify shuffle code
- fix over shifting in some cases
- add reload button functionallity
- add lockscreenutils method to detect only PIN lock
  for settings
- exclude sim and simpuk PIN lock
- add drawables for reload button

PatchSet
- cleanup

PatchSet:
- fix shuffle NumKeyPad even if a theme replaces the xml
  and reload button is not present.

PatchSet:
- add mode disabled/always/on request

cheers

kufi

Ported to new keyguard package on 4.4

Change-Id: Ie246a54c982e0dbfc26abe1d82f02ce2fd1acd75
Frameworks: LockBeforeUnlock the new way (1/2)

Due that aosp removed the whole LockBeforeUnlock controll (show slider
lockscreen before an unsecure internal lockscreen) we must try to find another way
without touching the security system itself. Long guess short solution, lmao

here it is, next SlimKat feature

cheers

PatchSet:
- bring eca button to front in lockbeforeunlock mode to make
  it clickable on slider lockscreen

adapted our 4.3 version to 4.4 and smaller fixes/code improvements

Change-Id: Ifa25896b60878c15a464a199f00d8144ea336b54

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardSelectorView.java
Extended QS Options (1/2)
- 3, 4 or 5 tiles per row
- Duplicate tiles quantity in landscape mode

Change-Id: I992ca27632b2d106dfa1b903fda08afe7a49b9ea
Custom clear recents button (1/2)
    - Option to show/hide
    - Option to choose which corner to place (top left, top right, bottom left, bottom right)

Thanks omnirom team
Original commit: https://github.com/omnirom/android_frameworks_base/commit/dc9ddf62c4a0b1710ad3ce4bdf19ce5dcf63094c

Change-Id: I9c15fee94de38cd94a8d685b76a43af58c48bd5e
Ram bar (1/2)

Change-Id: I19003c1bbcf3226414e9e3168418afc912ae850e
Base: Allow hiding notification icons

When long pressing a notification, add another menu
item which allows the user to hide the notification icon
(but keep the actual notification in the dropdown).

This is meant for applications which have services running
in the statusbar which the user is aware of, so right now
we hide the icon by the package.

Change-Id: I60c8705e1fd02d7b26dbe90fe39a3b40febdbfcc