This article will focus on Telephony framework and Phone App initialization flows.
There are many key words arranged by initial steps.
Android Q.
First, you should know the role of “SystemServer” in Android.
- ActivityManagerService up
Second, (Service) Telecom service
- TelecomLoaderService loads Telecom service
- path: /android/applications/sources/services/Telecomm/
/android/frameworks/base/telecomm/
Third, (APP) Create PhoneAPP
- (see AndroidManifest.xml, android:persistent=”true”)
PhoneAPP will reborn after killed
- path: /packages/services/Telephony/…/PhoneApp.java
Forth, (Framework) PhoneFactory brings up GsmCdmaPhone
- onCreate() in PhoneApp, it will create PhoneGlobals
- Initialize PhoneFactory.makeDefaultPhones
- Create monitor service tracker, including ServiceStateTracker, CallTracker, …, and RIL