public void removeResource(ResResource res) throws AndrolibException { ResResSpec spec = res.getResSpec(); mResources.remove(spec); }
public void addResource(ResResource res, boolean overwrite) throws AndrolibException { ResResSpec spec = res.getResSpec(); if (mResources.put(spec, res) != null && !overwrite) { throw new AndrolibException(String.format("Multiple resources: spec=%s, config=%s", spec, this)); } }
public boolean isSynthesized(ResResource res) { return mPackage.isSynthesized(res.getResSpec().getId()); }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { serializer.startTag(null, "item"); serializer .attribute(null, "type", res.getResSpec().getType().getName()); serializer.attribute(null, "name", res.getResSpec().getName()); serializer.endTag(null, "item"); } }
public Collection<ResValuesFile> listValuesFiles() { Map<Duo<ResTypeSpec, ResType>, ResValuesFile> ret = new HashMap<Duo<ResTypeSpec, ResType>, ResValuesFile>(); for (ResResSpec spec : mResSpecs.values()) { for (ResResource res : spec.listResources()) { if (res.getValue() instanceof ResValuesXmlSerializable) { ResTypeSpec type = res.getResSpec().getType(); ResType config = res.getConfig(); Duo<ResTypeSpec, ResType> key = new Duo<ResTypeSpec, ResType>(type, config); ResValuesFile values = ret.get(key); if (values == null) { values = new ResValuesFile(this, type, config); ret.put(key, values); } values.addResource(res); } } } return ret.values(); }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { String type = res.getResSpec().getType().getName(); boolean item = !"reference".equals(mType) && !type.equals(mType); serializer.attribute(null, "type", type); serializer.attribute(null, "name", res.getResSpec().getName());
String inFileName = fileValue.getStrippedPath(); String outResName = res.getFilePath(); String typeName = res.getResSpec().getType().getName();
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { String type = res.getResSpec().getType().getName(); if ("style".equals(type)) { new ResStyleValue(mParent, new Duo[0], null) .serializeToResValuesXml(serializer, res); return; } if ("array".equals(type)) { new ResArrayValue(mParent, new Duo[0]).serializeToResValuesXml( serializer, res); return; } if ("plurals".equals(type)) { new ResPluralsValue(mParent, new Duo[0]).serializeToResValuesXml( serializer, res); return; } serializer.startTag(null, "item"); serializer.attribute(null, "type", type); serializer.attribute(null, "name", res.getResSpec().getName()); serializer.endTag(null, "item"); }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { String type = getTypeAsString(); serializer.startTag(null, "attr"); serializer.attribute(null, "name", res.getResSpec().getName()); if (type != null) { serializer.attribute(null, "format", type); } if (mMin != null) { serializer.attribute(null, "min", mMin.toString()); } if (mMax != null) { serializer.attribute(null, "max", mMax.toString()); } if (mL10n != null && mL10n) { serializer.attribute(null, "localization", "suggested"); } serializeBody(serializer, res); serializer.endTag(null, "attr"); }
ResResource res) throws IOException, AndrolibException { serializer.startTag(null, "style"); serializer.attribute(null, "name", res.getResSpec().getName()); if (!mParent.isNull() && !mParent.referentIsNull()) { serializer.attribute(null, "parent", mParent.encodeAsResXmlAttr()); } else if (res.getResSpec().getName().indexOf('.') != -1) { serializer.attribute(null, "parent", ""); ResAttr attr = (ResAttr) resource; value = attr.convertToResXmlFormat(mItems[i].m2); name = spec.getFullName(res.getResSpec().getPackage(), true); } else { name = "@" + spec.getFullName(res.getResSpec().getPackage(), false);
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { serializer.startTag(null, "plurals"); serializer.attribute(null, "name", res.getResSpec().getName()); for (int i = 0; i < mItems.length; i++) { ResScalarValue item = mItems[i]; if (item == null) { continue; } serializer.startTag(null, "item"); serializer.attribute(null, "quantity", QUANTITY_MAP[i]); serializer.text(ResXmlEncoders.enumerateNonPositionalSubstitutionsIfRequired(item.encodeAsResXmlNonEscapedItemValue())); serializer.endTag(null, "item"); } serializer.endTag(null, "plurals"); }
@Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { String type = getType(); type = (type == null ? "" : type + "-") + "array"; serializer.startTag(null, type); serializer.attribute(null, "name", res.getResSpec().getName()); // lets check if we need to add formatted="false" to this array for (int i = 0; i < mItems.length; i++) { if (mItems[i].hasMultipleNonPositionalSubstitutions()) { serializer.attribute(null, "formatted", "false"); break; } } // add <item>'s for (int i = 0; i < mItems.length; i++) { serializer.startTag(null, "item"); serializer.text(mItems[i].encodeAsResXmlNonEscapedItemValue()); serializer.endTag(null, "item"); } serializer.endTag(null, type); }