Skipped storing empty paramter lists. It was possible to brick watches with this :(

master 1.0.2.10
Valeriy Mironov 2018-05-01 00:54:51 +03:00
parent 985fd1688e
commit cfff020bc0
2 changed files with 6 additions and 1 deletions

View File

@ -56,7 +56,11 @@ namespace WatchFace.Parser.Utils
}
else
{
result.Add(new Parameter(id, Build(propertyValue, currentPath)));
var innerParameters = Build(propertyValue, currentPath);
if (innerParameters.Count > 0)
result.Add(new Parameter(id, innerParameters));
else
Logger.Trace("{0} '{1}': Skipped because of empty", currentPath, propertyInfo.Name);
}
}

View File

@ -25,6 +25,7 @@ namespace WatchFace.Parser
var encodedParameters = new Dictionary<byte, MemoryStream>(descriptor.Count);
foreach (var parameter in descriptor)
{
Logger.Trace("Parameter: {0}", parameter.Id);
var memoryStream = new MemoryStream();
foreach (var child in parameter.Children)
child.Write(memoryStream);