Loading api/current.xml +4827 −1967 File changed.File size exceeds preview limit. View original file View changed file core/res/res/values/public.xml +39 −17 Original line number Diff line number Diff line Loading @@ -1092,23 +1092,45 @@ <eat-comment /> <public type="attr" name="tension" id="0x0101026a" /> <public type="attr" name="extraTension" id="0x0101026b" /> <public type="attr" name="density" id="0x0101026c" /> <public type="attr" name="searchSuggestThreshold" id="0x0101026d" /> <public type="attr" name="includeInGlobalSearch" id="0x0101026e" /> <public type="attr" name="onClick" id="0x0101026f" /> <public type="attr" name="targetSdkVersion" id="0x01010270" /> <public type="attr" name="maxSdkVersion" id="0x01010271" /> <public type="attr" name="testOnly" id="0x01010272" /> <public type="attr" name="contentDescription" id="0x01010273" /> <public type="attr" name="extraTension" /> <public type="attr" name="density" /> <public type="attr" name="searchSuggestThreshold" /> <public type="attr" name="includeInGlobalSearch" /> <public type="attr" name="onClick" /> <public type="attr" name="targetSdkVersion" /> <public type="attr" name="maxSdkVersion" /> <public type="attr" name="testOnly" /> <public type="attr" name="contentDescription" /> <public type="anim" name="anticipate_interpolator" id="0x010a0007" /> <public type="anim" name="overshoot_interpolator" id="0x010a0008" /> <public type="anim" name="anticipate_overshoot_interpolator" id="0x010a0009" /> <public type="anim" name="bounce_interpolator" id="0x010a000a" /> <public type="anim" name="linear_interpolator" id="0x010a000b" /> <public-padding type="attr" name="donut_resource_pad" end="0x0101029f" /> <public type="drawable" name="stat_sys_vp_phone_call" id="0x0108022d" /> <public type="drawable" name="stat_sys_vp_phone_call_on_hold" id="0x0108022e" /> <public-padding type="id" name="donut_resource_pad" end="0x01020040" /> <public-padding type="style" name="donut_resource_pad" end="0x01030070" /> <public-padding type="string" name="donut_resource_pad" end="0x01040030" /> <public-padding type="dimen" name="donut_resource_pad" end="0x01050010" /> <public-padding type="color" name="donut_resource_pad" end="0x01060030" /> <public-padding type="array" name="donut_resource_pad" end="0x01070010" /> <public type="drawable" name="stat_sys_vp_phone_call" /> <public type="drawable" name="stat_sys_vp_phone_call_on_hold" /> <public-padding type="drawable" name="donut_resource_pad" end="0x010800d0" /> <public-padding type="layout" name="donut_resource_pad" end="0x01090020" /> <public type="anim" name="anticipate_interpolator" /> <public type="anim" name="overshoot_interpolator" /> <public type="anim" name="anticipate_overshoot_interpolator" /> <public type="anim" name="bounce_interpolator" /> <public type="anim" name="linear_interpolator" /> <public-padding type="anim" name="donut_resource_pad" end="0x010a0020" /> <public-padding type="integer" name="donut_resource_pad" end="0x010e0010" /> </resources> tools/aapt/ResourceTable.cpp +116 −5 Original line number Diff line number Diff line Loading @@ -661,6 +661,7 @@ status_t compileResourceFile(Bundle* bundle, const String16 string_array16("string-array"); const String16 integer_array16("integer-array"); const String16 public16("public"); const String16 public_padding16("public-padding"); const String16 private_symbols16("private-symbols"); const String16 skip16("skip"); const String16 eat_comment16("eat-comment"); Loading Loading @@ -695,7 +696,7 @@ status_t compileResourceFile(Bundle* bundle, bool hasErrors = false; uint32_t nextPublicId = 0; DefaultKeyedVector<String16, uint32_t> nextPublicId(0); ResXMLTree::event_code_t code; do { Loading Loading @@ -784,15 +785,15 @@ status_t compileResourceFile(Bundle* bundle, hasErrors = localHasErrors = true; } else { ident = identValue.data; nextPublicId = ident+1; nextPublicId.replaceValueFor(type, ident+1); } } else if (nextPublicId == 0) { } else if (nextPublicId.indexOfKey(type) < 0) { srcPos.error("No 'id' attribute supplied <public>," " and no previous id defined in this file.\n"); hasErrors = localHasErrors = true; } else if (!localHasErrors) { ident = nextPublicId; nextPublicId++; ident = nextPublicId.valueFor(type); nextPublicId.replaceValueFor(type, ident+1); } if (!localHasErrors) { Loading Loading @@ -826,6 +827,116 @@ status_t compileResourceFile(Bundle* bundle, } continue; } else if (strcmp16(block.getElementName(&len), public_padding16.string()) == 0) { SourcePos srcPos(in->getPrintableSource(), block.getLineNumber()); String16 type; ssize_t typeIdx = block.indexOfAttribute(NULL, "type"); if (typeIdx < 0) { srcPos.error("A 'type' attribute is required for <public-padding>\n"); hasErrors = localHasErrors = true; } type = String16(block.getAttributeStringValue(typeIdx, &len)); String16 name; ssize_t nameIdx = block.indexOfAttribute(NULL, "name"); if (nameIdx < 0) { srcPos.error("A 'name' attribute is required for <public-padding>\n"); hasErrors = localHasErrors = true; } name = String16(block.getAttributeStringValue(nameIdx, &len)); uint32_t start = 0; ssize_t startIdx = block.indexOfAttribute(NULL, "start"); if (startIdx >= 0) { const char16_t* startStr = block.getAttributeStringValue(startIdx, &len); Res_value startValue; if (!ResTable::stringToInt(startStr, len, &startValue)) { srcPos.error("Given 'start' attribute is not an integer: %s\n", String8(block.getAttributeStringValue(startIdx, &len)).string()); hasErrors = localHasErrors = true; } else { start = startValue.data; } } else if (nextPublicId.indexOfKey(type) < 0) { srcPos.error("No 'start' attribute supplied <public-padding>," " and no previous id defined in this file.\n"); hasErrors = localHasErrors = true; } else if (!localHasErrors) { start = nextPublicId.valueFor(type); } uint32_t end = 0; ssize_t endIdx = block.indexOfAttribute(NULL, "end"); if (endIdx >= 0) { const char16_t* endStr = block.getAttributeStringValue(endIdx, &len); Res_value endValue; if (!ResTable::stringToInt(endStr, len, &endValue)) { srcPos.error("Given 'end' attribute is not an integer: %s\n", String8(block.getAttributeStringValue(endIdx, &len)).string()); hasErrors = localHasErrors = true; } else { end = endValue.data; } } else { srcPos.error("No 'end' attribute supplied <public-padding>\n"); hasErrors = localHasErrors = true; } if (end >= start) { nextPublicId.replaceValueFor(type, end+1); } else { srcPos.error("Padding start '%ul' is after end '%ul'\n", start, end); hasErrors = localHasErrors = true; } String16 comment( block.getComment(&len) ? block.getComment(&len) : nulStr); for (uint32_t curIdent=start; curIdent<=end; curIdent++) { if (localHasErrors) { break; } String16 curName(name); char buf[64]; sprintf(buf, "%d", (int)(end-curIdent+1)); curName.append(String16(buf)); err = outTable->addEntry(srcPos, myPackage, type, curName, String16("padding"), NULL, &curParams, false, ResTable_map::TYPE_STRING, overwrite); if (err < NO_ERROR) { hasErrors = localHasErrors = true; break; } err = outTable->addPublic(srcPos, myPackage, type, curName, curIdent); if (err < NO_ERROR) { hasErrors = localHasErrors = true; break; } sp<AaptSymbols> symbols = assets->getSymbolsFor(String8("R")); if (symbols != NULL) { symbols = symbols->addNestedSymbol(String8(type), srcPos); } if (symbols != NULL) { symbols->makeSymbolPublic(String8(curName), srcPos); symbols->appendComment(String8(curName), comment, srcPos); } else { srcPos.error("Unable to create symbols!\n"); hasErrors = localHasErrors = true; } } while ((code=block.next()) != ResXMLTree::END_DOCUMENT && code != ResXMLTree::BAD_DOCUMENT) { if (code == ResXMLTree::END_TAG) { if (strcmp16(block.getElementName(&len), public_padding16.string()) == 0) { break; } } } continue; } else if (strcmp16(block.getElementName(&len), private_symbols16.string()) == 0) { String16 pkg; ssize_t pkgIdx = block.indexOfAttribute(NULL, "package"); Loading Loading
api/current.xml +4827 −1967 File changed.File size exceeds preview limit. View original file View changed file
core/res/res/values/public.xml +39 −17 Original line number Diff line number Diff line Loading @@ -1092,23 +1092,45 @@ <eat-comment /> <public type="attr" name="tension" id="0x0101026a" /> <public type="attr" name="extraTension" id="0x0101026b" /> <public type="attr" name="density" id="0x0101026c" /> <public type="attr" name="searchSuggestThreshold" id="0x0101026d" /> <public type="attr" name="includeInGlobalSearch" id="0x0101026e" /> <public type="attr" name="onClick" id="0x0101026f" /> <public type="attr" name="targetSdkVersion" id="0x01010270" /> <public type="attr" name="maxSdkVersion" id="0x01010271" /> <public type="attr" name="testOnly" id="0x01010272" /> <public type="attr" name="contentDescription" id="0x01010273" /> <public type="attr" name="extraTension" /> <public type="attr" name="density" /> <public type="attr" name="searchSuggestThreshold" /> <public type="attr" name="includeInGlobalSearch" /> <public type="attr" name="onClick" /> <public type="attr" name="targetSdkVersion" /> <public type="attr" name="maxSdkVersion" /> <public type="attr" name="testOnly" /> <public type="attr" name="contentDescription" /> <public type="anim" name="anticipate_interpolator" id="0x010a0007" /> <public type="anim" name="overshoot_interpolator" id="0x010a0008" /> <public type="anim" name="anticipate_overshoot_interpolator" id="0x010a0009" /> <public type="anim" name="bounce_interpolator" id="0x010a000a" /> <public type="anim" name="linear_interpolator" id="0x010a000b" /> <public-padding type="attr" name="donut_resource_pad" end="0x0101029f" /> <public type="drawable" name="stat_sys_vp_phone_call" id="0x0108022d" /> <public type="drawable" name="stat_sys_vp_phone_call_on_hold" id="0x0108022e" /> <public-padding type="id" name="donut_resource_pad" end="0x01020040" /> <public-padding type="style" name="donut_resource_pad" end="0x01030070" /> <public-padding type="string" name="donut_resource_pad" end="0x01040030" /> <public-padding type="dimen" name="donut_resource_pad" end="0x01050010" /> <public-padding type="color" name="donut_resource_pad" end="0x01060030" /> <public-padding type="array" name="donut_resource_pad" end="0x01070010" /> <public type="drawable" name="stat_sys_vp_phone_call" /> <public type="drawable" name="stat_sys_vp_phone_call_on_hold" /> <public-padding type="drawable" name="donut_resource_pad" end="0x010800d0" /> <public-padding type="layout" name="donut_resource_pad" end="0x01090020" /> <public type="anim" name="anticipate_interpolator" /> <public type="anim" name="overshoot_interpolator" /> <public type="anim" name="anticipate_overshoot_interpolator" /> <public type="anim" name="bounce_interpolator" /> <public type="anim" name="linear_interpolator" /> <public-padding type="anim" name="donut_resource_pad" end="0x010a0020" /> <public-padding type="integer" name="donut_resource_pad" end="0x010e0010" /> </resources>
tools/aapt/ResourceTable.cpp +116 −5 Original line number Diff line number Diff line Loading @@ -661,6 +661,7 @@ status_t compileResourceFile(Bundle* bundle, const String16 string_array16("string-array"); const String16 integer_array16("integer-array"); const String16 public16("public"); const String16 public_padding16("public-padding"); const String16 private_symbols16("private-symbols"); const String16 skip16("skip"); const String16 eat_comment16("eat-comment"); Loading Loading @@ -695,7 +696,7 @@ status_t compileResourceFile(Bundle* bundle, bool hasErrors = false; uint32_t nextPublicId = 0; DefaultKeyedVector<String16, uint32_t> nextPublicId(0); ResXMLTree::event_code_t code; do { Loading Loading @@ -784,15 +785,15 @@ status_t compileResourceFile(Bundle* bundle, hasErrors = localHasErrors = true; } else { ident = identValue.data; nextPublicId = ident+1; nextPublicId.replaceValueFor(type, ident+1); } } else if (nextPublicId == 0) { } else if (nextPublicId.indexOfKey(type) < 0) { srcPos.error("No 'id' attribute supplied <public>," " and no previous id defined in this file.\n"); hasErrors = localHasErrors = true; } else if (!localHasErrors) { ident = nextPublicId; nextPublicId++; ident = nextPublicId.valueFor(type); nextPublicId.replaceValueFor(type, ident+1); } if (!localHasErrors) { Loading Loading @@ -826,6 +827,116 @@ status_t compileResourceFile(Bundle* bundle, } continue; } else if (strcmp16(block.getElementName(&len), public_padding16.string()) == 0) { SourcePos srcPos(in->getPrintableSource(), block.getLineNumber()); String16 type; ssize_t typeIdx = block.indexOfAttribute(NULL, "type"); if (typeIdx < 0) { srcPos.error("A 'type' attribute is required for <public-padding>\n"); hasErrors = localHasErrors = true; } type = String16(block.getAttributeStringValue(typeIdx, &len)); String16 name; ssize_t nameIdx = block.indexOfAttribute(NULL, "name"); if (nameIdx < 0) { srcPos.error("A 'name' attribute is required for <public-padding>\n"); hasErrors = localHasErrors = true; } name = String16(block.getAttributeStringValue(nameIdx, &len)); uint32_t start = 0; ssize_t startIdx = block.indexOfAttribute(NULL, "start"); if (startIdx >= 0) { const char16_t* startStr = block.getAttributeStringValue(startIdx, &len); Res_value startValue; if (!ResTable::stringToInt(startStr, len, &startValue)) { srcPos.error("Given 'start' attribute is not an integer: %s\n", String8(block.getAttributeStringValue(startIdx, &len)).string()); hasErrors = localHasErrors = true; } else { start = startValue.data; } } else if (nextPublicId.indexOfKey(type) < 0) { srcPos.error("No 'start' attribute supplied <public-padding>," " and no previous id defined in this file.\n"); hasErrors = localHasErrors = true; } else if (!localHasErrors) { start = nextPublicId.valueFor(type); } uint32_t end = 0; ssize_t endIdx = block.indexOfAttribute(NULL, "end"); if (endIdx >= 0) { const char16_t* endStr = block.getAttributeStringValue(endIdx, &len); Res_value endValue; if (!ResTable::stringToInt(endStr, len, &endValue)) { srcPos.error("Given 'end' attribute is not an integer: %s\n", String8(block.getAttributeStringValue(endIdx, &len)).string()); hasErrors = localHasErrors = true; } else { end = endValue.data; } } else { srcPos.error("No 'end' attribute supplied <public-padding>\n"); hasErrors = localHasErrors = true; } if (end >= start) { nextPublicId.replaceValueFor(type, end+1); } else { srcPos.error("Padding start '%ul' is after end '%ul'\n", start, end); hasErrors = localHasErrors = true; } String16 comment( block.getComment(&len) ? block.getComment(&len) : nulStr); for (uint32_t curIdent=start; curIdent<=end; curIdent++) { if (localHasErrors) { break; } String16 curName(name); char buf[64]; sprintf(buf, "%d", (int)(end-curIdent+1)); curName.append(String16(buf)); err = outTable->addEntry(srcPos, myPackage, type, curName, String16("padding"), NULL, &curParams, false, ResTable_map::TYPE_STRING, overwrite); if (err < NO_ERROR) { hasErrors = localHasErrors = true; break; } err = outTable->addPublic(srcPos, myPackage, type, curName, curIdent); if (err < NO_ERROR) { hasErrors = localHasErrors = true; break; } sp<AaptSymbols> symbols = assets->getSymbolsFor(String8("R")); if (symbols != NULL) { symbols = symbols->addNestedSymbol(String8(type), srcPos); } if (symbols != NULL) { symbols->makeSymbolPublic(String8(curName), srcPos); symbols->appendComment(String8(curName), comment, srcPos); } else { srcPos.error("Unable to create symbols!\n"); hasErrors = localHasErrors = true; } } while ((code=block.next()) != ResXMLTree::END_DOCUMENT && code != ResXMLTree::BAD_DOCUMENT) { if (code == ResXMLTree::END_TAG) { if (strcmp16(block.getElementName(&len), public_padding16.string()) == 0) { break; } } } continue; } else if (strcmp16(block.getElementName(&len), private_symbols16.string()) == 0) { String16 pkg; ssize_t pkgIdx = block.indexOfAttribute(NULL, "package"); Loading