From 48002f631334833231b2c9e5b8e54de8c58fc9b1 Mon Sep 17 00:00:00 2001 From: Ryan Mitchell Date: Thu, 11 Apr 2019 14:29:25 -0700 Subject: [PATCH] qt-dev-plus-aosp designated for R. Update MAX_PLATFORM_VERSION, etc. Test: aapt2_tests Bug: 128934651 Change-Id: I179f7b92dcf65e77f039e6cd42d91bf5b1461e35 --- tools/aapt2/ResourceUtils.cpp | 11 ++++++----- tools/aapt2/ResourceUtils_test.cpp | 15 ++++++++------- tools/aapt2/SdkConstants.cpp | 11 +++++++---- tools/aapt2/SdkConstants.h | 2 +- 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/tools/aapt2/ResourceUtils.cpp b/tools/aapt2/ResourceUtils.cpp index a571aee615464..e0040e486a233 100644 --- a/tools/aapt2/ResourceUtils.cpp +++ b/tools/aapt2/ResourceUtils.cpp @@ -534,17 +534,18 @@ Maybe ParseSdkVersion(const StringPiece& str) { } // Try parsing the code name. - std::pair entry = GetDevelopmentSdkCodeNameAndVersion(); - if (entry.first == trimmed_str) { - return entry.second; + Maybe entry = GetDevelopmentSdkCodeNameVersion(trimmed_str); + if (entry) { + return entry.value(); } // Try parsing codename from "[codename].[preview_sdk_fingerprint]" value. const StringPiece::const_iterator begin = std::begin(trimmed_str); const StringPiece::const_iterator end = std::end(trimmed_str); const StringPiece::const_iterator codename_end = std::find(begin, end, '.'); - if (codename_end != end && entry.first == trimmed_str.substr(begin, codename_end)) { - return entry.second; + entry = GetDevelopmentSdkCodeNameVersion(trimmed_str.substr(begin, codename_end)); + if (entry) { + return entry.value(); } return {}; } diff --git a/tools/aapt2/ResourceUtils_test.cpp b/tools/aapt2/ResourceUtils_test.cpp index 3b77135a09ebf..c016cb44af007 100644 --- a/tools/aapt2/ResourceUtils_test.cpp +++ b/tools/aapt2/ResourceUtils_test.cpp @@ -214,14 +214,15 @@ TEST(ResourceUtilsTest, ItemsWithWhitespaceAreParsedCorrectly) { } TEST(ResourceUtilsTest, ParseSdkVersionWithCodename) { - const android::StringPiece codename = - GetDevelopmentSdkCodeNameAndVersion().first; - const int version = GetDevelopmentSdkCodeNameAndVersion().second; - - EXPECT_THAT(ResourceUtils::ParseSdkVersion(codename), Eq(Maybe(version))); + EXPECT_THAT(ResourceUtils::ParseSdkVersion("Q"), Eq(Maybe(10000))); EXPECT_THAT( - ResourceUtils::ParseSdkVersion(codename.to_string() + ".fingerprint"), - Eq(Maybe(version))); + ResourceUtils::ParseSdkVersion("Q.fingerprint"), + Eq(Maybe(10000))); + + EXPECT_THAT(ResourceUtils::ParseSdkVersion("R"), Eq(Maybe(10000))); + EXPECT_THAT( + ResourceUtils::ParseSdkVersion("R.fingerprint"), + Eq(Maybe(10000))); } TEST(ResourceUtilsTest, StringBuilderWhitespaceRemoval) { diff --git a/tools/aapt2/SdkConstants.cpp b/tools/aapt2/SdkConstants.cpp index f4b0124abcda2..b4b6ff1daaaad 100644 --- a/tools/aapt2/SdkConstants.cpp +++ b/tools/aapt2/SdkConstants.cpp @@ -18,15 +18,17 @@ #include #include -#include +#include #include using android::StringPiece; namespace aapt { -static const char* sDevelopmentSdkCodeName = "Q"; static ApiVersion sDevelopmentSdkLevel = 10000; +static const auto sDevelopmentSdkCodeNames = std::unordered_set({ + "Q", "R" +}); static const std::vector> sAttrIdMap = { {0x021c, 1}, @@ -72,8 +74,9 @@ ApiVersion FindAttributeSdkLevel(const ResourceId& id) { return iter->second; } -std::pair GetDevelopmentSdkCodeNameAndVersion() { - return std::make_pair(StringPiece(sDevelopmentSdkCodeName), sDevelopmentSdkLevel); +Maybe GetDevelopmentSdkCodeNameVersion(const StringPiece& code_name) { + return (sDevelopmentSdkCodeNames.find(code_name) == sDevelopmentSdkCodeNames.end()) + ? Maybe() : sDevelopmentSdkLevel; } } // namespace aapt diff --git a/tools/aapt2/SdkConstants.h b/tools/aapt2/SdkConstants.h index 9fa29f25c29c5..adb034a953286 100644 --- a/tools/aapt2/SdkConstants.h +++ b/tools/aapt2/SdkConstants.h @@ -57,7 +57,7 @@ enum : ApiVersion { }; ApiVersion FindAttributeSdkLevel(const ResourceId& id); -std::pair GetDevelopmentSdkCodeNameAndVersion(); +Maybe GetDevelopmentSdkCodeNameVersion(const android::StringPiece& code_name); } // namespace aapt