Ejemplo n.º 1
0
        private async Task DownloadFinishedAsync(DownloadFinishedMessage message)
        {
            _downloadStatus = DownloadStatus.DownloadFinished;
            var stopMessage = new StopLongRunningTaskMessage();

            MessagingCenter.Send(stopMessage, "StopLongRunningTaskMessage"); //stop downloads

            var isSuccessful = System.IO.File.Exists(message.FilePath);

            if (message.Id > 0 && isSuccessful)
            {
                switch (message.QueueType)
                {
                case QueueType.PodcastFile:
                    await PodcastFileCompletedAsync(message);

                    break;

                case QueueType.ImageFile:
                    await ImageFileCompletedAsync(message);

                    break;

                case QueueType.RssFeed:
                    await RssFeedFileCompletedAsync(message);

                    break;
                }
            }
            else
            {
                Debug.WriteLine("DownloadService.DownloadFinishedAsync message.Id <= 0 or !isSuccessful");
            }
        }
Ejemplo n.º 2
0
        protected override void OnResume()
        {
            // Handle when your app resumes
            var message = new StopLongRunningTaskMessage();

            MessagingCenter.Send(message, "StopLongRunningTaskMessage");
        }
Ejemplo n.º 3
0
        private void BtnDetener_OnClicked(object sender, EventArgs e)
        {
            // Enviamos un mensaje con la intencion de dar fin al servicio.
            var message = new StopLongRunningTaskMessage();

            MessagingCenter.Send(message, nameof(StopLongRunningTaskMessage));
        }
Ejemplo n.º 4
0
        public HomePage()
        {
            BLEProfileManager = App.BLEProfileManager;
            InitializeComponent();

            longRunningTask.Clicked += (s, e) => {
                if (BLEProfileManager.bleprofile.Devices.Count != 0)
                {
                    string status = BLEProfileManager.bleprofile.Devices.FirstOrDefault().Device.State.ToString();
                    if (status.Equals("Disconnected"))
                    {
                        DisplayAlert("No BlueTooth ", "You need to connect to SmartBand Alert first", "Ok");
                    }
                    else
                    {
                        var message = new StartLongRunningTaskMessage();
                        MessagingCenter.Send(message, "StartLongRunningTaskMessage");
                    }
                }
                else
                {
                    DisplayAlert("No BlueTooth ", "You need to connect to SmartBand Alert first", "Ok");
                }
            };

            stopLongRunningTask.Clicked += (s, e) => {
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, "StopLongRunningTaskMessage");
            };

            BindingContext = this;
        }
Ejemplo n.º 5
0
        public Hem()
        {
            BLEProfileManager = App.BLEProfileManager;

            InitializeComponent();


            theBTunits.IsPullToRefreshEnabled = true;

            stopDanger.BindingContext  = new { w1 = App.ScreenWidth * 160 / (App.ScreenDPI), bgc2 = Color.White };
            startDanger.BindingContext = new { w0 = App.ScreenWidth * 160 / (App.ScreenDPI), bgc1 = Color.FromHex("#ededed") };

            //Battery
            progBar.BindingContext         = new { w4 = App.ScreenWidth * 160 / (App.ScreenDPI * 3), theprog = 0.5 };
            progBar.Scale                  = 1;
            batterystack.HorizontalOptions = LayoutOptions.CenterAndExpand;
            progBarText.BindingContext     = new { theprogtext = "50%" };
            checkBattery.BindingContext    = new { bgc3 = Color.White };



            startDanger.Clicked += (s, e) => {
                if (BLEProfileManager.bleprofile.Devices.Count != 0)
                {
                    var    device = BLEProfileManager.bleprofile.Devices.FirstOrDefault().Device;
                    string status = device.State.ToString();
                    if (status.Equals("Disconnected"))
                    {
                        DisplayAlert("No BlueTooth ", "You need to connect to SmartBand Alert first", "Ok");
                    }
                    else
                    {
                        //switchconnectbutton = 0;
                        //App.isConnectedBLE = false;
                        //need to be implement
                        //BLEProfileManager.bleprofile.Adapter.DisconnectDeviceAsync(device);
                        //BLEProfileManager.bleprofile.Devices.Clear();
                        //BLEProfileManager.init();
                        BLEProfileManager.newBLEprofile();
                        Task.Delay(1000);
                        BLEProfileManager.bleprofile.Adapter.ConnectToDeviceAsync(device);
                        Task.Delay(1000);
                        var message = new StartLongRunningTaskMessage();
                        MessagingCenter.Send(message, "StartLongRunningTaskMessage");
                    }
                }
                else
                {
                    DisplayAlert("No BlueTooth ", "You need to connect to SmartBand Alert first", "Ok");
                }
            };

            stopDanger.Clicked += (s, e) => {
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, "StopLongRunningTaskMessage");
            };
        }
