if (device.BtDevice.IsPaired)
{
- if (device.BtDevice.IsA2dpSupported)
+ if (device.BtDevice.DeviceState == BtDeviceState.Connecting ||
+ device.BtDevice.DeviceState == BtDeviceState.Disconnecting)
{
- if (device.BtDevice.IsA2dpConnected)
- {
- DisconnectA2dp(device.BtDevice);
- }
- else
- {
- ConnectA2dp(device.BtDevice);
- }
+ Log.Error(SettingBluetooth.LogTag, "Operation is in progress");
}
- else if (device.BtDevice.IsHidSupported)
+ else
{
- if (device.BtDevice.IsHidConnected)
+ if (device.BtDevice.IsA2dpSupported)
+ {
+ if (device.BtDevice.IsA2dpConnected)
+ {
+ DisconnectA2dp(device.BtDevice);
+ }
+ else
+ {
+ ConnectA2dp(device.BtDevice);
+ }
+ }
+ else if (device.BtDevice.IsHidSupported)
{
- DisconnectHid(device.BtDevice);
+ if (device.BtDevice.IsHidConnected)
+ {
+ DisconnectHid(device.BtDevice);
+ }
+ else
+ {
+ ConnectHid(device.BtDevice);
+ }
}
else
{
- ConnectHid(device.BtDevice);
+ Log.Info(SettingBluetooth.LogTag, "No available profile");
}
}
- else
- {
- Log.Info(SettingBluetooth.LogTag, "No available profile");
- }
}
else
{
- Log.Info(SettingBluetooth.LogTag, "Pair to the remote device");
- device.BtDevice.Pair();
+ if (device.BtDevice.DeviceState == BtDeviceState.Pairing ||
+ device.BtDevice.DeviceState == BtDeviceState.Unpairing)
+ {
+ Log.Error(SettingBluetooth.LogTag, "Operation is in progress");
+ }
+ else
+ {
+ Log.Info(SettingBluetooth.LogTag, "Pair to the remote device");
+ device.BtDevice.Pair();
+ }
}
}
}