public void DidUpdateTrigger(HMHome home, HMTrigger trigger)
 {
     if (Trigger == trigger)
     {
         TableView.ReloadData();
     }
 }
 public void DidRemoveTrigger(HMHome home, HMTrigger trigger)
 {
     if (Trigger == trigger)
     {
         DismissViewController(true, null);
     }
 }
        public NSIndexPath Remove(HMTrigger trigger)
        {
            var indexPath = IndexPathOfObject(trigger);

            Triggers.RemoveAt(indexPath.Row);
            return(indexPath);
        }
Exemple #4
0
 async void TryRemove(HMTrigger trigger)
 {
     try {
         await Home.RemoveTriggerAsync(trigger);
     } catch (NSErrorException ex) {
         DisplayError(ex.Error);
         Add(trigger);
     }
 }
		public TimerTriggerCreator (HMTrigger trigger, HMHome home)
			: base (trigger, home)
		{
			SelectedRecurrenceIndex = -1;
			RawFireDate = new NSDate ();

			var timerTrigger = TimerTrigger;
			if (timerTrigger != null) {
				RawFireDate = timerTrigger.FireDate;
				SelectedRecurrenceIndex = RecurrenceIndexFromDateComponents (timerTrigger.Recurrence);
			}
		}
		public LocationTriggerCreator (HMTrigger trigger, HMHome home)
			: base (trigger, home)
		{
			var eventTrigger = EventTrigger;
			if (eventTrigger != null) {
				LocationEvent = eventTrigger.LocationEvent ();
				if (LocationEvent != null) {
					TargetRegion = LocationEvent.Region as CLCircularRegion;
					TargetRegionStateIndex = TargetRegion.NotifyOnEntry ? 0 : 1;
				}
			}
		}
Exemple #7
0
        public TimerTriggerCreator(HMTrigger trigger, HMHome home)
            : base(trigger, home)
        {
            SelectedRecurrenceIndex = -1;
            RawFireDate             = new NSDate();

            var timerTrigger = TimerTrigger;

            if (timerTrigger != null)
            {
                RawFireDate             = timerTrigger.FireDate;
                SelectedRecurrenceIndex = RecurrenceIndexFromDateComponents(timerTrigger.Recurrence);
            }
        }
        public LocationTriggerCreator(HMTrigger trigger, HMHome home)
            : base(trigger, home)
        {
            var eventTrigger = EventTrigger;

            if (eventTrigger != null)
            {
                LocationEvent = eventTrigger.LocationEvent();
                if (LocationEvent != null)
                {
                    TargetRegion           = LocationEvent.Region as CLCircularRegion;
                    TargetRegionStateIndex = TargetRegion.NotifyOnEntry ? 0 : 1;
                }
            }
        }
        // Enable the trigger if necessary.
        void EnableTrigger(HMTrigger trigger, Action completion)
        {
            if (trigger.Enabled == EnabledSwitch.On)
            {
                completion();
                return;
            }

            trigger.Enable(EnabledSwitch.On, error => {
                if (error != null)
                {
                    DisplayError(error);
                }
                else
                {
                    completion();
                }
            });
        }
        void SaveAndDismiss()
        {
            SaveButton.Enabled = false;
            var triggerCreator = TriggerCreator;

            if (triggerCreator != null)
            {
                triggerCreator.SaveTriggerWithName(TrimmedName, selectedActionSets, (trigger, errors) => {
                    Trigger            = trigger;
                    SaveButton.Enabled = true;

                    if (errors.Any())
                    {
                        this.DisplayErrors(errors);
                        return;
                    }

                    EnableTrigger(Trigger, Dismiss);
                });
            }
        }
Exemple #11
0
 public EventTriggerCreator(HMTrigger trigger, HMHome home)
     : base(trigger, home)
 {
 }
        public NSIndexPath IndexPathOfObject(HMTrigger trigger)
        {
            var index = Triggers.IndexOf(trigger);

            return(index < 0 ? null : BuildIndexPath(index, HomeKitObjectSection.Trigger));
        }
