libbinder_ndk: APEX client is considered as platform
When an AIDL interface is built for APEX, its minSdkVersion could be as low as 29 because there are some APEXes which was launched with Q. Previously, this didn't cause a problem because __ANDROID_API__ didn't track minSdkVersion, but sdk_version which actually is compileSdkVersion. As a result, __ANDROID_API__ was still set to 10000 which means "current", and SharedRefBase::new wasn't marked as deprecated. However, as we fix the build system so that __ANDROID_API__ correctly tracks minSdkVersion, AIDL interface code fails to compile when it is built for a Q-launching APEX (e.g. DnsResolver). Fix the issue by not deprecating the new operator also when __ANDROID_APEX__ is defined. __ANDROID_APEX__ means that the code is built for an APEX which is still considered as part of the platform, not for a 3p app. Bug: 163288375 Test: m Change-Id: Ic923a2da7110e3a60dae3860a24d3954ca355742
Loading
Please register or sign in to comment