public App() { InitializeComponent(); _locationUpdates = DependencyService.Resolve <ILocationUpdates>(); Connectivity.ConnectivityChanged += ConnectivityChanged; DeviceDisplay.KeepScreenOn = true; MainPage = new AppShell(); Routing.RegisterRoute("settings", typeof(SettingsPage)); Routing.RegisterRoute("log", typeof(LogPage)); }
public SettingsViewModel() { _locationUpdates = DependencyService.Resolve <ILocationUpdates>(); MessagingCenter.Subscribe <IGpsManager>(this, Constants.Message.GPS_STATE_CHANGED, (sender) => { OnPropertyChanged("GpsConnected"); OnPropertyChanged("ConnectCommandDescription"); }); MessagingCenter.Subscribe <App, Xamarin.Essentials.ConnectivityChangedEventArgs>(this, Constants.Message.CONNECTION_STATE_CHANGED, (sender, args) => { OnPropertyChanged("ConnectionStatus"); }); MessagingCenter.Subscribe <PositionUpdate[]>(this, Constants.Message.POSITIONS_UPDATED, (positions) => { OnPropertyChanged("PositionsSummary"); OnPropertyChanged("LastUpdate"); }); }
public MainViewModel() { _updates = DependencyService.Get <ILocationUpdates>(); MessagingCenter.Subscribe <ILocationUpdates>(this, Constants.Message.TRACKING_STATE_CHANGED, (sender) => RefreshUI()); MessagingCenter.Subscribe <string>(this, Constants.Message.TARGET_UPDATED, (target) => RefreshUI()); MessagingCenter.Subscribe <PositionUpdate[]>(this, Constants.Message.POSITIONS_UPDATED, (positions) => RefreshUI()); MessagingCenter.Subscribe <IGpsManager>(this, Constants.Message.GPS_STATE_CHANGED, (sender) => { if (_updates.IsRunning && !sender.IsListening) { _updates.Stop(); } RefreshUI(); }); // Force a re-build State.Positions.Clear(); State.ResetThrottle(); }