Rastakat Volume Rocker (squash)
- All credits to Rascarlo

Volumer Rocker

volume adjust sound preference

volume panel: allow volumes to be unlinked. make the volume overlay more functional

volume rocker: control cursor in text field using volume keys

volume rocker: wake. music control

AudioService: Don't adjust volume when vol-downing to vibrate or silent

Pressing vol-down to vibrate or silent would (previously) still adjust the
stream volume, setting the last audible volume to 0, which is not allowed
for voice-capable devices.  Thus, the last audible volume would reset to
default on reboot if on vibrate/silent or the lowest volume setting.

By not adjusting volume when vol-downing to vibrate or silent on
voice-capable devices, the last audible volume is always preserved across
reboot.

Framework Track Control: Switch from broadcast to audio service

Ordered broadcast is unreliable.
Switch to using the Audio Service's dispatchMediaKeyWithWakeLockToAudioService
as it sends the event to the correct receiver.

Lockscreen VolCtrls: don't raise volume on skipTrack

Set mIsLongPress to true when longpress was successful to avoid
volume from being changed on release

volume rocker: make safe headset volume user configurable

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

Patchset 1: Invert actions
Patchset 2: Basic drag and drop handler (temporally stored, no animations)
Patchset 3: Animations and hover effect
Patchset 4: White color, better view swaping method, fixed bugs
Patchset 5: Edit mode (long press on user tile), Overshoot interpolator for scale animation (still temporal)
Patchset 6: Removed interpolator, added animation on entering/leaving edit mode, Stuff sticks through reboot
Patchset 7: Fixed view swapping for real
Patchset 8: Fixed jerky animations
Patchset 9: Fixes for phonestatusbar, preparing for activation method
Patchset 10: Airplane toggle -> Aint nobody got time for dat. Disable activation on user tile (waiting another method to come up to my mind)
Patchset 11: Better drag handler, edit mode on tablets only
Patchset 12: New icons, animations, back to hovering
Patchset 13: Fix behaviour with temporary tiles and slow animations
Patchset 14: Edit mode on phones (credits to Curtis Mayers: https://gerrit.paranoidandroid.co/#/c/241/)
Patchset 15: I'm not the only nitpicky here right?

Change-Id: I967f94428606f8f909cb428eaaa6d12e9d59808e

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

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java

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

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
Immersive mode on quick settings

This adds the ability to toggle statusbar / navbar via quicksettings (former expanded desktop), but
using the new 4.4 APIs that allow a swipe-up, swipe-down gesture, to restore bars.

Credits to CM project for the implementation
http://review.cyanogenmod.org/#/c/53468/

Drawables by Arz Bhatia

Patchset 2: Rebase
Patchset 6: Fixes from CM

Change-Id: I1f694d87f0364aed7b6951714ea2bfbfd8555064

Conflicts:
	core/java/android/print/IPrintDocumentAdapterObserver.aidl

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values-mdpi/dimens.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Conflicts:
	core/java/android/provider/Settings.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Fix quicksettings issues

Also add rotation tile

Change-Id: I315745ee60030eb8ead4ee1798940b45af91449a
QuickSettings: Immersive: Collapse panels on click

Most of the time users will want to enable immersive mode and go right back to the app.  This simplifies this process by closing
the quicksettings panel after immersive is activated or deactivated.

Change-Id: I7bb154941405e8efb568cf5c3cce92e963539ff8
Signed-off-by: Evan Anderson <evan1124@gmail.com>
Quicksettings: Immersive: Fix collapse panel animation.

Right now it collapse after the ui goes into immersive mode so the collapse animation is not showed.
First collapse the panel then go into immersive mode so we see the animation.

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

Change-Id: Icf2925fa517fc077929e02d1f96a8cd51163b809
Fix immersive mode recents animation.

Inspired on this https://github.com/CyanogenMod/android_frameworks_base/commit/be9c31709e2b90bc85ef1814b22df1785515d23d

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Quicksettings: Long press actions.

* Long click action for user tile (opens sync settings).
* Long click action for rotation tile (opens accessibility settings).
* General cleanup.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
PhoneWindowManager: fix navbar behavior in expanded mode after 4.4.2 merge.

Change-Id: I00f814db6c3800b8eb1cf20004ecdfb8d1ee7036
Fix: Ensure immersive tile state (on/off) persists after reboot
also fix build

If immersive mode is enabled, the immersive tile icon should be white,
with the appropriate text "IMMERSIVE" as opposed to grey with text,
"IMMERSIVE OFF".
When rebooting the device, the tile shows "IMMERSIVE OFF" regardless
of if immersive mode is on or off.

Change-Id: Id805fcb6c6fded41e1d3a38e9a1bc46b7a2a7d1e

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
QuickSettings: Tile Actions

    Mobile Data Tile:
        - Click to toggle mobile data
        - Long press to enter data usage statistics

   Alarm Tile:
	- Fix launching alarm on click

PS1: Edit mobile data tile actions
PS2: Fix type in commit message
PS3: Fix bug in Alarm tile implementation

Change-Id: I21eef91114a3119834db7181dc3b35d4eb56c90b
Quicksettings: Sleep tile.

* Click goes to sleep.
* Long click opens display settings.

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

Conflicts:
	packages/SystemUI/res/values/pa_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
QS: Update edit mode icon

Uses the correct transparency so that it matches the rest of the pulldown icons.

Change-Id: I783c4b4038b536dfb6d3c73fac3c739895e9cac6
Signed-off-by: Evan Anderson <evan1124@gmail.com>
Quicksettings: USB Tether tile

courtesy of OmniRom
based on: http://goo.gl/0RfbFy

PS3: add "private ConnectivityManager mCM;" variable
PS4: compiles, not yet tested
PS5: derp forgot to initialize mCM which caused a NPE
(http://developer.android.com/reference/android/net/ConnectivityManager.html)
PS6: fixed some connectivity manager redundancies in qs.java
PS8: make tile temporary, only appears when connected to usb.
PS10: fix conflicts in pa_strings and QuickSettingsModel after recents merges.
      clean up commit message's conflicts.
PS11: Remove unnecessary resources
PS12: Don't show tether tile is feature is not supported

Signed-off-by: Andre Saddler <dresadd09691@gmail.com>
Change-Id: I856f1a1f954544cb9e1b78f504fde8916b94235e

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

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
Fix: Don't disabe rotation lock tile

     Rotation lock tile was disabled if the user unchecked the Auto-rotate
     screen option directly from within the accessibilty settings.

Change-Id: I8a4fd11b9046507f8f07db515022ea6a4210bac5
Fix build

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

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
[1/3] Frameworks: Add Network Tiles & Lightbulb Tile

      Add an LTE tile and a 2G/3G mobile network tile.

      The LTE tile requires that at least one (1) of the following configs
      be present in the device's build.prop in order to show:
          telephony.lteOnCdmaDevice=1
          telephony.lteOnGsmDevice=1

      The 2G/3G tile toggles between 3G Only, 2G Only and 2G/3G.

      If LTE is turned on the 2G/3G tile is disabled (shows unknown).
      The reverse is also true, turning on the 2G/3G tile disables LTE tile.

PS1  : Network tiles (LTE & 2G/3G)
PS2-3: Clean up
PS4  : Add Lightbulb tile
PS5  : Add lightbulb icons & permissions
PS6  : Check for LTE support only after device boot completes

Linked commits:
      frameworks/opt/telephony
      packages/services/Telephony

Change-Id: Id64c061227efd557416de312c4e5972725c29e71

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

Conflicts:
	packages/SystemUI/res/values/pa_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java

Conflicts:
	packages/SystemUI/res/values/ras_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java

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

Conflicts:
	packages/SystemUI/src/com/android/systemui/rascarlo/ActionTarget.java
[1/2] Frameworks: Optional statusbar battery icons

    * Circle battery and circle battery percent (from CM <Sven Dawitz>)
    * Battery bar percent from Google
    * Quicksetting battery tile reflects status icon (from SlimROM <kufikugel>)

Part 2: packages_apps_Settings

Patch set 2: clean white spaces
Patch set 3: fix conflicts

Signed-off-by: Anu6is <curtis.mayers@gmail.com>

Change-Id: Ic4056d08874672263444152813a4a8e805a4abf3

Conflicts:
	core/java/android/print/IPrintDocumentAdapterObserver.aidl
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/ras_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

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

Fix
Quicksettings 3.0

* Improve code (cleanup, indenting, redistribute resources, some comments updates and more).
* Fix: Restore stock aosp transition for quick settings on rotate (the rebuild animation
       executed when you are on quick settings panel and rotate the screen is not always showed).
* Animated Dual Tiles
    Animation: Added new animation by Jesus David (@D4rKn3sSyS):
     -Up/Down switch animation.
     -Moron Effect: Reminds you to turn on main tile before acting with related extra one.
    Follow aosp quick settings style (as for Quicksettings 2.0) and improve it. Add specific classes
      and constructors for tiles that have their own layouts.
    Add dedicated classes for rssi, wifi and basic dual tiles.
    Evolve dual tiles concept making them dual tiles for real.
    Integrate dual tiles into edit mode.
    Tiles added:
     -Wifi AP Tile (Dual): Made the aosp way. Created receiver for the main intent sent to change
      wifi ap state (also toggling with apps will refresh it). Integrated with Wifi Tile. Thanks
      CyanogenMod for the drawables.
     -Screen Timeout Tile (Dual): Integrate it in the sleep tile previous added. Cleaner implement.
      Thanks Yanuar Harry (@squadzone) for cleaning my code :) Thanks Lo Huot for the drawables.
     -Bluetooth Extra Tile (Dual): Original from OmniRom. Partially rewrote it. Use android stock
      classes, methods and constructors. Toggles discoverability. Thanks Lo Huot for the drawables.
     -Location Extra Tile (Dual): From OmniRom (Yanuar Harry, @squadzone). Changed methods labels,
      add moron effect with main location tile, added its own icons. Thanks Lo Huot for the drawables.
    Tiles cleaned/updated:
     -Mobile Network Modes Tile: Fix icon refresh at boot.
     -Immersive Tile: Completely rework. Redistribuite resources, improve the code, add triple immersive
      mode (Off-Full/Navbar/Statusbar).
     -Brightness Tile: Long click toggles auto-mode.
     -RSSI Tile (Dual): Rework and simplify. Show off indicator when disabled. Merge in Mobile Network Modes Tile.
     -General Basic and CustomBasic Tiles: Clean up.

PS2:  Fix rssi front tile construction.
PS3:  Clean up wrongly added file.
      Some fixes and updates for rssi tile.
      Solve recent merge conflicts.
PS4:  Rebase:
      Fix traces of not solved conflicts after recent merges rebase.
      Improve the dual tile logic, reduce code in QuickSettings class.
      Improve screen timeout (sleep sub-tile) code, thanks Yanuar Harry.
      Don't return dual (flip) animator touch event on edit mode. (Need test)
      Nitpicks cleanup.
      Update main commit message.
PS5:  Continue rebasing:
      General code cleanup.
      Improve strings and drawables labels.
      Fix wifi ap tile construction and NPEs.
      Remove unused imports.
      Cleaned dual sleep tile implement (more polish methods names).
      Cleaned paired device bluetooth extra tile traces (added some todo).
      Update edit mode integration.
      Added a refresh callback sub-class for network tile (now contructed with
      new Basic Network Tile class). Not yet used and (EDIT: Removed).
      Update commit message (added some TODO).
PS6:  Finish bluetooth extra tile. Add drawables, refresh resources.
      Improve immersive tile.
      Traces of previous rebase.
PS7:  Fix missing icon and signal activity state for rssi tile.
      Restore rssi refresh method to aosp state (temp).
      Try to restore wifi signal activity (it doesn't show up and don't know why, yet).
PS8:  Rework the whole concept:
      Cleaned and simplify the whole code.
      Added our new animations.
      Updated copyrights.
      Added location extra tile (Yanuar Harry).
      Add wifi basic tile class to handle its layout (it has signal activity layout defined there).
      Ditch omnirom flip implementation and rework dual tiles constructor.
      Rewrote tiles layouts to host a switch button.
      Cleaned up user tile too (make its own class and save code in QuickSettings class as for the others).
      Remove unused stuffs.
      Big thanks to Jesus David that helped me making this new concept :)
      Updated main commit message.
