public MSProApp() { Version = "1.1"; MainTabs = new Tabs(); ProxyTips = new TabbedPage(); ProxyTipsWifiPage wfPage = new ProxyTipsWifiPage(); wfPage.Title = AppStrings.Wifi; ProxyTipsAPNPage apnPage = new ProxyTipsAPNPage(); apnPage.Title = AppStrings.APN; ProxyTips.Children.Add(wfPage); ProxyTips.Children.Add(apnPage); MainPage = new NavigationPage(MainTabs); MessagingCenter.Subscribe <MSProApp, string>(this, "TorOutput", (sender, arg) => { if (arg.CompareTo(System.String.Empty) != 0) { MSProApp.Locator.TorLogVM.TorLog.Add(arg); MessagingCenter.Send <StatusViewModel, string>(MSProApp.Locator.StatusVM, "NewLoadMessage", arg); } if (arg.IndexOf("[err]") != -1) { //error! } if (arg.IndexOf("100%") != -1) { Task tc = Task.Run(() => { Tor.Connect(); }); tc.Wait(); MessagingCenter.Send <StatusPage>(MSProApp.Locator.StatusVM.CurrentPage, "BootstrappFinished"); } }); MessagingCenter.Subscribe <MSProApp>(this, "Start", (sender) => { OnStart(); }); }
public MSProApp() { Version = "1.1"; StatusPage = (StatusPage)FreshPageModelResolver.ResolvePageModel <StatusViewModel>(); StatusPage.Title = Translation.GetString("Status"); StatusVM = (StatusViewModel)StatusPage.BindingContext; CountriesPage = (CountriesPage)FreshPageModelResolver.ResolvePageModel <CountriesViewModel>(); CountriesPage.Title = Translation.GetString("Countries"); CountriesVM = (CountriesViewModel)CountriesPage.BindingContext; CitiesPage = (CitiesPage)FreshPageModelResolver.ResolvePageModel <CitiesViewModel>(); CitiesPage.Title = Translation.GetString("Cities"); CitiesVM = (CitiesViewModel)CitiesPage.BindingContext; TorLogPage = (TorLogPage)FreshPageModelResolver.ResolvePageModel <TorLogViewModel>(); TorLogPage.Title = Translation.GetString("Tor log"); TorLogVM = (TorLogViewModel)TorLogPage.BindingContext; SettingsPage = (SettingsPage)FreshPageModelResolver.ResolvePageModel <SettingsViewModel>(); SettingsPage.Title = Translation.GetString("Settings"); SettingsVM = (SettingsViewModel)SettingsPage.BindingContext; AboutPage = (AboutPage)FreshPageModelResolver.ResolvePageModel <AboutViewModel>(); AboutPage.Title = Translation.GetString("About"); AboutVM = (AboutViewModel)AboutPage.BindingContext; ProxyTips = new TabbedPage(); ProxyTipsWifiPage wfPage = (ProxyTipsWifiPage)FreshPageModelResolver.ResolvePageModel <ProxyTipsWifiViewModel>(); wfPage.Title = Translation.GetString("Wi-Fi"); PTWFVM = (ProxyTipsWifiViewModel)wfPage.BindingContext; ProxyTipsAPNPage apnPage = (ProxyTipsAPNPage)FreshPageModelResolver.ResolvePageModel <ProxyTipsAPNViewModel>(); apnPage.Title = Translation.GetString("APN"); PTAPNVM = (ProxyTipsAPNViewModel)apnPage.BindingContext; ProxyTips.Children.Add(wfPage); ProxyTips.Children.Add(apnPage); MainPage = new NavigationPage(StatusPage); MessagingCenter.Subscribe <MSProApp, string>(this, "TorOutput", (sender, arg) => { if (arg.CompareTo(System.String.Empty) != 0) { TorLogVM.TorLog.Add(arg); MessagingCenter.Send <StatusViewModel, string>(StatusVM, "NewLoadMessage", arg); } if (arg.IndexOf("[err]") != -1) { //error! } if (arg.IndexOf("100%") != -1) { Task tc = Task.Run(() => { Tor.Connect(); }); tc.Wait(); MessagingCenter.Send <StatusPage>((StatusPage)StatusVM.CurrentPage, "BootstrappFinished"); } }); MessagingCenter.Subscribe <MSProApp>(this, "Start", (sender) => { OnStart(); }); }