blob: 9e40b7713d9e98d085b75a11664ed83951ce6c0a [file] [log] [blame]
Jordan Liuda4e8b12018-09-07 18:08:24 -07001-- README for frameworks/opt/telephony --
Wink Savilleff4e3172013-03-22 11:10:25 -07002
Jordan Liuda4e8b12018-09-07 18:08:24 -07003This directory contains telephony libraries which function as the
4implementation code for APIs in TelephonyManager, SubscriptionManager,
5SmsManager and others.
Wink Savilleff4e3172013-03-22 11:10:25 -07006
Jordan Liuda4e8b12018-09-07 18:08:24 -07007These libraries run in the com.android.phone process and exist to support
8telephony services created by the users apps (generally carrier apps), or by
9the system. This includes making phone calls, sending SMS/MMS, and connecting
10to data. Many APIs are plumbed down to the radio through HIDL calls defined in
11hardware/interfaces/radio/ hardware/interfaces/radio/config and return values
12that are sent back up as responses.
Wink Savilleff4e3172013-03-22 11:10:25 -070013
Jordan Liuda4e8b12018-09-07 18:08:24 -070014We define several AIDL interfaces in frameworks/base/telephony/ which we
15implement in this directory and packages/services/Telephony. This IPC scheme
16allows us to run public API code in the calling process, while the
17telephony-related code runs in the privileged com.android.phone process. Such
18implementations include PhoneInterfaceManager, SubscriptionController and
19others.
Wink Savilleff4e3172013-03-22 11:10:25 -070020
Jordan Liuda4e8b12018-09-07 18:08:24 -070021The declaration of the com.android.phone process is in
22packages/services/telephony and the top-level application class is PhoneApp,
23which initializes everything else.
Wink Savilleff4e3172013-03-22 11:10:25 -070024
Jordan Liuda4e8b12018-09-07 18:08:24 -070025-- Testing --
Wink Savilleff4e3172013-03-22 11:10:25 -070026
Jordan Liuda4e8b12018-09-07 18:08:24 -070027Unit tests are found in frameworks/opt/telephony/tests and can be
28run on a device connected through ADB with the command:
Wink Savilleff4e3172013-03-22 11:10:25 -070029
Jordan Liuda4e8b12018-09-07 18:08:24 -070030 atest FrameworksTelephonyTests
Wink Savilleff4e3172013-03-22 11:10:25 -070031
Jordan Liuda4e8b12018-09-07 18:08:24 -070032Tests can also be run individually or by class:
Wink Savilleff4e3172013-03-22 11:10:25 -070033
Jordan Liuda4e8b12018-09-07 18:08:24 -070034 atest <testClassName
35 atest <testClassName>#<testMethodName>
Wink Savilleff4e3172013-03-22 11:10:25 -070036
Jordan Liuda4e8b12018-09-07 18:08:24 -070037For more on atest run `atest --help`