-- README for frameworks/opt/telephony --

This directory contains telephony libraries which function as the
implementation code for APIs in TelephonyManager, SubscriptionManager,
SmsManager and others.

These libraries run in the com.android.phone process and exist to support
telephony services created by the user’s apps (generally carrier apps), or by
the system. This includes making phone calls, sending SMS/MMS, and connecting
to data. Many APIs are plumbed down to the radio through HIDL calls defined in
hardware/interfaces/radio/ hardware/interfaces/radio/config and return values
that are sent back up as responses.

We define several AIDL interfaces in frameworks/base/telephony/ which we
implement in this directory and packages/services/Telephony. This IPC scheme
allows us to run public API code in the calling process, while the
telephony-related code runs in the privileged com.android.phone process. Such
implementations include PhoneInterfaceManager, SubscriptionManagerService and
others.

The declaration of the com.android.phone process is in
packages/services/telephony and the top-level application class is PhoneApp,
which initializes everything else.

-- Testing --

Unit tests are found in frameworks/opt/telephony/tests and can be
run on a device connected through ADB with the command:

	atest FrameworksTelephonyTests

Tests can also be run individually or by class:

	atest <testClassName
	atest <testClassName>#<testMethodName>

For more on atest run `atest --help`