private void InitializeStartLiveDataProvider(ILiveDataProviderFactory factory) { _liveDataProvider = factory.GetCurrentProvider(); if (_liveDataProvider != null) { this.MapRouteStopsViewModel.Initialize(_liveDataProvider); this.MapVehiclesViewModel.Initialize(_liveDataProvider); _liveDataProvider.Start(); this.MapRouteStopsViewModel.LoadRouteStopsCommand.Execute(); this.MapVehiclesViewModel.ForceVehicleLocationsUpdateCommand.Execute(); MvxTrace.Trace(() => "provider started"); } }
public ILiveDataProvider GetCurrentProvider() { lock (_locationService) { var area = _locationService.CurrentArea; if (_currentArea == null || area == null || !_currentArea.Id.Equals(area.Id) || _currentProvider == null) { _currentArea = area; _currentProvider = this.CreateProvider(_currentArea); return(_currentProvider); } return(_currentProvider); } }
public void Initialize(ILiveDataProvider liveDataProvider) { this.Clear(); if (_liveDataProvider != null) { _liveDataProvider.VehicleLocationsUpdateStarted -= this.OnVehicleLocationsUpdateStarted; _liveDataProvider.VehicleLocationsUpdateFailed -= this.OnVehicleLocationsUpdateFailed; _liveDataProvider.VehicleLocationsUpdated -= this.OnVehicleLocationsUpdated; } _liveDataProvider = liveDataProvider; _liveDataProvider.VehicleLocationsUpdateStarted += this.OnVehicleLocationsUpdateStarted; _liveDataProvider.VehicleLocationsUpdateFailed += this.OnVehicleLocationsUpdateFailed; _liveDataProvider.VehicleLocationsUpdated += this.OnVehicleLocationsUpdated; }
private void OnAreaChanged(object sender, AreaChangedEventArgs args) { lock (_locationService) { if (_currentArea == null || args.Area == null) { _currentArea = args.Area; _currentProvider = this.CreateProvider(_currentArea); } else { if (!_currentArea.Id.Equals(args.Area.Id)) { _currentArea = args.Area; _currentProvider = this.CreateProvider(_currentArea); } } } }
public void Initialize(ILiveDataProvider provider) { this.Clear(); _liveDataProvider = provider; }