public void UpdateView(Action callback)
 {
     Device.BeginInvokeOnMainThread(() =>
     {
         if (Singleton.Any <LazuriteContext>())
         {
             warnMessageView.IsVisible = false;
             var scenariosManager      = Singleton.Resolve <LazuriteContext>().Manager;
             scenariosManager.GetListenerSettings((settings) =>
             {
                 _currentListenerSettings = settings;
                 scenariosManager.GetGeolocationListenerSettings((gpsSettings) =>
                 {
                     _currentGeolocationSettings = gpsSettings;
                     scenariosManager.GetGeolocationAccuracy((gpsAccuracy) =>
                     {
                         _currentGelocationAccuracy = gpsAccuracy;
                         callback?.Invoke();
                     });
                 });
             });
         }
         else
         {
             warnMessageView.IsVisible = true;
             callback?.Invoke();
         }
     });
 }
        public async void SelectSetting_GeolocationListener(SettingsItem settingItem)
        {
            await Helper.TryGrantRequiredPermissions();

            _currentGeolocationSettings = (GeolocationListenerSettings)settingItem.Tag;
            var scenariosManager = Singleton.Resolve <LazuriteContext>().Manager;

            scenariosManager.SetGeolocationListenerSettings(_currentGeolocationSettings);
        }
 public void SetGeolocationListenerSettings(GeolocationListenerSettings settings)
 {
     Utils.SendData(settings, _toServiceMessenger, _messenger, ServiceOperation.SetGeolocationListenerSettings);
 }