Ejemplo n.º 6
0
        protected override void OnResume()
        {
            // Handle when your app resumes

            //Finalizamos el servicio al regresar a la App
            var message = new StopLongRunningTaskMessage();

            MessagingCenter.Send(message, "StopLongRunningTaskMessage");
        }
Ejemplo n.º 7
0
        void ButtonStop_Clicked(object sender, EventArgs e)
        {
            var message = new StopLongRunningTaskMessage();

            MessagingCenter.Send(message, nameof(StopLongRunningTaskMessage));

            var player = ((MainPageViewModel)BindingContext).MediaPlayer;

            player.TimeChanged -= TimeChanged;
        }
Ejemplo n.º 8
0
        public HemPage()
        {
            InitializeComponent();

            bleACRProfileManager = App.BLEAcrProfileManager;
            //theBTunits.IsPullToRefreshEnabled = true;

            stopDanger.BindingContext  = new { w1 = App.ScreenWidth * 160 / (App.ScreenDPI), bgc2 = Color.White };
            startDanger.BindingContext = new { w0 = App.ScreenWidth * 160 / (App.ScreenDPI), bgc1 = Color.FromHex("#ededed") };

            //Battery
            progBar.BindingContext = new { w4 = App.ScreenWidth * 160 / (App.ScreenDPI * 3), theprog = 0.5 };
            progBar.Scale          = 1;
            progBar.IsVisible      = false;
            progBarText.IsVisible  = false;
            progBarFirst.IsVisible = false;
            checkBattery.IsVisible = false;
            //btWarning.widthRequest = App.ScreenWidth * 160 / (App.ScreenDPI);
            batterystack.HorizontalOptions = LayoutOptions.CenterAndExpand;
            progBarText.BindingContext     = new { theprogtext = "........." };
            checkBattery.BindingContext    = new { bgc3 = Color.White };

            startDanger.Clicked += async(s, e) =>
            {
                if (App.isConnectedBLE && !App.dangerModeOn)
                {
                    //subNoTIFY.Dispose();
                    App.dangerModeOn = true;


                    var message = new StartLongRunningTaskMessage();
                    MessagingCenter.Send(message, "StartLongRunningTaskMessage");

                    connectToBackend(true);
                }
                else
                {
                    await DisplayAlert("Fel ", App.dangerModeOn? "Farligtläge är redan aktiverad." : "Anslut till en enhet först.", "Ok");
                }
                Task.Delay(500);     //Ska vi ta bort den ?
            };

            stopDanger.Clicked += (s, e) => {
                if (App.dangerModeOn)
                {
                    App.dangerModeOn = false;
                    connectToBackend(false);
                    App.ct.Cancel();
                    var message = new StopLongRunningTaskMessage();
                    MessagingCenter.Send(message, "StopLongRunningTaskMessage");
                }
            };
        }
