private async void OnConnectClicked(object sender, EventArgs e)
        {
            Button deviceButton = (Button)sender;

            UnpairButton.IsEnabled = true;
            deviceButton.IsEnabled = false;
            DeviceList.IsEnabled   = false;
            ScanButton.IsEnabled   = false;
            DevicePairingViewModel model = (DevicePairingViewModel)this.BindingContext;
            string deviceName            = "HGTP";

            if (await model.ConnectToDevice(deviceName)) //, DisconnectedHanlder
            {
                lock (pairingLock)
                {
                    ScanButton.IsVisible   = false;
                    DeviceList.IsVisible   = false;
                    UnpairButton.IsVisible = true;
                    DeviceLabel.Text       = "Connected to " + deviceName;
                    DeviceLabel.IsVisible  = true;
                }
            }
            else
            {
                deviceButton.IsEnabled = true;
                ScanButton.IsEnabled   = true;
                DeviceList.IsEnabled   = true;
                DeviceLabel.Text       = "Unable to connect to " + deviceName + ". Try again.";
                ResetDeviceModel();
            }
        }
        public async void OnUnpairClicked(object sender, EventArgs e)
        {
            DevicePairingViewModel model = (DevicePairingViewModel)this.BindingContext;

            UnpairButton.IsEnabled = false;
            if (await model.DisconnectDevice())
            {
                DisconnectedHanlder();
            }
            else
            {
                UnpairButton.IsEnabled = true;
                DeviceLabel.Text       = "Unable to Disconnect. Try Again.";
            }
        }
        private async void OnScanClicked(object sender, EventArgs e)
        {
            DevicePairingViewModel model = (DevicePairingViewModel)this.BindingContext;

            ScanningIndicator.IsRunning = true;
            ScanningIndicator.IsVisible = true;
            ScanButton.IsEnabled        = false;
            await model.ScanForDevices();

            if (model.PairedDevice == null)
            {
                lock (pairingLock)
                {
                    DeviceList.IsVisible        = true;
                    DeviceList.IsEnabled        = true;
                    ScanningIndicator.IsRunning = false;
                    ScanningIndicator.IsVisible = false;
                    ScanButton.IsEnabled        = true;
                }
            }
        }