[1/2] Various status bar battery style options

* Add native battery bar with percentage option.
* Add circle battery (with percentage) option (Credits @Sven-Dawitz).
* Add icon style reflected by QS battery tile (Credits @kufikugel).

[1/2] 多种电池图标样式选项
* 添加原生电池百分比选项.
* 添加圆圈电池(+百分比)选项 (感谢 @Sven-Dawitz).
* 添加快捷设置电池磁贴映射通知栏电池样式 (感谢 @kufikugel).

Referenced commits:
参考的commits:
SlimRoms/frameworks_base@09052553399741defd000b8886e39bc8beb9afd7
CyanogenMod/android_frameworks_base@bc5b61deccfe5f1093b986a6c4466635420e569a
AOSPA/android_frameworks_base@231b07a98ddb4def26e4adf81ec05161e4e1b6ef

[2/2] in platform_packages_apps_Settings
Fix application transitions in immersive mode.

This commit fixes recent animation in immersive mode.

修复了沉浸模式下的应用切换.

这条commit修复了沉浸模式下"最近打开的应用"的切换动画.
Fix navbar behavior in immersive mode.

修复了沉浸模式下导航栏的行为.
Time and date onClick actions

* Add separate onClick actions to time and date
    in both status bar notification pulldown
    and in status bar quicksettings pulldown.
* Click on time will open Alarm, click on date will open Calendar.

时间和日期的onClick动作.

* 添加通知面板下拉和快捷设置面板下拉中
    时间和日期的独立onClick动作.
* 点击时间会打开时钟, 点击日期会打开日历.

Original implementation:
基于:
omnirom/android_frameworks_base@dd045bb093809196ab2df6954eda1c27cb28facf
[1/3] Add network and Lightbulb tiles

* Add an LTE tile and a 2G/3G mobile network tile.
* The LTE tile requires that at least one 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 on, 2G/3G tile will be disabled (shows unknown).
    The reverse is also true.

[1/3] 添加蜂窝数据和Lightbulb快捷设置面板磁贴
* 添加LTE磁贴和2G/3G磁贴.
* LTE磁贴要求build.prop中至少有以下两个参数中的一个才会显示:
        telephony.lteOnCdmaDevice=1
        telephony.lteOnGsmDevice=1
* 2G/3G磁贴可在"仅3G", "仅2G"和"2G或3G"中调整.
    如果LTE开启, 2G/3G磁贴会禁用 (显示未知).
    反之亦然.

[2/3] in platform_frameworks_opt_telephony
[3/3] in platform_packages_services_Telephony
[1/2] User configurable clear all recents button

* Add a button on recent panel to clear all recent apps,
    and an option to alter its position(or switch off).
* Add new drawables for clear all recents button,
    instead of using ic_notify_clear from notification area.
    Thanks @arzbhatia

[1/2] 用户可调整的清除全部最近应用按钮

* 在"最近打开的应用"面板中添加一个"清除全部最近应用"按钮,
    以及一个选项来调整它的位置(或禁用它).
* 添加"清除全部最近应用按钮"专用的drawables,
    而不是沿用通知面板下拉里的ic_notify_clear.
    感谢 @arzbhatia

[2/2] in platform_packages_apps_Settings
[1/2] Combine LTE & 2G/3G tiles

This combines these two network tiles into one tile.

[1/2] 合并LTE及2G/3G磁贴

将这两个蜂窝数据快捷设置面板磁贴合并为一个.

[2/2] in platform_packages_services_Telephony
[2/3] Increasing Ringtone

Add option to set the incoming call ringtone volume
to increase in user-defined increments.

[2/3] 渐强铃声

添加允许用户自定间隔的渐强铃声选项.

[1/3] in platform_packages_apps_Settings
[3/3] in platform_packages_services_Telephony
[1/2] Volume adjust sound & KitKat style drawables

* Add volume adjust sound, the sound made when
    you adjust volume with volume rocker.
* Add an option for user to enable/diable the sound.
* Refresh related drawables with KitKat style ones.

[1/2] 音量调整音 & KitKat风drawables

* 添加音量调整音, 即当你用音量键调整声音时发出的声音.
* 添加用户可设置的选项来启用/禁用音量调整音.
* 换血相关的drawables为KitKat风.

[2/2] in platform_packages_apps_Settings
[1/2] Unlinked volumes & expandable volume overlay

* Add option to unlink volumes.
* Add user configurable options for volume overlay.
    Choose from single, expandable, expanded and hidden.

[1/2] 分离音量 & 可展开音量调节面板

* 添加允许独立调整各项音量的选项.
* 添加用户可配置的音量调节弹出框.
    可在"单行", "可展开", "已展开", "隐藏"中选择.

[2/2] in platform_packages_apps_Settings
[1/2] More functional volume rocker

* Add option to wake screen with volume rocker.
* Add option to seek music track with volume rocker longpress.
* Add user configurable option to
    control cursor in text field with volume rocker.

[1/2] 功能更丰富的音量键

