void AddUsesPermissions(XElement application) { var assemblyAttrs = Assemblies.SelectMany(path => UsesPermissionAttribute.FromCustomAttributeProvider(Resolver.GetAssembly(path))); // Add unique permissions to the manifest foreach (var upa in assemblyAttrs.Distinct(new UsesPermissionAttribute.UsesPermissionComparer())) { if (!application.Parent.Descendants("uses-permission").Any(x => (string)x.Attribute(attName) == upa.Name)) { application.AddBeforeSelf(upa.ToElement(PackageName)); } } }
void AddUsesPermissions(XElement application, List <string> selectedWhitelistAssemblies) { // Look in user assemblies + whitelist (like Maps) var check_assemblies = Assemblies.Union(selectedWhitelistAssemblies); var assemblyAttrs = check_assemblies.SelectMany(path => UsesPermissionAttribute.FromCustomAttributeProvider(Resolver.GetAssembly(path))); // Add unique permissions to the manifest foreach (var upa in assemblyAttrs.Distinct(new UsesPermissionAttribute.UsesPermissionComparer())) { if (!application.Parent.Descendants("uses-permission").Any(x => (string)x.Attribute(attName) == upa.Name)) { application.AddBeforeSelf(upa.ToElement(PackageName)); } } }