OSDN Git Service

Adds @hide ImsService APIs
authorBrad Ebinger <breadley@google.com>
Wed, 25 Jan 2017 22:26:41 +0000 (14:26 -0800)
committerBrad Ebinger <breadley@google.com>
Thu, 16 Feb 2017 19:14:26 +0000 (11:14 -0800)
commit1639c21be6e7cd7699db4080fcf2ccc5cb2006e6
tree00eb626935a8066011289e7cc54e37bb52a10318
parenteb82e3de8777414e722dca06039e477eea3a0cdd
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)
Merged-In: Id3466c178384158c788ab1d708ab108bb95866fc
Change-Id: Id3466c178384158c788ab1d708ab108bb95866fc
13 files changed:
Android.mk
telephony/java/android/telephony/ims/ImsService.java [new file with mode: 0644]
telephony/java/android/telephony/ims/ImsServiceBase.java
telephony/java/android/telephony/ims/ImsServiceProxy.java [new file with mode: 0644]
telephony/java/android/telephony/ims/ImsServiceProxyCompat.java [new file with mode: 0644]
telephony/java/android/telephony/ims/feature/IMMTelFeature.java [new file with mode: 0644]
telephony/java/android/telephony/ims/feature/IRcsFeature.java [new file with mode: 0644]
telephony/java/android/telephony/ims/feature/ImsFeature.java
telephony/java/android/telephony/ims/feature/MMTelFeature.java [new file with mode: 0644]
telephony/java/android/telephony/ims/feature/RcsFeature.java [new file with mode: 0644]
telephony/java/com/android/ims/internal/IImsFeatureStatusCallback.aidl [new file with mode: 0644]
telephony/java/com/android/ims/internal/IImsServiceController.aidl
telephony/java/com/android/ims/internal/IImsServiceFeatureListener.aidl