diff --git a/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlGeneratorExtensions.cs b/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlGeneratorExtensions.cs index bdd5afbbe..13e63b9a1 100644 --- a/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlGeneratorExtensions.cs +++ b/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlGeneratorExtensions.cs @@ -10,12 +10,12 @@ public static class JavaApiXmlGeneratorExtensions { public static void Save (this JavaApi api, string xmlfile) { - using (var reader = XmlWriter.Create (xmlfile, new XmlWriterSettings () { + using (var writer = XmlWriter.Create (xmlfile, new XmlWriterSettings () { Encoding = new UTF8Encoding (false, true), Indent = true, OmitXmlDeclaration = true, })) - api.Save (reader); + api.Save (writer); } public static void Save (this JavaApi api, XmlWriter writer) diff --git a/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlLoaderExtensions.cs b/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlLoaderExtensions.cs index 8b70abace..c919cfef9 100644 --- a/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlLoaderExtensions.cs +++ b/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiXmlLoaderExtensions.cs @@ -31,9 +31,12 @@ public static void Load (this JavaApi api, XmlReader reader, bool isReferenceOnl break; // if (reader.NodeType != XmlNodeType.Element || reader.LocalName != "package") throw XmlUtil.UnexpectedElementOrContent ("api", reader, "package"); - var pkg = api.Packages.FirstOrDefault (p => p.Name == reader.GetAttribute ("name")) ?? new JavaPackage (api); + var pkg = api.Packages.FirstOrDefault (p => p.Name == reader.GetAttribute ("name")); + if (pkg == null) { + pkg = new JavaPackage (api); + api.Packages.Add (pkg); + } pkg.Load (reader, isReferenceOnly); - api.Packages.Add (pkg); } while (true); XmlUtil.VerifyEndElement (reader, "api");