[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
Update immersive mode confirmation

更新沉浸模式确认
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
[1/2] User configurable double tap to sleep gesture

Add options to enable
  * glow pad double tap gesture to put device to sleep.
  * pattern double tap gesture to put device to sleep.
  * pin & password double tap gesture to put device to sleep.
  * status bar double tap gesture to put device to sleep.

[1/2] 用户可配置的双击锁屏手势

添加选项来启用
  * 双击光圈锁屏的手势
  * 双击图案盘的手势
  * 双击密码输入框锁屏的手势
  * 双击通知栏锁屏的手势

[2/2] in platform_packages_apps_Settings

Thanks to CyanogenMod(@dalingrin and @travp624) for the original
implementation.
Thanks to @rascarlo for the user configurable concept.

感谢CyanogenMod(@dalingrin and @travp624)对此功能的原创实现.
感谢@rascarlo的用户可配置理念.

Reference commits:
参考commits:

CyanogenMod/android_frameworks_base@f258f4479bc5397ad2c4d1ffa07125a036360196 (or http://review.cyanogenmod.org/55645)
CyanogenMod/android_frameworks_base@c0fdfafc8c2d9620172dcfad81f9100e1883e1bb (or http://review.cyanogenmod.org/57257)
rascarlo/android_frameworks_base@59238e59cfecf4620eb59e93753eb2e8d16b3dbc
[1/2] Longpress back button to kill foreground app

Add a checkbox in developer options to kill
foreground app by longpressing back button.

[1/2] 长按返回键杀掉前台应用

添加一个开发者选项的勾选框, 允许长按返回键杀掉前台应用.

[2/2] in platform_packages_apps_Settings

Thanks to CyanogenMod(@Danesh) for the original implementation.

感谢CyanogenMod(@Danesh)对此功能的原创实现.
[1/2] Navigation ring targets customization

Add navigation ring customization that allows up to three
targets on the navigation ring with custom shortcut actions.

[1/2] 个性化导航圈目标

添加个性化导航圈目标: 允许至多三个指向自定义快捷方式的导航圈目标.

[2/2] in platform_packages_apps_Settings

Thanks to AOKP & CyanogenMod for the original implementation.
感谢AOKP & CyanogenMod原创实现此功能.
[1/2] Lockscreen targets customization

Add user configurable lockscreen targets / icons.

[1/2] 个性化锁屏目标

添加用户可配置的锁屏目标/图标.

[2/2] in platform_packages_apps_Settings

Thanks to CyanogenMod(@Danesh) for the original implementation.
感谢CyanogenMod(@Danesh)原创实现此功能.
Allow querying the lowest possible brightness

Used by the auto-brightness adjustment to adjust the sliders.

允许调用尽可能低的亮度

被自动亮度控制用来调整亮度滑块.
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.

当长按音量下至震动或静音时不要调整音量

长按音量下至震动或静音时, (曾经)依然会调整音量至最小值,
而这在可语音通话的设备上是不被允许的. 因此, 在震动/静音
或最小音量的情况下, 在重启后, 会重置至默认音量.

而此项改变可以让长按音量下至震动或静音后, 能在重启时
维持当前音量.
[1/2] LED customization

* Add LED customization.
* Add global and per-app settings.
* Set default LED color as white.
* Remove stock on/off checkbox and add an dedicated category.
* Comment out dead code from display settings.

[1/2] 个性化LED

* 添加LED个性化.
* 添加全局和各个应用的设置.
* 设置默认LED颜色为白色.
* 删除原生开/关勾选框, 并添加一个独立分类.
* 将显示设置中的无用代码加为评论.

[2/2] in platform_packages_apps_Settings

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

Regarding the build:
* Remove all confusing and bloating AudioPackage*.mk but AllAudio.mk.
* Modify generate-all-audio.sh and AllAudio.mk to copy sounds into
    build in a more intuitive PRODUCT_COPY_FILES step.

Regarding the sounds:
* Reorganize all sounds.
* Remove only the ancient and dead ones.
* Use KitKat ui sounds.
* Relocate sounds in /newwavelabs into their proper category
    according to AudioPackage*.mk.
* Remove smaller ones for the duplicates
    as they are expected to have relatively poor quality.

声音大换血

关于编译:
* 删除所有复杂且累赘的AudioPackage*.mk仅保留AllAudio.mk.
* 修改generate-all-audio.sh和AllAudio.mk
    将声音以一个更直观的PRODUCT_COPY_FILES步骤复制进包中.

关于声音:
* 重新整理所有声音.
* 删除过时严重的和不再使用的声音.
* 使用KitKat的ui声音.
* 将newwavelabs目录中的根据AudioPackage*.mk
    中定义的类别分放进各自的目录.
* 删除尺寸较小的重复声音
    因为他们相对音质差一些.