Пример #1
0
        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");
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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;
        }
Пример #4
0
 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);
             }
         }
     }
 }
Пример #5
0
 public void Initialize(ILiveDataProvider provider)
 {
     this.Clear();
     _liveDataProvider = provider;
 }