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));
                }
            }
        }
Example #2
0
        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));
                }
            }
        }