Ejemplo n.º 9
0
 public void StartJourneyCommandExecute()
 {
     if (!JourneyOngoing)
     {
         var message = new StartLongRunningTaskMessage();
         MessagingCenter.Send(message, "StartLongRunningTaskMessage");
         JourneyOngoing = true;
     }
     else
     {
         var message = new StopLongRunningTaskMessage();
         MessagingCenter.Send(message, "StopLongRunningTaskMessage");
         JourneyOngoing = false;
     }
 }
		public LongRunningPage ()
		{
			InitializeComponent ();

			//Wire up XAML buttons
			longRunningTask.Clicked += (s, e) => {
				var message = new StartLongRunningTaskMessage ();
				MessagingCenter.Send (message, "StartLongRunningTaskMessage");
			};

			stopLongRunningTask.Clicked += (s, e) => {
				var message = new StopLongRunningTaskMessage ();
				MessagingCenter.Send (message, "StopLongRunningTaskMessage");
			};
				
			HandleReceivedMessages ();
		}
        public LongRunningPage()
        {
            InitializeComponent();

            //Wire up XAML buttons
            longRunningTask.Clicked += (s, e) => {
                var message = new StartLongRunningTaskMessage();
                MessagingCenter.Send(message, "StartLongRunningTaskMessage");
            };

            stopLongRunningTask.Clicked += (s, e) => {
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, "StopLongRunningTaskMessage");
            };

            HandleReceivedMessages();
        }
Ejemplo n.º 12
0
        public GpsServiceResponse ShutDown()
        {
            var response = new GpsServiceResponse();

            try
            {
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, nameof(StopLongRunningTaskMessage));
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Success      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }
Ejemplo n.º 13
0
        public HemPage()
        {
            InitializeComponent();

            bleACRProfileManager = App.BLEAcrProfileManager;

            //theBTunits.IsPullToRefreshEnabled = true;

            stopDanger.BindingContext  = new { w1 = App.ScreenWidth * 160 / (App.ScreenDPI), bgc2 = Color.White };
            startDanger.BindingContext = new { w0 = App.ScreenWidth * 160 / (App.ScreenDPI), bgc1 = Color.FromHex("#ededed") };

            //Battery
            progBar.BindingContext         = new { w4 = App.ScreenWidth * 160 / (App.ScreenDPI * 3), theprog = 0.5 };
            progBar.Scale                  = 1;
            batterystack.HorizontalOptions = LayoutOptions.CenterAndExpand;
            progBarText.BindingContext     = new { theprogtext = "50%" };
            checkBattery.BindingContext    = new { bgc3 = Color.White };

            startDanger.Clicked += async(s, e) =>
            {
                if (App.isConnectedBLE)
                {
                    //subNoTIFY.Dispose();
                    dangerModeOn = true;
                    var message = new StartLongRunningTaskMessage();
                    MessagingCenter.Send(message, "StartLongRunningTaskMessage");
                }
                else
                {
                    await DisplayAlert("Wrong ", "Conect to a device first", "Ok");
                }
            };

            stopDanger.Clicked += (s, e) => {
                dangerModeOn = false;
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, "StopLongRunningTaskMessage");
            };
        }
Ejemplo n.º 14
0
        public LongRunningPage()
        {
            InitializeComponent();

            //Wire up XAML buttons
            longRunningTask.Clicked += (s, e) => {
                var message = new StartLongRunningTaskMessage();
                MessagingCenter.Send(message, "StartLongRunningTaskMessage");
            };

            stopLongRunningTask.Clicked += (s, e) => {
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, "StopLongRunningTaskMessage");
            };


            customMap.RouteCoordinates.Add(new Position(37.797534, -122.401827));
            customMap.RouteCoordinates.Add(new Position(37.797510, -122.402060));
            customMap.RouteCoordinates.Add(new Position(37.790269, -122.400589));
            customMap.RouteCoordinates.Add(new Position(37.790265, -122.400474));
            customMap.RouteCoordinates.Add(new Position(37.790228, -122.400391));
            customMap.RouteCoordinates.Add(new Position(37.790126, -122.400360));
            customMap.RouteCoordinates.Add(new Position(37.789250, -122.401451));
            customMap.RouteCoordinates.Add(new Position(37.788440, -122.400396));
            customMap.RouteCoordinates.Add(new Position(37.787999, -122.399780));
            customMap.RouteCoordinates.Add(new Position(37.786736, -122.398202));
            customMap.RouteCoordinates.Add(new Position(37.786345, -122.397722));
            customMap.RouteCoordinates.Add(new Position(37.785983, -122.397295));
            customMap.RouteCoordinates.Add(new Position(37.785559, -122.396728));
            customMap.RouteCoordinates.Add(new Position(37.780624, -122.390541));
            customMap.RouteCoordinates.Add(new Position(37.777113, -122.394983));
            customMap.RouteCoordinates.Add(new Position(37.776831, -122.394627));

            customMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(37.79752, -122.40183), Distance.FromMiles(1.0)));


            HandleReceivedMessages();
        }
