[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
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:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
derp
Fix build from last merge. Add merging of LTE and network tiles
A couple of improvements to edit mode

* Fadeout selected dragging item to 5% opacity
* Disable hovering on touch

Change-Id: Ie2be81f83e72c83071577a2e56b90160dc701370

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
Fix: Network tiles for CDMA devices

PS 1: initial fix
PS 2: remove 3G Only for CDMA
PS 3: rebase for QS 3.0 changes

Change-Id: I2e526c8d94cc561c48c2a9198311e03b4f18328d
Fix issue while scrolling on edit mode

Thanks to @rob43 on XDA-developers for this fix

Change-Id: I0e5cd1c2472415dcb8f003b5dc88a7e4d7b55bbf
Quicksettings 3.1

Minor post update.

* Update Recents animation with new immersive modes. Continue this https://github.com/AOSPA/android_frameworks_base/commit/48be6b18bbf2d676da75eb031ee76b282635713a
* Sleep Tile
  Cleanup code.
  Add new holoish drawable.
  Long press now opens power menu (pure emulation of power button). Thanks to @cristianomatos
* Immersive
  Back on our first concept of having the tile dualized and change it:
  - Front: Toggles Global On/Off.
  - Back: Toggles modes (Full/Nav only/Status only).
  The tile now stores last immersive state, thanks @David96 for the idea.
  Fixed a critical bug with status bar hidden only, thanks to @David96.
* Rssi Tile
  Restore long press action to data usage on front rssi tile
  Fix icon overlay, restore blank overlay on disable and while wifi is on.
* Code indenting and cleanup.
* Update dual switch icons, less bright.
* Restore a previous fix that relays on immersive.
* Get rid of some useless imports and code in quick settings, make a class for battery tile.

PS2: Update dual switch icon brightness.
PS3: Spanish translations.
PS4: Translation fix.
PS5: Translation derp.
PS6: Cleanup.
     Add battery tile class.

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

Conflicts:
	core/java/android/view/WindowManagerPolicy.java
	packages/SystemUI/res/values-es/pa_strings.xml
	packages/SystemUI/res/values/ras_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	services/java/com/android/server/wm/WindowManagerService.java

Conflicts:
	core/java/android/view/WindowManagerPolicy.java
	packages/SystemUI/res/values/ras_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
	services/java/com/android/server/wm/WindowManagerService.java
QS: RSSITile: Finally fix the data indicator

The X for data off now changes based on the mobile data enabled setting.
If mobile data is enabled, the rssi tile behaves like stock.
If mobile data is disabled, the X shows to indicate that the user disabled data.

PS1: Inital commit
PS2: Nothin to see here...
PS3: Remove uneccesary wifi check.
     The overlay should be nulled any time the other conditions aren't met
PS4: Remove unused import

Change-Id: I76e63c606f2651a8463f9cd0b3665543b420d72c
Signed-off-by: Evan Anderson <evan1124@gmail.com>
Quicksettings: Rework behavior on edit mode for temporary tiles.

* Animation:
  - Make them disappear when edit mode is enabled.
  - Put them back when edit mode is disabled.
* Fix broken touch listeners after toggling edit mode after boot.
  Adressing JIRA AOSPA-4 issue.

PS2: Simplify logic and code.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Change-Id: I4da623ec5fffad4ddf414c70a18f3ee547d83fc5
QS: Use AnimatorListenerAdapter

No need to implement all the unused methods

PS2: Underp and better commit name

Change-Id: I12116e06950e5162fdfb5b63e22531a5df1ad691
Quicksettings: Remove edit mode button flip animation.

Make things less fancy.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Quicksettings: Few misc adjustements and fixes.

* Fix sleep time tile label on clean flash boot, was showing unknown till you set it in settings.
  Initialize screen timeout with default 30 seconds (wrongly initialized with 0 that is never compared).
* Use switch statement (better performance wise).
* Bit cleanup for wifi ap tile, useless resources reload.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Quicksettings: Fix derp in QuickSettingsTouchListener.

Change-Id: I08b6019fcdfeed042f8f7c532a52289e2417b7c7
Quicksettings: Immersive: Make last active state a system variable.

Will persist after reboot.

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

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

Conflicts:
	core/java/android/provider/Settings.java
Switch quick settings drag to long click

PS2: Remove unused variables
PS3: Fix build

Change-Id: I441b7467127990f387d976132bffc8f881a55095

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java
Fix derp on imports

Change-Id: I3ea2b1767d8788e7ab1ce3972d38b8d1a96477ff
Quicksettings: Bump dual switch icon(s).

* Replace with less intrusive ones one more time, these looks beautiful.
  Drawables by Arz Bathia.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Quicksettings: New transition animation.

Also new moron effect :D

Signed-off-by: Jesus David <jesdga95@gmail.com>
Change-Id: I7838bced9568c30237a2839e4ef68b24f884d8a5
Quicksettings: Better switch effect.

* Take switch outside tile animation.
* Change a bit new X axis animation.

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