public virtual async Task <bool> StartServices() { bool isGranted = await Mvx.Resolve <IPermissionsService>().CheckPermissionsAccesGrantedAsync(); if (!IsBound && isGranted) { Log.LogMessage(string.Format("FACADE HAS STARTED AT {0}", DateTime.Now)); Debug.WriteLine("Inside tracking service"); _textToSpeech.IsEnabled = true; _activity.StartDetection(); _geoWatcher.StartGeolocationWatcher(); Insights.Track("Subscribed on LocationMessage."); _locationToken = _messenger.SubscribeOnThreadPoolThread <LocationMessage>(async x => { Log.LogMessage("Start processing LocationMessage"); await CheckTrackStatus(); }); _tokens.Add(_locationToken); Log.LogMessage("Start Facade location detection and subscride on LocationMessage"); return(true); } return(false); }
void TimerElapsed(object state) { if (_motionActivity.MotionType != MotionType.Still) { Log.LogMessage($"StartGeolocationWatcher from BatteryDrainService after {state} m of sleeping"); _geoWatcher.StartGeolocationWatcher(); } else { Log.LogMessage($"StartGeolocationWatcher was not started because we are still after {state} m of sleeping"); } DisposeTimer(); }