PS9:  Forget new layouts X]
PS10: Add spanish translations.
PS11: Rebase with latest git merge.
PS12: Improvements and fixes:
      Fix switch button layout/view (derp while preparing patchset :P).
      Rework immersive tile. Upgrades modes to three (Full/Navbar/Statusbar).
      Cleanup Wifi Ap Tile code, improve code aspect.
      Improve/add strings.
      Fix Network Modes Tile icon refreshing at boot, sometimes not displayed until you toggle.
      Add hdpi and mdpi drawables for all icons added.
      WIP: Perfect edit mode integration and new immersive drawables.
PS13: Crediting @david96 for inspiring new immersive tile concept.
PS14: Added new immersive modes drawables. Thanks Lo Huot.
      Added new sleep time ones, more polished. Thanks Lo Huot.
      Improved strings.
      Updated some spanish translations.
      Code style for strings.
PS15: Fixed edit mode
      Removed WIP tag. Ready for merging
PS16: Code cleanup
PS17: Latest cosmetic changes:
      Whitespaces.
      Remove collapsing for high accuracy mode (location back tile).
      Copyright and last general clean up.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Signed-off-by: Jesus David <jesdga95@gmail.com>
Change-Id: Iceccd6a489c23286d8bc4e285fbb87b77509cd29

Conflicts:
	packages/SystemUI/res/values/pa_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java

Conflicts:
	packages/SystemUI/res/values-es/pa_strings.xml
	packages/SystemUI/res/values/pa_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/DeadZone.java
Fix build from last merge. Add merging of LTE and network tiles