From ccb5b89029ca3f653fbfa32a7b6ed82bf227541c Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Thu, 10 Dec 2009 14:20:15 -0800 Subject: Add string resource type inspection Allows "aapt dump --values resource" to print out whether a string in a ResStringPool is in UTF-8 or UTF-16 encoding. Change-Id: I6478884a70a3b46fee862dece6cb33454fc34843 --- libs/utils/ResourceTypes.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libs/utils') diff --git a/libs/utils/ResourceTypes.cpp b/libs/utils/ResourceTypes.cpp index afca814..e8bd5cf 100644 --- a/libs/utils/ResourceTypes.cpp +++ b/libs/utils/ResourceTypes.cpp @@ -576,6 +576,13 @@ size_t ResStringPool::size() const return (mError == NO_ERROR) ? mHeader->stringCount : 0; } +#ifndef HAVE_ANDROID_OS +bool ResStringPool::isUTF8() const +{ + return (mHeader->flags&ResStringPool_header::UTF8_FLAG)!=0; +} +#endif + // -------------------------------------------------------------------- // -------------------------------------------------------------------- // -------------------------------------------------------------------- @@ -4016,7 +4023,8 @@ void ResTable::print_value(const Package* pkg, const Res_value& value) const if (str == NULL) { printf("(string) null\n"); } else { - printf("(string) \"%s\"\n", + printf("(string%d) \"%s\"\n", + pkg->header->values.isUTF8()?8:16, String8(str, len).string()); } } else if (value.dataType == Res_value::TYPE_FLOAT) { -- cgit v1.1