DnsResolver - improve api level detection for aosp
Use the maximum of ro.build.version.sdk & ro.product.first_api_level
to determine api level to use.
This makes AOSP master be >=R (technically already S) instead of ==Q.
See: rvc-dev aosp
ro.build.version.sdk: [30] vs [29]
ro.product.first_api_level: [29] vs [31]
ro.build.version.preview_sdk: [0] vs [1]
ro.build.version.preview_sdk_fingerprint: [REL] vs [...sha1...]
This does require us to treat aosp as the source of truth for netd,
but we do that anyway.
Test: builds, atest, dnsresolver tests, TreeHugger
Bug: 159994981
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I169529e883c570af351f00403f8ce13bb763c6db
diff --git a/DnsResolver.cpp b/DnsResolver.cpp
index 9dba693..8c087b6 100644
--- a/DnsResolver.cpp
+++ b/DnsResolver.cpp
@@ -30,8 +30,11 @@
LOG(INFO) << __func__ << ": Initializing resolver";
resolv_set_log_severity(android::base::WARNING);
+ uint64_t buildVersionSdk = android::base::GetUintProperty<uint64_t>("ro.build.version.sdk", 0);
+ uint64_t firstApiLevel =
+ android::base::GetUintProperty<uint64_t>("ro.product.first_api_level", 0);
using android::net::gApiLevel;
- gApiLevel = android::base::GetUintProperty<uint64_t>("ro.build.version.sdk", 0);
+ gApiLevel = std::max(buildVersionSdk, firstApiLevel);
using android::net::gResNetdCallbacks;
gResNetdCallbacks.check_calling_permission = callbacks->check_calling_permission;
gResNetdCallbacks.get_network_context = callbacks->get_network_context;