internal static HashSet <VersionedDependency> DeserializeDependenciesRecord(Settings.InstalledKit.MetaTuple record) { return(new HashSet <VersionedDependency> ((Internal.ThirdParty.MiniJSON.Json.Deserialize(record.Value) as List <object>).ConvertAll( obj => { Dictionary <string, object> typed = obj as Dictionary <string, object>; return new VersionedDependency { Name = typed ["name"] as string, Version = typed ["version"] as string }; } ))); }
private static void SendKitAnalytics(DateTime now, string installedKitName) { Settings.InstalledKit.MetaTuple timestampTuple = Settings.Instance.InstalledKits .Find(k => k.Name.Equals(installedKitName, StringComparison.OrdinalIgnoreCase)).Meta .Find(tuple => tuple.Key.Equals(ConfiguredTimestampKey)); if (timestampTuple == null) { return; } double configuredTimestampSeconds = Double.Parse(timestampTuple.Value, CultureInfo.InvariantCulture); Update.PeriodicPinger.Enqueue(Analytics.TimeBucket.From( Detail.TimeUtils.FromEpochSeconds(configuredTimestampSeconds), now, installedKitName )); }