* 添加可用音量键唤醒屏幕的选项.
* 添加可用音量键调整播放曲目的选项.
* 添加用户可配置的输入框中音量键调整光标的选项.

[2/2] in platform_packages_apps_Settings
[2/3] Add AOSP Dialer check

* Adds a check for the AOSP dialer so features depend on it
    will be disabled in Google dialer is used.
* Disable QuickSettings network tile if Google dialer is used.

[2/3] 添加AOSP电话的检测

* 添加对AOSP电话的检测, 从而
    在用户使用Google电话时禁用不支持的特性.
* 当检测到用户使用的Google电话时,
    禁用快捷设置面板里的数据磁贴.

[1/3] in platform_packages_services_Telephony
[3/3] in platform_packages_apps_Settings
Fix for screenshot animation glitch in portrait

edits by Stefano Semeraro aka Suxsem.

修复纵向显示时屏幕截图动画的问题

代码经Stefano Semeraro(即Suxsem)修改.
Fix immersive mode recents animation

Inspired on CyanogenMod/android_frameworks_base@be9c31709e2b90bc85ef1814b22df1785515d23d

修复沉浸模式下"最近打开的应用"的动画

启发于 CyanogenMod/android_frameworks_base@be9c31709e2b90bc85ef1814b22df1785515d23d
Longpress user tile opens account sync dialog

In QuickSettings, userTile onLongClick opens ACTION_SYNC_SETTINGS.

长按用户磁贴打开账号同步悬浮窗

在快捷设置中, 为userTile添加onLongClick打开ACTION_SYNC_SETTINGS的行为.
Parse UUID string with Long.parseLong

Integer.parseInt throws an NPE for values greater than 0x7fffffff.

采用Long.parseLong来解析UUID

Integer.parseInt在数值大于0x7fffffff会出现NPE.
Longpress rotation tile opens Accessibility

In QuickSettings, rotationLockTile onLongClick
opens ACTION_ACCESSIBILITY_SETTINGS.

长按旋转锁定磁贴打开辅助功能

在快捷设置中, 为rotationLockTile添加onLongClick
打开ACTION_ACCESSIBILITY_SETTINGS的行为.
[1/2] Navigation bar buttons customization

* Add option for user to customize navigation bar.
* Add device type checking using the previously added utility function.
* Fix buttons layout in mdpi & hdpi in landscape.
* Fix search_light pointing direction in landscape.
* Fix issues with RTL layouts.
* Fix orientation determination logic.
* Add alpha value applied to all layouts.
* Fix error with backAlpha values.
* Add null check all button usages.

[1/2] 个性化导航栏按键

* 添加导航栏自定义的选项.
* 添加用先前加入的功能对设备类型进行检测.
* 修复mdpi和hdpi在水平视图下的按键布局.
* 修复search_light在水平视图下的指向.
* 修复RTL布局下的一些问题.
* 修复旋转方向判定逻辑.
* 添加alpha值至全部布局.
* 修复backAlpha值错误, 采用findButton而不是findViewWithTag.
* 添加按键使用的空值检测, 用户可能隐藏他们.

Thanks to CyanogenMod for the original implementation.
感谢CyanogenMod原创实现此功能.

[2/2] in platform_packages_apps_Settings
AOSPA QuickSettings 3.0

* Add dual tiles evolved concept and animation.
* Add up/down switch animation.
* Add turn on main tile reminder effect.
* Remove hovering on touch.
* Add dedicated classes for RSSI, Wi-Fi and basic dual tiles.
* Add integrated Wi-Fi AP tile.
* Add integrated screen timeout tile.
* Rework immersive tile and add triple immersive mode.
* Add dual tiles edit mode.
* Fix scrolling on edit mode.
* Add bluetooth extra tile.
* Add location extra tile.
* Fix network tiles icon refresh at boot.
* Fix network tiles for CDMA devices.
* Add brightness tile OnLongClick action to switch mode.
* Rework and simplify RSSI dual tile.
* Fix QuickSettings transition on rotate: back to stock aosp.
* Add fadeout effect to tile being dragged: 5% opacity.
* Add updated Google dialer check for QuickSettings 3.0.

AOSPA 快捷设置面板 3.0

* 采用更新的双磁贴概念, 使之成为真正意义上的双磁贴, 并添加动画.
* 添加上下切换的动画.
* 添加打开主磁贴的提醒效果.
* 移除触摸时的悬停效果.
* 添加独立的类别给RSSI, Wi-Fi和基础双磁贴.
* 添加整合的Wi-Fi热点磁贴.
* 添加整合的屏幕延时磁贴.
* 返工沉浸模式磁贴, 并添加进阶的三重沉浸模式.
* 添加双磁贴的编辑模式.
* 修复编辑模式下的滚动.
* 添加蓝牙的进阶状态显示磁贴.
* 添加位置的进阶状态设置磁贴.
* 修复蜂窝网络磁贴开机时刷新的问题.
* 修复CDMA设备上的蜂窝网络磁贴.
* 添加亮度磁贴OnLongClick的行为: 开关自动亮度模式.
* 返工并简化RSSI双磁贴.
* 修复快捷设置在旋转设备时的转换效果: 用回原生AOSP效果.
* 添加被拖动的磁贴的淡出效果: 透明度为5%.
* 添加更新的适用于快捷设置3.0的Google电话检测模式.

