Support always reporting signal strength phone state listener

We should not allow other stack (such as Bluetooth) to directly control
 modem indication reporting. The hidden API
 TelephonyManager.setRadioIndicationUpdateMode added before do not
 support multiple clients and do not support the case when clients'
 process die.

The new solution would be adding a new listener
 PhoneStateListener.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH and let
 telephony registry (which is running under system process) to tell
 telephony whether to always turn on signal strength update if any client
 is listening to this event.

Introduce a new system API for TelephonyRegistry
to tell Telephony module this listening mechanism.

Introduce a new permision for this function

Test: WIP (Have this CL out to try to catch up the API deadline)
Bug: 147322848

Change-Id: Iaee832c75b29d89dbc9e5c6659e1a7e89c4a467f
6 files changed