Ejemplo n.º 15
0
        public LongRunningPage(DtoResultLogin user)
        {
            InitializeComponent();

            lblCronometro.Text = "00:00:00";


            //Wire up XAML buttons
            longRunningTask.Clicked += (s, e) => {
                var message = new StartLongRunningTaskMessage();
                MessagingCenter.Send(message, "StartLongRunningTaskMessage");
            };

            stopLongRunningTask.Clicked += (s, e) => {
                var message = new StopLongRunningTaskMessage();
                MessagingCenter.Send(message, "StopLongRunningTaskMessage");
                //stopwatch.Stop();
                //lblCronometro.Text = "00:00:00";
                //stopwatch.Reset();
            };

            HandleReceivedMessages();
        }
Ejemplo n.º 16
0
        //public async Task TimerRunCounter()
        //{
        //    await Task.Run(async () =>
        //    {

        //        using (var dlg = this.Dialogs.Progress("Synchronization"))
        //        {

        //            while (1==1)
        //            {


        //                SynchronizationService service = new SynchronizationService();

        //                List<CompactCustomerModel> inserted = await service.SendLocalFarmerAsync();
        //                if (inserted != null && inserted.Count > 0)
        //                    App.FarmerTable.BatchUpdateInsertedAsync(inserted, true);
        //                await Task.Delay(TimeSpan.FromSeconds(1));
        //                dlg.PercentComplete += 25;

        //                List<CompactCustomerModel> updated = await service.SendUpdatedFarmerAsync();
        //                if (updated != null && updated.Count > 0)
        //                {
        //                    App.FarmerTable.BatchUpdateInsertedAsync(updated, false);
        //                }
        //                await Task.Delay(TimeSpan.FromSeconds(1));
        //                dlg.PercentComplete += 25;

        //                List<ServerCustomerModel> serverRecords = await service.FetchServerFarmerAsync();
        //                if (serverRecords != null && serverRecords.Count > 0)
        //                {
        //                    App.FarmerTable.BatchInsert(serverRecords);
        //                    App.AddressFarmerTable.BacthInsert(App.FarmerTable.farmerAddresslist);

        //                }
        //                await Task.Delay(TimeSpan.FromSeconds(1));
        //                dlg.PercentComplete += 25;

        //                //string b = await service.FetchServerFarmerAsync();


        //                await Task.Delay(TimeSpan.FromSeconds(1));

        //                dlg.PercentComplete += 25;
        //                //dlg.Title = "Synch - " + dlg.PercentComplete.ToString();

        //                if (dlg.PercentComplete >= 100)
        //                {
        //                    break;
        //                }
        //                //await Task.Delay(TimeSpan.FromMilliseconds(100));
        //                //var message = new TickedMessage
        //                //{
        //                //    Message = counter.ToString()
        //                //};
        //                //Device.BeginInvokeOnMainThread(() =>
        //                //        {
        //                //            MessagingCenter.Send<TickedMessage>(message, "TickedMessage");
        //                //        });



        //            }

        //            dlg.Hide();
        //            await Task.Delay(TimeSpan.FromSeconds(1));
        //            dlg.Dispose();



        //        }
        //        App.timer.Start();



        //    });
        //}

        public async Task RunCounter(CancellationToken token)
        {
            await Task.Run(async() => {
                using (var dlg = this.Dialogs.Progress("Synchronization"))
                {
                    while (dlg.PercentComplete <= 100)
                    {
                        token.ThrowIfCancellationRequested();


                        //PhotoService ser = new PhotoService();
                        //await ser.SendPhotoAsync();


                        SynchronizationService service = new SynchronizationService();

                        List <CompactCustomerModel> inserted = await service.SendLocalFarmerAsync();
                        if (inserted != null && inserted.Count > 0)
                        {
                            App.FarmerTable.BatchUpdateInsertedAsync(inserted, true);
                        }

                        await Task.Delay(TimeSpan.FromSeconds(1));

                        dlg.PercentComplete += 15;
                        dlg.Title            = "Synch - " + dlg.PercentComplete.ToString();

                        List <CompactCustomerModel> updated = await service.SendUpdatedFarmerAsync();
                        if (updated != null && updated.Count > 0)
                        {
                            App.FarmerTable.BatchUpdateInsertedAsync(updated, false);
                        }

                        await Task.Delay(TimeSpan.FromSeconds(1));

                        dlg.PercentComplete += 15;
                        dlg.Title            = "Synch - " + dlg.PercentComplete.ToString();

                        List <ServerCustomerModel> serverRecords = await service.FetchServerFarmerAsync();
                        if (serverRecords != null && serverRecords.Count > 0)
                        {
                            App.FarmerTable.BatchInsert(serverRecords);
                            //if(App.FarmerTable.farmerAddresslist.Count > 0)
                            //App.AddressFarmerTable.BacthInsert(App.FarmerTable.farmerAddresslist);
                        }

                        //string b = await service.FetchServerFarmerAsync();

                        await Task.Delay(TimeSpan.FromSeconds(1));
                        dlg.PercentComplete += 15;
                        dlg.Title            = "Synch - " + dlg.PercentComplete.ToString();

                        List <CompactFieldModel> insertedFields = await service.SendLocalFieldAsync();
                        if (insertedFields != null && insertedFields.Count > 0)
                        {
                            App.FieldTable.BatchUpdateInsertedAsync(insertedFields, true);
                        }

                        await Task.Delay(TimeSpan.FromSeconds(1));

                        dlg.PercentComplete += 15;
                        dlg.Title            = "Synch - " + dlg.PercentComplete.ToString();

                        List <CompactFieldModel> updatedFields = await service.SendUpdatedFieldAsync();
                        if (updatedFields != null && updatedFields.Count > 0)
                        {
                            App.FieldTable.BatchUpdateInsertedAsync(insertedFields, false);
                        }

                        await Task.Delay(TimeSpan.FromSeconds(1));

                        dlg.PercentComplete += 15;
                        dlg.Title            = "Synch - " + dlg.PercentComplete.ToString();

                        List <ServerFieldModel> serverFields = await service.FetchServerFieldAsync();
                        if (serverFields != null && serverFields.Count > 0)
                        {
                            App.FieldTable.BatchInsert(serverFields);
                        }

                        await Task.Delay(TimeSpan.FromSeconds(1));

                        dlg.PercentComplete += 25;
                        dlg.Title            = "Synch - " + dlg.PercentComplete.ToString();


                        //await Task.Delay(TimeSpan.FromMilliseconds(100));
                        //var message = new TickedMessage
                        //{
                        //    Message = counter.ToString()
                        //};
                        //Device.BeginInvokeOnMainThread(() =>
                        //        {
                        //            MessagingCenter.Send<TickedMessage>(message, "TickedMessage");
                        //        });

                        if (dlg.PercentComplete >= 100)
                        {
                            var Stopmessage = new StopLongRunningTaskMessage();
                            MessagingCenter.Send(Stopmessage, "StopLongRunningTaskMessage");
                        }
                    }

                    dlg.Dispose();
                }



                //for (long i = 1; i < long.MaxValue; i++)
                //{
                //    token.ThrowIfCancellationRequested();

                //    await Task.Delay(250);
                //    var message = new TickedMessage
                //    {
                //        Message = i.ToString()
                //    };

                //    if (i == 100)
                //    {

                //        var Stopmessage = new StopLongRunningTaskMessage();
                //        MessagingCenter.Send(Stopmessage, "StopLongRunningTaskMessage");
                //        App.timer.Start();
                //    }
                //    else
                //    {

                //        Device.BeginInvokeOnMainThread(() =>
                //        {
                //            MessagingCenter.Send<TickedMessage>(message, "TickedMessage");
                //        });
                //    }
                //}
            }, token);

            GC.Collect();
            GC.WaitForPendingFinalizers();
        }
