void HandleGeofenceAdded (object sender, GeofenceChangeEventArgs e) { _successfullyRestored = e.RequestId.SequenceEqual (_activeAlarms.Select (alarm => alarm.RequestId).ToArray ()); Log.Debug (TAG, "HandleGeofenceAdded " + _successfullyRestored); _dbManager.EnableAlarms ( _activeAlarms.Where (alarm => e.RequestId.Contains (alarm.RequestId)).ToList (), true); _geofenceManager.Stop (); }
void HandleGeofenceAdded(object sender, GeofenceChangeEventArgs e) { _successfullyRestored = e.RequestId.SequenceEqual(_activeAlarms.Select(alarm => alarm.RequestId).ToArray()); Log.Debug(TAG, "HandleGeofenceAdded " + _successfullyRestored); _dbManager.EnableAlarms( _activeAlarms.Where(alarm => e.RequestId.Contains(alarm.RequestId)).ToList(), true); _geofenceManager.Stop(); }
void OnGeofenceManagerGeofenceRemoved(object sender, GeofenceChangeEventArgs e) { if (LocationStatusCodes.Success == e.Status) { if (_changesToProceed[0].Item1 == ActionOnAlarm.Disable) { _dbManager.DisableAlarm(_changesToProceed[0].Item2.RequestId); } else { _dbManager.DeleteAlarm(_changesToProceed[0].Item2); } } lock (_changesToProceed) { _changesToProceed.RemoveAt(0); } _isProcessing = false; ProcessNextChange(); }