private static void ActivateInternal(Guid apiKey) { try { LegacyManager.CompleteMigration().RunSynchronously(); } catch (Exception) { } YandexMetrica.MigrateApiKeys(); LiteMetricaService liteMetricaService = Store.Get <LiteMetricaService>(); if (((IEnumerable <Guid>)Critical.GetApiKeys()).Contains <Guid>(apiKey)) { liteMetricaService.Wake(false, true); } else { Critical.AddApiKey(apiKey); liteMetricaService.Wake(true, true); Critical.Submit(); } lock (YandexMetrica.CacheLock) { liteMetricaService.Report(YandexMetrica.Cache.ToArray()); YandexMetrica.Cache.Clear(); YandexMetrica._liteMetricaService = liteMetricaService; } liteMetricaService.ForceSend = true; }
private static void MigrateApiKeys() { Guid[] apiKeys = Critical.GetApiKeys(); Guid[] array = YandexMetrica.InternalConfig.KnownKeys.Where <Guid>((Func <Guid, bool>)(k => !((IEnumerable <Guid>)apiKeys).Contains <Guid>(k))).ToArray <Guid>(); ((IEnumerable <Guid>)array).ForEach <Guid>(new Action <Guid>(Critical.AddApiKey)); if (!((IEnumerable <Guid>)array).Any <Guid>()) { return; } Critical.Submit(); }