Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ccb5b890 authored by Kenny Root's avatar Kenny Root
Browse files

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
parent 07b4185c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -454,6 +454,10 @@ public:

    size_t size() const;

#ifndef HAVE_ANDROID_OS
    bool isUTF8() const;
#endif

private:
    status_t                    mError;
    void*                       mOwnedData;
+9 −1
Original line number Diff line number Diff line
@@ -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) {