forked from qt-creator/qt-creator
Android: parse Android 11 (R) packages
Allow parsing packages of the latest Android 11 (R) with API level 30. Change-Id: Ia50d2ff23395b79828d47a8f9aeb3880aa131d83 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -544,6 +544,8 @@ QString AndroidManager::androidNameForApiLevel(int x)
|
||||
return QLatin1String("Android 9");
|
||||
case 29:
|
||||
return QLatin1String("Android 10");
|
||||
case 30:
|
||||
return QLatin1String("Android 11");
|
||||
default:
|
||||
return tr("Unknown Android version. API Level: %1").arg(QString::number(x));
|
||||
}
|
||||
|
@@ -69,15 +69,19 @@ using SdkCmdFutureInterface = QFutureInterface<AndroidSdkManager::OperationOutpu
|
||||
int platformNameToApiLevel(const QString &platformName)
|
||||
{
|
||||
int apiLevel = -1;
|
||||
QRegularExpression re("(android-)(?<apiLevel>[0-9Q]{1,})",
|
||||
QRegularExpression re("(android-)(?<apiLevel>[0-9A-Z]{1,})",
|
||||
QRegularExpression::CaseInsensitiveOption);
|
||||
QRegularExpressionMatch match = re.match(platformName);
|
||||
if (match.hasMatch()) {
|
||||
QString apiLevelStr = match.captured("apiLevel");
|
||||
if (apiLevelStr == 'Q')
|
||||
apiLevel = 29;
|
||||
else
|
||||
apiLevel = apiLevelStr.toInt();
|
||||
bool isUInt;
|
||||
apiLevel = apiLevelStr.toUInt(&isUInt);
|
||||
if (!isUInt) {
|
||||
if (apiLevelStr == 'Q')
|
||||
apiLevel = 29;
|
||||
else if (apiLevelStr == 'R')
|
||||
apiLevel = 30;
|
||||
}
|
||||
}
|
||||
return apiLevel;
|
||||
}
|
||||
|
Reference in New Issue
Block a user