[1/3] Incoming call in background

****
This feature prevents the incoming call from backgrounding
the current activity. Which is different from the
"non-intrusive incall ui" feature.
****

Add a user configurable option to keep the incoming call
UI in the background when screen is on.
Instead, a notification will be added to notification bar,
which can be used to bring up the incoming call UI.
Ringtone and vibration still occur as per system settings.

Also, the notification added to status bar contains
decline and answer call action. This allows user to
take action directly within the notification without
having to enter the incoming call UI. As well useful
for declining or answering a second incoming call.

[1/3] 后台来电

*****
此特性可阻止来电强行插入前台而将前台正在进行的活动挂入后台.
与"非侵入式来电UI"并不一样.
*****

添加一个用户可配置的选项从而在亮屏时将来电UI置于后台.
同时, 会有一条通知被添加至通知栏, 可点击调出来电UI.
铃声及震动(根据系统设置)不受影响.

另外, 添加至通知栏的通知包含接听和挂断按钮. 允许用户直接
在通知栏里进行操作而不用调出来电UI. 同时对于通话过程
中处理新的来电也很有用.

[2/3] in platform_packages_services_Telephony
[3/3] in platform_frameworks_base
[1/3] Flip to mute/decline incoming call

Add user configurable options to flip the phone in order to
0: mute call
1: decline call
2: do nothing (default)

[1/3] 翻转以 静音/挂断 来电

添加用户可配置的选项来翻转手机以
0: 静音来电
1: 挂断来电
2: 啥也不干 (默认)

[2/3] in platform_packages_services_Telephony
[3/3] in platform_frameworks_base
Fix potential random build error

Not including any resource means that the framework-res
dependency is not noted in the build system and
sometimes (depending on the timing) leads to build errors.

Avoid the error by linking against a historical SDK
and thus not depending on framework-res.

修复潜在的偶尔编译错误

不包含任何资源意味着对framework-res的依赖并没有
在编译系统中标记出来, 而这偶尔会导致编译错误.

指向一个历史版本的SDK可以不再依赖framework-res,
从而避免编译错误.
[1/3] Keep InCallUI in memory

In lower end devices, startup of the InCallUI process can take
up to 10 seconds when the device is busy, which prevents the user
from taking the call. Keep the process in memory like previous
versions where they are a part of Phone.apk.

This converts InCallUI into a dummy apk with the persistent
attribute set to true and allows the activity from Dialer.apk,
which uses the com.android.incallui process to be loaded into the
persistent process.

NOTE: This issue even occurs from time to time on mako,
which is one of the devices I build FFFFUUUUUU for,
which is not normally considered as a lower end device.
So...I think it might be a good idea to add this feature
to FFFFUUUUUU. It won't bite anyway.

[1/3] InCallUI常驻内存

在低端设备上, 设备处于高占用状态时, InCallUI进程的
启动耗时甚至能达到10秒钟, 这导致用户无法接听电话.
将这个进程写入常驻内存, 像以前的版本中一样(该进程曾是
Phone.apk的一部分).

这条commit将InCallUI转换成一个拥有常驻进程的傀儡apk,
并使Dialer.apk中占用com.android.incallui进程
的活动变成一个常驻进程.

NOTE: 这个问题甚至偶尔在mako上都会出现, 而mako是
FFFFUUUUUU支持的设备之一, 并且通常不被认为是一个
低端设备.
因此我认为将这个特性加入FFFFUUUUUU没准是一个好主意.
反正至少没啥坏处.

[2/3] in platform_packages_apps_Dialer
[3/3] in platform_build