コード例 #1
0
ファイル: DonorUser.cs プロジェクト: PlayBlue7/SKDPublic
        private static void OnCurrentSnapshot(IDocumentSnapshot?snapshot)
        {
            Current = snapshot?.ToObject <DonorUser>();
            CurrentUpdated?.Invoke(Current);
            if (previousUID != Current?.UID)
            {
                previousUID = Current?.UID;
                CurrentChanged?.Invoke(Current);
                CrossFirebasePushNotification.Current.UnsubscribeAll();
                if (!(Current is null))
                {
                    CrossFirebasePushNotification.Current.Subscribe("Urgent_Project");
                }
            }
            _ = DonationBundle.SetCurrentAsync(Current?.CurrentDonationBundle);
            if (!(Current is null) && ThemeEngine.SetTheme(Current.DesiredTheme))
            {
                SecureStorage.SetAsync("ThemePreference", Current.DesiredTheme.ToString());
            }
            var newTopics = Current?.DonatedProjectUIDs.Select(x => "Project_" + x)
                            .Where(x => !CrossFirebasePushNotification.Current.SubscribedTopics.Contains(x));

            if (newTopics?.Any() ?? false)
            {
                CrossFirebasePushNotification.Current.Subscribe(newTopics.ToArray());
            }
            System.Diagnostics.Debug.WriteLine(string.Join(", ", CrossFirebasePushNotification.Current.SubscribedTopics));
        }
コード例 #2
0
 public void Save()
 {
     Task.Run(async() =>
     {
         await XamarinSecureStorage.SetAsync(Constants.USER_ID, JsonConvert.SerializeObject(tokens));
     });
 }
コード例 #3
0
        private SecureStorage()
        {
            Task.Run(async() =>
            {
                string storage = await XamarinSecureStorage.GetAsync(Constants.USER_ID);

                tokens = new Dictionary <string, string>();
                if (!string.IsNullOrEmpty(storage))
                {
                    JObject obj = JObject.Parse(storage);
                    foreach (var token in obj)
                    {
                        tokens.Add(token.Key, token.Value.Value <string>());
                    }
                }
            }).Wait();
        }
コード例 #4
0
ファイル: PartnerUser.cs プロジェクト: PlayBlue7/SKDPublic
 private static void OnCurrentSnapshot(IDocumentSnapshot?snapshot)
 {
     Current = snapshot?.ToObject <PartnerUser>();
     CurrentUpdated?.Invoke(Current);
     if (Current?.UID != previousUID)
     {
         previousUID = Current?.UID;
         CurrentChanged?.Invoke(Current);
     }
     if (Current?.TeamConfirmed ?? false)
     {
         Team.SetCurrent(Current.TeamUID);
     }
     if (!(Current is null) && ThemeEngine.SetTheme(Current.DesiredTheme))
     {
         SecureStorage.SetAsync("ThemePreference", Current.DesiredTheme.ToString());
     }
 }
コード例 #5
0
 public void Clear()
 {
     tokens.Clear();
     XamarinSecureStorage.Remove(Constants.USER_ID);
 }