Beispiel #1
0
        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));
        }
Beispiel #2
0
        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");
            });
        }
Beispiel #3
0
        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();
        }