UpdateAbility: Implement BluetoothInCallService and its test. Besides
atest, also manually tested hfp.

The majority of this CL is same as the aosp/1200959 (Already +2ed).
The only difference is for switching BT off and on during a call.
BT built from the previous CL can't catch the call after it's back on.
Hall and I agreed on this solution:
https://docs.google.com/document/d/1Zh7gxRIeQPljA4Mt4TToHYPHu-BtJclsZvjjeEzq9gY/edit?usp=sharing
The changes on Telecom side is done already.

It's safe to only review the following code:
1) All changes in AdapterState.java
2) BluetoothIncallService#onBind(). Especially code of
"if (bluetoothAdapter == null || !bluetoothAdapter.isEnabled()) {"  block

Bug: 147244266
Bug: 155227528
Test: atest BluetoothInstrumentationTests
Added BluetoothInCallServiceTest
Tag: #feature

Change-Id: Ie3a5ceda527d6b92ef51274108708fcde394dab0
11 files changed