Пример #1
0
        public void Start()
        {
            if (IsRunning)
            {
                return;
            }

            IsRunning = true;

            _dispatchBlock = new DispatchBlock(OnTimerTick);
            _dispatchQueue.DispatchAfter(new DispatchTime(DispatchTime.Now, Interval), _dispatchBlock);
        }
        /// <summary>
        /// Disconnects the connection from the remote terminus.
        /// </summary>
        public void Disconnect(bool reconnect = false)
        {
            lock (locker) {
                if (connectionState == EConnectionState.Disconnected)
                {
                    return;
                }
                connectionState = EConnectionState.Disconnected;
                centralDelegate.centralManager.CancelPeripheralConnection(device);

                OnDisconnect();

                if (reconnect)
                {
                    handler.DispatchAfter(TimeSpan.FromMilliseconds(1500), () => Connect());
                }
            }
        }
Пример #3
0
        public void ReloadData(TKAutoCompleteTextView autocomplete)
        {
            NSMutableArray suggestions = new NSMutableArray();

            if (airports == null)
            {
                NSUrl         url = new NSUrl(urlStr);
                NSUrlRequest  req = new NSUrlRequest(url);
                NSUrlResponse res;
                NSData        dataVal    = new NSData();
                NSDictionary  jsonResult = new NSDictionary();
                NSError       error;
                NSError       errorReq;
                dataVal = NSUrlConnection.SendSynchronousRequest(req, out res, out errorReq);
                if (dataVal != null)
                {
                    jsonResult = (NSDictionary)NSJsonSerialization.Deserialize(dataVal, NSJsonReadingOptions.MutableContainers, out error);
                    if (error == null)
                    {
                        airports = (NSArray)jsonResult.ObjectForKey(new NSString("airports"));
                    }


                    for (nuint i = 0; i < airports.Count; i++)
                    {
                        NSDictionary item      = airports.GetItem <NSDictionary> (i);
                        NSString     name      = (NSString)item.ValueForKey(new NSString("FIELD2"));
                        NSString     shortName = (NSString)item.ValueForKey(new NSString("FIELD5"));
                        string       result    = String.Format("{0}, {1}", name.ToString(), shortName.ToString());

                        if (result.ToUpper().StartsWith(prefix.ToUpper()))
                        {
                            suggestions.Add(new TKAutoCompleteToken(new NSString(result)));
                        }
                    }
                }

                DispatchQueue queue = DispatchQueue.MainQueue;
                queue.DispatchAfter(DispatchTime.Now, delegate { autocomplete.CompleteSuggestionViewPopulation(suggestions); });
            }
        }
Пример #4
0
 bool DispatchDelayedImplementation(TimeSpan delay, Action action)
 {
     _dispatchQueue.DispatchAfter(new DispatchTime(DispatchTime.Now, delay), () => action());
     return(true);
 }
        public static void DispatchAfter(this DispatchQueue self, TimeSpan delay, Action action)
        {
            var time = new DispatchTime(DispatchTime.Now, delay.Ticks * 100);

            self.DispatchAfter(time, action);
        }
Пример #6
0
 public static void DispatchAfter(this DispatchQueue queue, TimeSpan delay, Action action)
 {
     queue.DispatchAfter(new DispatchTime(DispatchTime.Now, delay), action);
 }