resolved conflicts for merge of f51ded0f to master
Change-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2
This commit is contained in:
commit
66168d4bb4
@ -1988,7 +1988,8 @@ public:
|
||||
String16* outName,
|
||||
const String16* defType = NULL,
|
||||
const String16* defPackage = NULL,
|
||||
const char** outErrorMsg = NULL);
|
||||
const char** outErrorMsg = NULL,
|
||||
bool* outPublicOnly = NULL);
|
||||
|
||||
static bool stringToInt(const char16_t* s, size_t len, Res_value* outValue);
|
||||
static bool stringToFloat(const char16_t* s, size_t len, Res_value* outValue);
|
||||
|
@ -2663,6 +2663,9 @@ uint32_t ResTable::identifierForName(const char16_t* name, size_t nameLen,
|
||||
goto nope;
|
||||
}
|
||||
}
|
||||
if (outTypeSpecFlags) {
|
||||
*outTypeSpecFlags = ResTable_typeSpec::SPEC_PUBLIC;
|
||||
}
|
||||
return m->id;
|
||||
nope:
|
||||
;
|
||||
@ -2677,6 +2680,9 @@ nope:
|
||||
index);
|
||||
return 0;
|
||||
}
|
||||
if (outTypeSpecFlags) {
|
||||
*outTypeSpecFlags = ResTable_typeSpec::SPEC_PUBLIC;
|
||||
}
|
||||
return Res_MAKEARRAY(index);
|
||||
}
|
||||
}
|
||||
@ -2687,6 +2693,8 @@ nope:
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool fakePublic = false;
|
||||
|
||||
// Figure out the package and type we are looking in...
|
||||
|
||||
const char16_t* packageEnd = NULL;
|
||||
@ -2698,7 +2706,13 @@ nope:
|
||||
else if (*p == '/') typeEnd = p;
|
||||
p++;
|
||||
}
|
||||
if (*name == '@') name++;
|
||||
if (*name == '@') {
|
||||
name++;
|
||||
if (*name == '*') {
|
||||
fakePublic = true;
|
||||
name++;
|
||||
}
|
||||
}
|
||||
if (name >= nameEnd) {
|
||||
return 0;
|
||||
}
|
||||
@ -2803,6 +2817,9 @@ nope:
|
||||
if (dtohl(entry->key.index) == (size_t)ei) {
|
||||
if (outTypeSpecFlags) {
|
||||
*outTypeSpecFlags = typeConfigs->typeSpecFlags[i];
|
||||
if (fakePublic) {
|
||||
*outTypeSpecFlags |= ResTable_typeSpec::SPEC_PUBLIC;
|
||||
}
|
||||
}
|
||||
return Res_MAKEID(group->id-1, ti, i);
|
||||
}
|
||||
@ -2819,7 +2836,8 @@ bool ResTable::expandResourceRef(const uint16_t* refStr, size_t refLen,
|
||||
String16* outName,
|
||||
const String16* defType,
|
||||
const String16* defPackage,
|
||||
const char** outErrorMsg)
|
||||
const char** outErrorMsg,
|
||||
bool* outPublicOnly)
|
||||
{
|
||||
const char16_t* packageEnd = NULL;
|
||||
const char16_t* typeEnd = NULL;
|
||||
@ -2836,6 +2854,16 @@ bool ResTable::expandResourceRef(const uint16_t* refStr, size_t refLen,
|
||||
p = refStr;
|
||||
if (*p == '@') p++;
|
||||
|
||||
if (outPublicOnly != NULL) {
|
||||
*outPublicOnly = true;
|
||||
}
|
||||
if (*p == '*') {
|
||||
p++;
|
||||
if (outPublicOnly != NULL) {
|
||||
*outPublicOnly = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (packageEnd) {
|
||||
*outPackage = String16(p, packageEnd-p);
|
||||
p = packageEnd+1;
|
||||
|
Loading…
Reference in New Issue
Block a user