Adds @hide ImsService APIs
Adds @hide ImsService API implementations to be used for the new dynamic ImsResolver. 1) ImsService - The main class that all vendor ImsServices will implement. ImsServices that implement this method must return their implementations of MMTelFeature when onCreateMMTelFeature is called. The base ImsService class also relays all method calls through itself as a proxy. So, when Telephony calls a method, the ImsService figures out which MMTelFeature should be called (by slot) and then calls that feature's method implementation. 2) MMTelFeature/RcsFeature - Implements the I*Feature interfaces, which are used on both sides of the interface. The vendor implemented ImsService must implement all methods provided in the I*Feature interface in their implementation of *Feature that they return to the ImsService. 3) ImsServiceProxy[Compat] - The Proxy interface in telephony that will be called in ImsManager. When a method in this class is called, it will call the respective AIDL function: Telephony -> IImsServiceController AIDL -> vendor ImsService -> vendor ImsFeature implementation. ImsServiceProxyCompat is there to provide backwards compatibility with older ImsServices that do not use the new ImsService implementations. It implements all of the methods that are defined in the new I*Feature interfaces and translates them to the old ImsService AIDL calls. Test: Adds Unit Tests (see frameworks/opt/telephony) Change-Id: Id3466c178384158c788ab1d708ab108bb95866fc
Loading
Please register or sign in to comment