updateManifestAppName method
XmlDocument
updateManifestAppName(
- XmlDocument doc
Implementation
XmlDocument updateManifestAppName(XmlDocument doc) {
final elements = doc.findAllElements('application').toList();
if (elements.isEmpty) {
return doc;
}
final targetKeyString = "android:label";
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: valueDoc,
name: 'string',
attributeName: 'name',
targetKey: valueStringsTargetKey,
targetValue: newAppName,
autoFill: true,
);
f.writeAsStringSync(valueDoc.toXmlString(pretty: true));
}
} else {
app.setAttribute(targetKeyString, newAppName);
}
return doc;
}