Unhide @SystemApi Constructor
There are a few small classes that never got properly exposed as @SystemApi. These classes were not caught because vendors currently build against the source directly and have access to hidden APIs. We can not change the vendor code at this point (different vendor code for each year for all supported devices), but we can start pulling back the API for new devices. 1) Keep all public mutable fields @hide and put todo (and file bug b/74402619) to make fields private or final. 2) Add public constructor that populates all fields so that @hide public mutable fields can be set to private/final in the future. 3) Provide getters for fields that will not be public in the future. In this way, we can make minimal API changes for P, support new vendor/3rd party ImsServices, and phase out old ImsService implementations that still build against the source instead of using the correct @SystemApi. Bug: 77278031 Bug: 74402619 Test: Manual Merged-In: Idbf2a71018f1bd06f8445b07fc52bc65cb6776f6 Change-Id: Ifa3b6d0cbdb12e92efc699b760ca874768a89a7c
Loading
Please register or sign in to comment