fetchCurrentBundleName function

String fetchCurrentBundleName(
  1. Context context,
  2. String manifestFileData
)

Implementation

String fetchCurrentBundleName(Context context, String manifestFileData) {
  final parsed = XmlDocument.parse(manifestFileData);

  final application = parsed.findAllElements("application").toList()[0];

  final List<String> label = application.attributes.where((attrib) => attrib.toString().contains("android:label")).map((i) => i.toString()).toList();

  if (label.isEmpty) {
    throw Exception("Could not find android:label in ${context.androidManifestPath}");
  }

  return label[0] as String;
}