xref: /aosp_15_r20/frameworks/base/media/lib/tvremote/README.txt (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard WorkerThis library (com.android.media.tv.remoteprovider.jar) is a shared java library
2*d57664e9SAndroid Build Coastguard Workercontaining classes required by unbundled atv remote providers.
3*d57664e9SAndroid Build Coastguard Worker
4*d57664e9SAndroid Build Coastguard Worker--- Rules of this library ---
5*d57664e9SAndroid Build Coastguard Workero This library is effectively a System API for unbundled emote service provider
6*d57664e9SAndroid Build Coastguard Worker  that may be distributed outside the system image. So it MUST BE API STABLE.
7*d57664e9SAndroid Build Coastguard Worker  You can add but not remove. The rules are the same as for the
8*d57664e9SAndroid Build Coastguard Worker  public platform SDK API.
9*d57664e9SAndroid Build Coastguard Workero This library can see and instantiate internal platform classes, but it must not
10*d57664e9SAndroid Build Coastguard Worker  expose them in any public method (or by extending them via inheritance). This would
11*d57664e9SAndroid Build Coastguard Worker  break clients of the library because they cannot see the internal platform classes.
12*d57664e9SAndroid Build Coastguard Worker
13*d57664e9SAndroid Build Coastguard WorkerThis library is distributed in the system image, and loaded as
14*d57664e9SAndroid Build Coastguard Workera shared library. So you can change the implementation, but not
15*d57664e9SAndroid Build Coastguard Workerthe interface. In this way it is like framework.jar.
16*d57664e9SAndroid Build Coastguard Worker
17*d57664e9SAndroid Build Coastguard Worker--- Why does this library exist? ---
18*d57664e9SAndroid Build Coastguard Worker
19*d57664e9SAndroid Build Coastguard WorkerUnbundled atv remote providers (such as Emote app) cannot use internal
20*d57664e9SAndroid Build Coastguard Workerplatform classes.
21*d57664e9SAndroid Build Coastguard Worker
22*d57664e9SAndroid Build Coastguard WorkerThis library will eventually be replaced when the inputmanager
23*d57664e9SAndroid Build Coastguard Workerinfrastructure is ready with APIs allowing unbundled system apps to
24*d57664e9SAndroid Build Coastguard Workerinject events into uhid.
25*d57664e9SAndroid Build Coastguard WorkerThat API isn't ready yet so this library is a compromise to
26*d57664e9SAndroid Build Coastguard Workermake new capabilities available to the system.