fix spacing in ResArrayValue

This commit is contained in:
Connor Tumbleson 2013-11-23 08:35:08 -06:00
parent e91790e676
commit a1ca5019d8

View File

@ -29,65 +29,65 @@ import org.xmlpull.v1.XmlSerializer;
* @author Ryszard Wiśniewski <brut.alll@gmail.com>
*/
public class ResArrayValue extends ResBagValue implements
ResValuesXmlSerializable {
private String mRawItems;
ResValuesXmlSerializable {
private String mRawItems;
ResArrayValue(ResReferenceValue parent, Duo<Integer, ResScalarValue>[] items) {
super(parent);
ResArrayValue(ResReferenceValue parent, Duo<Integer, ResScalarValue>[] items) {
super(parent);
mItems = new ResScalarValue[items.length];
for (int i = 0; i < items.length; i++) {
mItems[i] = items[i].m2;
}
}
mItems = new ResScalarValue[items.length];
for (int i = 0; i < items.length; i++) {
mItems[i] = items[i].m2;
}
}
public ResArrayValue(ResReferenceValue parent, ResScalarValue[] items) {
super(parent);
mItems = items;
}
public ResArrayValue(ResReferenceValue parent, ResScalarValue[] items) {
super(parent);
mItems = items;
}
@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());
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);
}
@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());
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);
}
public String getType() throws AndrolibException {
if (mItems.length == 0) {
return null;
}
String type = mItems[0].getType();
for (int i = 1; i < mItems.length; i++) {
public String getType() throws AndrolibException {
if (mItems.length == 0) {
return null;
}
String type = mItems[0].getType();
for (int i = 1; i < mItems.length; i++) {
if (mItems[i].encodeAsResXmlItemValue().startsWith("@string")) {
return "string";
} else if (mItems[i].encodeAsResXmlItemValue().startsWith("@drawable")) {
return null;
if (mItems[i].encodeAsResXmlItemValue().startsWith("@string")) {
return "string";
} else if (mItems[i].encodeAsResXmlItemValue().startsWith("@drawable")) {
return null;
} else if (mItems[i].encodeAsResXmlItemValue().startsWith("@integer")) {
return "integer";
} else if (!"string".equals(type) && !"integer".equals(type)) {
return null;
} else if (!type.equals(mItems[i].getType())) {
return null;
}
}
} else if (!"string".equals(type) && !"integer".equals(type)) {
return null;
} else if (!type.equals(mItems[i].getType())) {
return null;
}
}
if (!Arrays.asList(AllowedArrayTypes).contains(type)) {
return "string";
}
return type;
}
return type;
}
private final ResScalarValue[] mItems;
private final ResScalarValue[] mItems;
private final String AllowedArrayTypes[] = {"string", "integer"};
public static final int BAG_KEY_ARRAY_START = 0x02000000;
public static final int BAG_KEY_ARRAY_START = 0x02000000;
}