Android: Add more informative fields to AVD manager UI

Task-number: QTCREATORBUG-23284
Change-Id: Ic93de1c05731360b85925acd23bdca12edc56069
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Assam Boudjelthia
2019-12-20 16:49:13 +02:00
parent 50a3dae4dd
commit 6d897c00f4
3 changed files with 36 additions and 5 deletions

View File

@@ -58,6 +58,10 @@ const char avdInfoPathKey[] = "Path:";
const char avdInfoAbiKey[] = "abi.type";
const char avdInfoTargetKey[] = "target";
const char avdInfoErrorKey[] = "Error:";
const char avdInfoSdcardKey[] = "Sdcard";
const char avdInfoTargetTypeKey[] = "Target";
const char avdInfoDeviceKey[] = "Device";
const char avdInfoSkinKey[] = "Skin";
const char googleApiTag[] = "google_apis";
const int avdCreateTimeoutMs = 30000;
@@ -453,6 +457,14 @@ bool AvdManagerOutputParser::parseAvd(const QStringList &deviceInfo, AndroidDevi
else
qCDebug(avdManagerLog) << "Avd Parsing: Cannot find sdk API:" << avdInfoFile.toString();
}
} else if (valueForKey(avdInfoDeviceKey, line, &value)) {
avd->avdDevice = value.remove(0, 2);
} else if (valueForKey(avdInfoTargetTypeKey, line, &value)) {
avd->avdTarget = value.remove(0, 2);
} else if (valueForKey(avdInfoSkinKey, line, &value)) {
avd->avdSkin = value.remove(0, 2);
} else if (valueForKey(avdInfoSdcardKey, line, &value)) {
avd->avdSdcardSize = value.remove(0, 2);
}
}
return true;

View File

@@ -63,6 +63,11 @@ public:
QString serialNumber;
QString avdname;
QStringList cpuAbi;
QString avdTarget;
QString avdDevice;
QString avdSkin;
QString avdSdcardSize;
int sdk = -1;
enum State { OkState, UnAuthorizedState, OfflineState };
State state = OfflineState;

View File

@@ -177,15 +177,23 @@ QVariant AvdModel::data(const QModelIndex &index, int role) const
{
if (role != Qt::DisplayRole || !index.isValid())
return QVariant();
const AndroidDeviceInfo currentRow = m_list.at(index.row());
switch (index.column()) {
case 0:
return m_list[index.row()].avdname;
return currentRow.avdname;
case 1:
return QString::fromLatin1("API %1").arg(m_list[index.row()].sdk);
return currentRow.sdk;
case 2: {
QStringList cpuAbis = m_list[index.row()].cpuAbi;
QStringList cpuAbis = currentRow.cpuAbi;
return cpuAbis.isEmpty() ? QVariant() : QVariant(cpuAbis.first());
}
case 3:
return currentRow.avdDevice;
case 4:
return currentRow.avdTarget;
case 5:
return currentRow.avdSdcardSize;
}
return QVariant();
}
@@ -198,9 +206,15 @@ QVariant AvdModel::headerData(int section, Qt::Orientation orientation, int role
//: AVD - Android Virtual Device
return tr("AVD Name");
case 1:
return tr("AVD Target");
return tr("API");
case 2:
return tr("CPU/ABI");
case 3:
return tr("Device type");
case 4:
return tr("Target");
case 5:
return tr("SD-card size");
}
}
return QAbstractItemModel::headerData(section, orientation, role );
@@ -213,7 +227,7 @@ int AvdModel::rowCount(const QModelIndex &/*parent*/) const
int AvdModel::columnCount(const QModelIndex &/*parent*/) const
{
return 3;
return 6;
}
AndroidSettingsWidget::AndroidSettingsWidget()