From: Kenny Root Date: Wed, 24 Mar 2010 18:55:16 +0000 (-0700) Subject: Use correct API version for UTF-8 checking X-Git-Url: https://git.saurik.com/android/aapt.git/commitdiff_plain/1bad9d295fe4db5caf586cf5b7c169a99c50ca9b?hp=-c Use correct API version for UTF-8 checking Use the constant for checking the API version in aapt instead of a bare number. Bug: 2541326 Change-Id: Ice7af7b393363a00f1832dd84753b8138d057fb4 --- 1bad9d295fe4db5caf586cf5b7c169a99c50ca9b diff --git a/Bundle.h b/Bundle.h index c8b6837..3308a35 100644 --- a/Bundle.h +++ b/Bundle.h @@ -162,10 +162,11 @@ public: void setPackageCount(int val) { mPackageCount = val; } #endif - /* UTF-8 is only available on APIs 7 or above or - * SDK levels that have code names. + /* Certain features may only be available on a specific SDK level or + * above. SDK levels that have a non-numeric identifier are assumed + * to be newer than any SDK level that has a number designated. */ - bool isUTF8Available() { + bool isMinSdkAtLeast(int desired) { /* If the application specifies a minSdkVersion in the manifest * then use that. Otherwise, check what the user specified on * the command line. If neither, it's not available since @@ -183,7 +184,7 @@ public: char *end; int minSdkNum = (int)strtol(minVer, &end, 0); if (*end == '\0') { - if (minSdkNum < 7) { + if (minSdkNum < desired) { return false; } } diff --git a/Resource.cpp b/Resource.cpp index a8ac2ec..cafd635 100644 --- a/Resource.cpp +++ b/Resource.cpp @@ -775,7 +775,7 @@ status_t buildResources(Bundle* bundle, const sp& assets) * allow UTF-8 to be used. */ if (!bundle->getWantUTF16() - && bundle->isUTF8Available()) { + && bundle->isMinSdkAtLeast(SDK_FROYO)) { xmlFlags |= XML_COMPILE_UTF8; } diff --git a/ResourceTable.cpp b/ResourceTable.cpp index 66db450..a2f085a 100644 --- a/ResourceTable.cpp +++ b/ResourceTable.cpp @@ -2527,7 +2527,7 @@ status_t ResourceTable::flatten(Bundle* bundle, const sp& dest) const size_t N = mOrderedPackages.size(); size_t pi; - bool useUTF8 = !bundle->getWantUTF16() && bundle->isUTF8Available(); + bool useUTF8 = !bundle->getWantUTF16() && bundle->isMinSdkAtLeast(SDK_FROYO); // Iterate through all data, collecting all values (strings, // references, etc).