mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Wait until the BT scanning process is done on Android platforms
Block the Save button on Android platforms until the scanning for remote Bluetooth devices is finished. The reason we do that is because there is a bug on the Android platform or on the QtBluetooth library which stops the downloading process and blocks the devices on the Download mode. Signed-off-by: Claudiu Olteanu <olteanu.claudiu@ymail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c6c706c28a
commit
94d3aa04dc
1 changed files with 22 additions and 0 deletions
|
@ -108,6 +108,21 @@ void BtDeviceSelectionDialog::remoteDeviceScanFinished()
|
|||
{
|
||||
ui->dialogStatus->setText("Scanning finished.");
|
||||
ui->scan->setEnabled(true);
|
||||
|
||||
#if defined(Q_OS_ANDROID)
|
||||
// Check if there is a selected device and activate the Save button if it is paired
|
||||
QListWidgetItem *currentItem = ui->discoveredDevicesList->currentItem();
|
||||
|
||||
if (currentItem != NULL) {
|
||||
QBluetoothDeviceInfo remoteDeviceInfo = currentItem->data(Qt::UserRole).value<QBluetoothDeviceInfo>();
|
||||
QBluetoothLocalDevice::Pairing pairingStatus = localDevice->pairingStatus(remoteDeviceInfo.address());
|
||||
|
||||
if (pairingStatus != QBluetoothLocalDevice::Unpaired) {
|
||||
ui->save->setEnabled(true);
|
||||
ui->dialogStatus->setText("Scanning finished. You can press the Save button and start the download.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void BtDeviceSelectionDialog::hostModeStateChanged(QBluetoothLocalDevice::HostMode mode)
|
||||
|
@ -156,6 +171,13 @@ void BtDeviceSelectionDialog::itemActivated(QListWidgetItem *item)
|
|||
.arg(remoteDeviceInfo.address().toString()));
|
||||
ui->save->setEnabled(false);
|
||||
} else {
|
||||
#if defined(Q_OS_ANDROID)
|
||||
if (remoteDeviceDiscoveryAgent->isActive()) {
|
||||
ui->dialogStatus->setText(QString("The device %1 can be used for connection. Wait until the device scanning is done and press the Save button.")
|
||||
.arg(remoteDeviceInfo.address().toString()));
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
ui->dialogStatus->setText(QString("The device %1 can be used for connection. You can press the Save button.")
|
||||
.arg(remoteDeviceInfo.address().toString()));
|
||||
ui->save->setEnabled(true);
|
||||
|
|
Loading…
Add table
Reference in a new issue