protected override void OnAppearing() { base.OnAppearing(); TorLogViewModel tvm = MSProApp.Locator.TorLogVM; if (tvm != null && TorLogListView.ItemsSource != tvm.TorLog) { TorLogListView.ItemsSource = tvm.TorLog; } TorLogLabel.Text = tvm.TorLogLabelText; ClearLogBtn.Text = tvm.ClearLogBtnText; }
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(); }); }