Ejemplo n.º 17
0
        /// <summary>
        /// StopClicked
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void StopClicked(System.Object sender, System.EventArgs e)
        {
            var message = new StopLongRunningTaskMessage();

            MessagingCenter.Send(message, "StopLongRunningTimerMessage");
        }
Ejemplo n.º 18
0
        private void Button_Clicked_1(object sender, EventArgs e)
        {
            var message = new StopLongRunningTaskMessage();

            MessagingCenter.Send(message, "StopLongRunningTaskMessage");
        }
Ejemplo n.º 19
0
        async void connectBClicked(object sender, EventArgs e)
        {
            bool answer;

            this.scan?.Dispose();

            var button = sender as Button;
            ScanResultViewModel item = button.BindingContext as ScanResultViewModel;

            device = item.Device;

            bleACRProfileManager.cleanEverything(device);
            try
            {
                // don't cleanup connection - force user to d/c
                //if (this.device.Status == ConnectionStatus.Disconnected)
                if (App.isConnectedBLE == false)
                {
                    answer = await DisplayAlert("Bluetooth", "Vill du ansluta till den här bluetooth enheten?", "Ja", "Nej");

                    if (answer == true)
                    {
                        using (var cancelSrc = new CancellationTokenSource())
                        {
                            using (UserDialogs.Instance.Loading("Ansluter", cancelSrc.Cancel, "Avbryt"))
                            {
                                await this.device.Connect().ToTask(cancelSrc.Token);
                            }

                            efterConnection();
                            progBar.IsVisible      = true;
                            progBarText.IsVisible  = true;
                            progBarFirst.IsVisible = true;
                            checkBattery.IsVisible = true;
                            //START OF BIG TRYCATCH
                            try
                            {
                                await Task.Delay(800);

                                Button_OnClickedBatteriUppdat(new Object(), EventArgs.Empty);
                            }
                            catch (Exception)
                            {
                                try
                                {
                                    Button_OnClickedBatteriUppdat(new Object(), EventArgs.Empty);
                                }
                                catch (Exception)
                                {
                                }
                            }
                        }
                        for (int i = 0; i < 3; i++)
                        {
                            await Task.Delay(500);

                            try
                            {
                                Button_OnClickedBatteriUppdat(new Object(), EventArgs.Empty);
                            }
                            catch (Exception)
                            {
                            }
                        }
                        //END OF BIG TRY CATCH
                    }
                }
                else
                {
                    answer = await DisplayAlert("Bluetooth", "Vill du avbryta anslutningen?", "Ja", "Nej");

                    if (answer == true)
                    {
                        for (int i = 0; i < 3; i++)
                        {
                            await Task.Delay(500);

                            this.device.CancelConnection();
                        }
                        App.isConnectedBLE = false;
                        if (App.dangerModeOn)
                        {
                            App.dangerModeOn = false;
                            connectToBackend(false);
                            App.ct.Cancel();
                            var message = new StopLongRunningTaskMessage();
                            MessagingCenter.Send(message, "StopLongRunningTaskMessage");
                        }
                        progBar.IsVisible      = false;
                        progBarText.IsVisible  = false;
                        progBarFirst.IsVisible = false;
                        checkBattery.IsVisible = false;
                    }
                }
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.Alert(ex.ToString());
            }
            //Devices.FirstOrDefault(d => d.Device.Uuid == device.Uuid).UpdateD();
            this.theBTunits.ItemsSource = bleACRProfileManager.bleprofile.Devices;
        }
Ejemplo n.º 20
0
        public static void StopBackgroundTask()
        {
            var message = new StopLongRunningTaskMessage();

            MessagingCenter.Send(message, "StopLongRunningTaskMessage");
        }