From af489c4364c64da397391791aeb0fa750422ed7b Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Thu, 6 Jun 2019 20:01:32 +0300 Subject: [PATCH] Duplicated subscriptions are now ignored on login --- FoxTube/Assets/Data/Patchnotes.xml | 2 ++ FoxTube/Classes/SecretsVault.cs | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/FoxTube/Assets/Data/Patchnotes.xml b/FoxTube/Assets/Data/Patchnotes.xml index 244ccc2..d300d6f 100644 --- a/FoxTube/Assets/Data/Patchnotes.xml +++ b/FoxTube/Assets/Data/Patchnotes.xml @@ -6,11 +6,13 @@ - Improved analytics tools for more precise bugs tracking - Fixed multipying downloads history entries on login/logout - Added feedback button failed authentication popup +- Duplicated subscriptions are now ignored on login ### Что нового: - Улучшены инструменты аналитики для более быстрого поиска багов - Исправлено дублирование записей истории загрузок при входе/выходе из аккаунта - Добавлена кнопка отзыва в сообщении об ошибке при входе в аккаунт +- Повторяющиеся подписки теперь игнорируются при входе diff --git a/FoxTube/Classes/SecretsVault.cs b/FoxTube/Classes/SecretsVault.cs index 4fa7ef2..ad71473 100644 --- a/FoxTube/Classes/SecretsVault.cs +++ b/FoxTube/Classes/SecretsVault.cs @@ -222,7 +222,22 @@ namespace FoxTube public static void SaveSubscriptions() { Dictionary subs = new Dictionary(); - Subscriptions.ForEach(x => subs.Add(x.Snippet.ResourceId.ChannelId, x.Snippet.Thumbnails.Default__.Url)); + foreach(Subscription i in Subscriptions) + try + { + subs.Add(i.Snippet.ResourceId.ChannelId, i.Snippet.Thumbnails.Default__.Url); + } + catch (Exception e) + { + Analytics.TrackEvent("Failed to save user's subscription", new Dictionary + { + { "Exception", e.GetType().ToString() }, + { "Message", e.Message }, + { "Channel ID", i.Snippet.ResourceId.ChannelId }, + { "StackTrace", e.StackTrace } + }); + continue; + } ApplicationData.Current.RoamingSettings.Values["subscriptions"] = JsonConvert.SerializeObject(subs); }