forked from qt-creator/qt-creator
Android: Connected devices should list all devices
E. g. waitForAvd needs all devices to correctly work. Change-Id: I1b704e85bd7449d4c45ed36be48973f39148b8c4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This commit is contained in:
@@ -104,7 +104,15 @@ namespace {
|
|||||||
|
|
||||||
bool androidDevicesLessThan(const AndroidDeviceInfo &dev1, const AndroidDeviceInfo &dev2)
|
bool androidDevicesLessThan(const AndroidDeviceInfo &dev1, const AndroidDeviceInfo &dev2)
|
||||||
{
|
{
|
||||||
return dev1.sdk < dev2.sdk;
|
if (dev1.serialNumber.contains("????") == dev2.serialNumber.contains("????"))
|
||||||
|
return !dev1.serialNumber.contains("????");
|
||||||
|
bool dev1IsEmulator = dev1.serialNumber.startsWith(QLatin1String("emulator"));
|
||||||
|
bool dev2IsEmulator = dev2.serialNumber.startsWith(QLatin1String("emulator"));
|
||||||
|
if (dev1IsEmulator != dev2IsEmulator)
|
||||||
|
return !dev1IsEmulator;
|
||||||
|
if (dev1.sdk != dev2.sdk)
|
||||||
|
return dev1.sdk < dev2.sdk;
|
||||||
|
return dev1.serialNumber < dev2.serialNumber;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,19 +433,8 @@ QVector<AndroidDeviceInfo> AndroidConfigurations::connectedDevices(QString *erro
|
|||||||
|
|
||||||
// workaround for '????????????' serial numbers:
|
// workaround for '????????????' serial numbers:
|
||||||
// can use "adb -d" when only one usb device attached
|
// can use "adb -d" when only one usb device attached
|
||||||
int usbDevicesNum = 0;
|
|
||||||
QStringList serialNumbers;
|
|
||||||
foreach (const QByteArray &device, adbDevs) {
|
foreach (const QByteArray &device, adbDevs) {
|
||||||
const QString serialNo = QString::fromLatin1(device.left(device.indexOf('\t')).trimmed());;
|
const QString serialNo = QString::fromLatin1(device.left(device.indexOf('\t')).trimmed());;
|
||||||
if (!serialNo.startsWith(QLatin1String("emulator")))
|
|
||||||
++usbDevicesNum;
|
|
||||||
serialNumbers << serialNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (const QString &serialNo, serialNumbers) {
|
|
||||||
if (serialNo.contains(QLatin1String("????")) && usbDevicesNum > 1)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
dev.serialNumber = serialNo;
|
dev.serialNumber = serialNo;
|
||||||
dev.sdk = getSDKVersion(dev.serialNumber);
|
dev.sdk = getSDKVersion(dev.serialNumber);
|
||||||
dev.cpuAbi = getAbis(dev.serialNumber);
|
dev.cpuAbi = getAbis(dev.serialNumber);
|
||||||
|
|||||||
Reference in New Issue
Block a user