Exemple #13
0
 public CharacteristicTriggerCreator(HMTrigger trigger, HMHome home)
     : base(trigger, home)
 {
     Mode = CharacteristicTriggerCreatorMode.Event;
 }
		public void DidRemoveTrigger (HMHome home, HMTrigger trigger)
		{
			if (Trigger == trigger)
				DismissViewController (true, null);
		}
		void SaveAndDismiss ()
		{
			SaveButton.Enabled = false;
			var triggerCreator = TriggerCreator;
			if (triggerCreator != null) {
				triggerCreator.SaveTriggerWithName (TrimmedName, selectedActionSets, (trigger, errors) => {
					Trigger = trigger;
					SaveButton.Enabled = true;

					if (errors.Any ()) {
						this.DisplayErrors (errors);
						return;
					}

					EnableTrigger (Trigger, Dismiss);
				});
			}
		}
		public NSIndexPath Remove (HMTrigger trigger)
		{
			var indexPath = IndexPathOfObject (trigger);
			Triggers.RemoveAt (indexPath.Row);
			return indexPath;
		}
Exemple #17
0
 public void DidUpdateNameForTrigger(HMHome home, HMTrigger trigger)
 {
     ReloadRowAt(ObjectCollection.IndexPathOfObject(trigger));
 }
		public CharacteristicTriggerCreator (HMTrigger trigger, HMHome home)
			: base (trigger, home)
		{
			Mode = CharacteristicTriggerCreatorMode.Event;
		}
Exemple #19
0
 void Add(HMTrigger trigger)
 {
     InsertRowAt(ObjectCollection.Add(trigger));
 }
		public EventTriggerCreator (HMTrigger trigger, HMHome home)
			: base (trigger, home)
		{
		}
		public NSIndexPath Add (HMTrigger trigger)
		{
			Triggers.Add (trigger);
			Triggers.SortByLocalizedName (t => t.Name);
			return IndexPathOfObject (trigger);
		}
		async void TryRemove (HMTrigger trigger)
		{
			try {
				await Home.RemoveTriggerAsync (trigger);
			} catch (NSErrorException ex) {
				DisplayError (ex.Error);
				Add (trigger);
			}
		}
		public NSIndexPath IndexPathOfObject (HMTrigger trigger)
		{
			var index = Triggers.IndexOf (trigger);
			return index < 0 ? null : BuildIndexPath (index, HomeKitObjectSection.Trigger);
		}
		void Add (HMTrigger trigger)
		{
			InsertRowAt (ObjectCollection.Add (trigger));
		}
		// Enable the trigger if necessary.
		void EnableTrigger (HMTrigger trigger, Action completion)
		{
			if (trigger.Enabled == EnabledSwitch.On) {
				completion ();
				return;
			}

			trigger.Enable (EnabledSwitch.On, error => {
				if (error != null)
					DisplayError (error);
				else
					completion ();
			});
		}
		public void DidUpdateNameForTrigger (HMHome home, HMTrigger trigger)
		{
			ReloadRowAt (ObjectCollection.IndexPathOfObject (trigger));
		}
		public void DidUpdateTrigger (HMHome home, HMTrigger trigger)
		{
			if (Trigger == trigger)
				TableView.ReloadData ();
		}
Exemple #28
0
 // Initializes a trigger creator from an existing trigger (if it exists), and the current home.
 public TriggerCreator(HMTrigger trigger, HMHome home)
 {
     Home    = home;
     Trigger = trigger;
 }
		// Initializes a trigger creator from an existing trigger (if it exists), and the current home.
		public TriggerCreator (HMTrigger trigger, HMHome home)
		{
			Home = home;
			Trigger = trigger;
		}
 public NSIndexPath Add(HMTrigger trigger)
 {
     Triggers.Add(trigger);
     Triggers.SortByLocalizedName(t => t.Name);
     return(IndexPathOfObject(trigger));
 }