Hats off to AOSPA team for their hard work on this implementation.
为AOSPA团队在这个功能的实现上付出的努力, 向他们脱帽致敬.

Reference commits:
参考的commits:

In Gerrit:
https://gerrit.paranoidandroid.co/500
https://gerrit.paranoidandroid.co/3536
https://gerrit.paranoidandroid.co/534
https://gerrit.paranoidandroid.co/3540
https://gerrit.paranoidandroid.co/3546

In GitHub:
AOSPA/android_frameworks_base@ffe5ada3f50a0ed4ac68fa40f2dbac20643e9bba
AOSPA/android_frameworks_base@c2c035628d69b53811fd1d977caa1e0820f79f8c
AOSPA/android_frameworks_base@7ccaa1a50ed6e07667fda445f77f67658e14b09b
AOSPA/android_frameworks_base@39c730815ea557214788dbb8b225ab794ffd65c2
AOSPA/android_frameworks_base@2030298fd3b9ddd5bd394fb45490e1b26736ca8f
AOSPA QuickSettings 3.1

* Refresh sleep tile drawables to follow holo style.
* Remove dead code, useless imports.
* Add sleep tile longpress action: open power menu.
* Restore RSSI tile longpress action: open data usage.
* Restore immersive mode dual tile concept:
    Front: Global On/Off
    Back: Full/Hide navigation bar/Hide status bar
* Fix data indicator of RSSI tile.
* Rework behavior of temporary tiles on edit mode.
    Will now disappear during edit and add animation.
* Replace Animator.AnimatorListener with AnimatorListenerAdapter.
* Remove edit mode button flip animation.
* Fix sleep/screen time tile label on clean flash boot.
* Add immersive mode last active state to system variable.
* Replace drag (to lift up tile) with onLongClick in edit mode.
* Refresh dual switch drawables.
* Add new swapTiles transition animation.
* Add better SwitchView effect.

AOSPA 快捷设置面板 3.1

* 换血锁屏磁贴的drawables为holo风.
* 清理代码, 删除无用的import.
* 添加锁屏磁贴长按动作: 打开电源菜单.
* 恢复RSSI磁贴长按动作: 打开数据用量.
* 恢复先前的沉浸模式磁贴概念:
    第一层: 全局沉浸模式开关
    第二层: 三种进阶沉浸模式之间切换.
* 修复RSSI磁贴对蜂窝数据开关状态的显示.
* 返工临时磁贴在编辑模式下的行为:
    在编辑模式中会暂时消失.
* 替换Animator.AnimatorListener为AnimatorListenerAdapter.
* 移除编辑模式按钮的翻转动画.
* 修复锁屏/屏幕延时磁贴在三清刷入时的初始状态显示.
* 将沉浸模式的状态加入系统变量以便在重启设备后能保持原状态.
* 替换编辑模式下的拖动唤醒磁贴为onLongClick长按唤醒磁贴.
* 换血双磁贴切换的drawables.
* 添加新的swapTiles转换动画.
* 添加更好的SwitchView切换效果.

Hats off (again) to AOSPA team for their hard work.
(再次)感谢AOSPA团队付出的努力.

Reference commits:
参考commits:

In Gerrit:
https://gerrit.paranoidandroid.co/3569
https://gerrit.paranoidandroid.co/3593
https://gerrit.paranoidandroid.co/3594
https://gerrit.paranoidandroid.co/3604
https://gerrit.paranoidandroid.co/3645
https://gerrit.paranoidandroid.co/3680
https://gerrit.paranoidandroid.co/3733
https://gerrit.paranoidandroid.co/3738
https://gerrit.paranoidandroid.co/3749
https://gerrit.paranoidandroid.co/3753

In GitHub:
AOSPA/android_frameworks_base@2cf415ca0b64891e5f13243c98d0a7830c8c3dc3
AOSPA/android_frameworks_base@d0a1e2e069701d7cc452dba014e947b65f1ad367
AOSPA/android_frameworks_base@853fb95431dab703f4696ddf920b0bdb14f06a4d
AOSPA/android_frameworks_base@39a54d46be68825774e9a576604989830b4d2ce1
AOSPA/android_frameworks_base@9db9338b02c9b57eb0f7db56feccc5479dfb8613
AOSPA/android_frameworks_base@983911e199e231e9d16a0f642d4ea4bf707327a2
AOSPA/android_frameworks_base@d41b170a02feefef37d435a46588f69679cd1516
AOSPA/android_frameworks_base@53da3625b7ce1b30e7464744fcb7397f3d2fdf3f
AOSPA/android_frameworks_base@7981076e4c96afe483780b28caac952f6520864c
AOSPA/android_frameworks_base@d4b3a53b54aeec740e9b5bab2d917e6009c1aab6