Namespace Sensus.Android.Probes.Communication
Classes
AndroidSmsIncomingBroadcastReceiver
AndroidSmsOutgoingObserver
AndroidSmsProbe
AndroidTelephonyIdleIncomingListener
Listens for new incoming call and idle states of the phone. Since it is not easy to differentiate incoming from outgoing calls on the basis of Android.Telephony.CallState values, we also need the AndroidTelephonyOutgoingBroadcastReceiver. The difficulty is caused by the fact that an incoming call will transition to Android.Telephony.CallState.Ringing and then immediately to Android.Telephony.CallState.Offhook, whereas an outgoing call will transition directly to Android.Telephony.CallState.Offhook. We'd rather not have to interpret Android.Telephony.CallState.Offhook differently depending on what the previous state was and how recently it was observed.
AndroidTelephonyOutgoingBroadcastReceiver
Listens for new outgoing calls. See AndroidTelephonyIdleIncomingListener for why we need both classes.