public LanguagePageViewModel(INavigationService navigationService) { _navigationService = navigationService; languageDBService = DependencyService.Get <ILanguageDBService>(); }
protected override async void OnInitialized() { InitializeComponent(); #region DataBase languageDBService = DependencyService.Get <ILanguageDBService>(); toastMessage = DependencyService.Get <ToastMessage>(); userDBService = DependencyService.Get <IUserDBService>(); #endregion #region FCM CrossFirebasePushNotification.Current.Subscribe("general"); CrossFirebasePushNotification.Current.OnTokenRefresh += (s, p) => { System.Diagnostics.Debug.WriteLine($"TOKEN REC: {p.Token}"); }; System.Diagnostics.Debug.WriteLine($"TOKEN: {CrossFirebasePushNotification.Current.Token}"); CrossFirebasePushNotification.Current.OnNotificationReceived += (s, p) => { try { System.Diagnostics.Debug.WriteLine("Received"); if (p.Data.ContainsKey("body")) { var Message = $"{p.Data["body"]}"; MessagingCenter.Send(Message, "Notification Recieved"); } } catch (Exception ex) { } }; CrossFirebasePushNotification.Current.OnNotificationOpened += (s, p) => { //System.Diagnostics.Debug.WriteLine(p.Identifier); System.Diagnostics.Debug.WriteLine("Opened"); foreach (var data in p.Data) { System.Diagnostics.Debug.WriteLine($"{data.Key} : {data.Value}"); } //if (p.Data.ContainsKey("body")) //{ // var Message = $"{p.Data["body"]}"; // MessagingCenter.Send(Message, "Notification Recieved"); // toastMessage.Show("You have recieved a new notification."); //} //if (!string.IsNullOrEmpty(p.Identifier)) //{ // Device.BeginInvokeOnMainThread(() => // { // //mPage.Message = p.Identifier; // }); //} //else if (p.Data.ContainsKey("color")) //{ // Device.BeginInvokeOnMainThread(() => // { // //mPage.Navigation.PushAsync(new ContentPage() // //{ // // BackgroundColor = Color.FromHex($"{p.Data["color"]}") // //}); // }); //} //else if (p.Data.ContainsKey("aps.alert.title")) //{ // Device.BeginInvokeOnMainThread(() => // { // //mPage.Message = $"{p.Data["aps.alert.title"]}"; // }); //} }; CrossFirebasePushNotification.Current.OnNotificationAction += (s, p) => { System.Diagnostics.Debug.WriteLine("Action"); if (!string.IsNullOrEmpty(p.Identifier)) { System.Diagnostics.Debug.WriteLine($"ActionId: {p.Identifier}"); foreach (var data in p.Data) { System.Diagnostics.Debug.WriteLine($"{data.Key} : {data.Value}"); } } }; CrossFirebasePushNotification.Current.OnNotificationDeleted += (s, p) => { System.Diagnostics.Debug.WriteLine("Dismissed"); }; #endregion #region Check Network Connection var seconds = TimeSpan.FromSeconds(1); Device.StartTimer(seconds, () => { return(CheckConnection()); }); #endregion #region SignalR Chat Implement Part 2 //_chatServices = DependencyService.Get<IChatServices>(); //_chatServices.Connect(); #endregion FlowListView.Init(); try { var IsLanguageDBExist = languageDBService.IsLanguageDbPresentInDB(); var IsUserDBExist = userDBService.IsUserDbPresentInDB(); if (IsLanguageDBExist) { IEnumerable <LanguageModel> lang = languageDBService.ReadAllItems(); Setlanguage(lang.First().ShortName); if (IsUserDBExist) { await NavigationService.NavigateAsync(new Uri("/MasterPage/NavigationPage/HomeTabbedPage", UriKind.Absolute)); } else { await NavigationService.NavigateAsync("NavigationPage/Login_Page"); } } else { await NavigationService.NavigateAsync("NavigationPage/LanguagePage"); } } catch (Exception ex) { } }