forked from qt-creator/qt-creator
Android: avoid blocking call to show avd selection for default device
If a user already chose a default device to run, we don't need to create the whole AVD selection dialog, but rather straightforward to get the device info if it's already connected, otherwise the dialog opens for selection as usual. Change-Id: I5fee9411d755e89da23a8d365f284e8b52808a07 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -1066,13 +1066,20 @@ AndroidDeviceInfo AndroidConfigurations::showDeviceDialog(Project *project,
|
||||
if (!serialNumber.isEmpty())
|
||||
break;
|
||||
}
|
||||
|
||||
const AndroidDeviceInfo defaultDevice = AndroidDeviceDialog::defaultDeviceInfo(serialNumber);
|
||||
if (defaultDevice.isValid())
|
||||
return defaultDevice;
|
||||
|
||||
AndroidDeviceDialog dialog(apiLevel, abis, serialNumber, Core::ICore::dialogParent());
|
||||
AndroidDeviceInfo info = dialog.device();
|
||||
AndroidDeviceInfo info = dialog.showAndGetSelectedDevice();
|
||||
if (dialog.saveDeviceSelection() && info.isValid()) {
|
||||
const QString serialNumber = info.type == AndroidDeviceInfo::Hardware ?
|
||||
const QString newSerialNumber = info.type == AndroidDeviceInfo::Hardware ?
|
||||
info.serialNumber : info.avdname;
|
||||
if (!serialNumber.isEmpty())
|
||||
AndroidConfigurations::setDefaultDevice(project, AndroidManager::devicePreferredAbi(info.cpuAbi, abis), serialNumber);
|
||||
if (!newSerialNumber.isEmpty()) {
|
||||
const QString preferredAbi = AndroidManager::devicePreferredAbi(info.cpuAbi, abis);
|
||||
AndroidConfigurations::setDefaultDevice(project, preferredAbi, newSerialNumber);
|
||||
}
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
Reference in New Issue
Block a user