updateManifestPackage method
XmlDocument
updateManifestPackage(
- XmlDocument doc
Implementation
XmlDocument updateManifestPackage(XmlDocument doc) {
if (newPackage.isEmpty) {
return doc;
}
final elements = doc.findAllElements('manifest').toList();
if (elements.isEmpty) {
return doc;
}
final targetKeyString = "package";
XmlElement app = elements.first;
String androidLabel = app.getAttribute(targetKeyString) ?? '';
if (androidLabel.startsWith('@')) {
final list = androidLabel.split("/");
final valueStringsTargetKey = list.last;
final allFiles = getValueDirFile(names: ['string', 'strings'], extensions: ['xml']);
for (File f in allFiles) {
final valueDoc = XmlDocument.parse(f.readAsStringSync());
setDocStringValue(
doc: doc,
name: 'string',
attributeName: 'name',
targetKey: valueStringsTargetKey,
targetValue: newPackage,
);
f.writeAsStringSync(valueDoc.toXmlString());
}
} else {
app.setAttribute(targetKeyString, newPackage);
}
return doc;
}