forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.10'
Conflicts: src/plugins/python/CMakeLists.txt Change-Id: I18808710dd99b97d4e1e7c3d223b7f814083de31
This commit is contained in:
@@ -61,6 +61,7 @@ const char deviceTypeTag[] = "devicetypes";
|
||||
const char devicesTag[] = "devices";
|
||||
const char availabilityTag[] = "availability";
|
||||
const char unavailabilityToken[] = "unavailable";
|
||||
const char availabilityTagNew[] = "isAvailable"; // at least since Xcode 10
|
||||
const char identifierTag[] = "identifier";
|
||||
const char runtimesTag[] = "runtimes";
|
||||
const char nameTag[] = "name";
|
||||
@@ -117,6 +118,13 @@ static bool launchSimulator(const QString &simUdid) {
|
||||
return QProcess::startDetached(simulatorAppPath, {"--args", "-CurrentDeviceUDID", simUdid});
|
||||
}
|
||||
|
||||
static bool isAvailable(const QJsonObject &object)
|
||||
{
|
||||
return object.contains(availabilityTagNew)
|
||||
? object.value(availabilityTagNew).toBool()
|
||||
: !object.value(availabilityTag).toString().contains(unavailabilityToken);
|
||||
}
|
||||
|
||||
static QList<DeviceTypeInfo> getAvailableDeviceTypes()
|
||||
{
|
||||
QList<DeviceTypeInfo> deviceTypes;
|
||||
@@ -127,7 +135,7 @@ static QList<DeviceTypeInfo> getAvailableDeviceTypes()
|
||||
const QJsonArray runtimesArray = doc.object().value(deviceTypeTag).toArray();
|
||||
foreach (const QJsonValue deviceTypeValue, runtimesArray) {
|
||||
QJsonObject deviceTypeObject = deviceTypeValue.toObject();
|
||||
if (!deviceTypeObject.value(availabilityTag).toString().contains(unavailabilityToken)) {
|
||||
if (isAvailable(deviceTypeObject)) {
|
||||
DeviceTypeInfo deviceType;
|
||||
deviceType.name = deviceTypeObject.value(nameTag).toString("unknown");
|
||||
deviceType.identifier = deviceTypeObject.value(identifierTag).toString("unknown");
|
||||
@@ -151,7 +159,7 @@ static QList<RuntimeInfo> getAvailableRuntimes()
|
||||
const QJsonArray runtimesArray = doc.object().value(runtimesTag).toArray();
|
||||
foreach (const QJsonValue runtimeValue, runtimesArray) {
|
||||
QJsonObject runtimeObject = runtimeValue.toObject();
|
||||
if (!runtimeObject.value(availabilityTag).toString().contains(unavailabilityToken)) {
|
||||
if (isAvailable(runtimeObject)) {
|
||||
RuntimeInfo runtime;
|
||||
runtime.name = runtimeObject.value(nameTag).toString("unknown");
|
||||
runtime.build = runtimeObject.value(buildVersionTag).toString("unknown");
|
||||
@@ -233,8 +241,7 @@ static QList<SimulatorInfo> getAllSimulatorDevices()
|
||||
device.identifier = deviceObject.value(udidTag).toString();
|
||||
device.name = deviceObject.value(nameTag).toString();
|
||||
device.runtimeName = runtime;
|
||||
const QString availableStr = deviceObject.value(availabilityTag).toString();
|
||||
device.available = !availableStr.contains(unavailabilityToken);
|
||||
device.available = isAvailable(deviceObject);
|
||||
device.state = deviceObject.value(stateTag).toString();
|
||||
simulatorDevices.append(device);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user