diff options
author | Alessandro Portale <alessandro.portale@qt.io> | 2020-07-23 15:48:56 +0200 |
---|---|---|
committer | Alessandro Portale <alessandro.portale@qt.io> | 2020-07-26 05:49:49 +0000 |
commit | 7b6d44a90a58c0382a3efefc2fe0b5ded9f9f451 (patch) | |
tree | 8fabf059bf60c6bddc17eb7069a0253c154f3308 /src/plugins/android | |
parent | a149ccd2d2a9d2c9bca7c9922df034b33a5da1c0 (diff) |
Android: Introduce constants for Android ABIs
Avoiding string duplication prevents typo-related runtime errors and
allows an IDE to use find symbol rather than plain text search.
Change-Id: I7fba7c7c5cf90c0b371efce3b575537b2708dd0f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/plugins/android')
-rw-r--r-- | src/plugins/android/androidavdmanager.cpp | 5 | ||||
-rw-r--r-- | src/plugins/android/androidconfigurations.cpp | 8 | ||||
-rw-r--r-- | src/plugins/android/androiddeployqtstep.cpp | 3 | ||||
-rw-r--r-- | src/plugins/android/androidmanager.cpp | 15 | ||||
-rw-r--r-- | src/plugins/android/androidqtversion.cpp | 9 | ||||
-rw-r--r-- | src/plugins/android/androidrunnerworker.cpp | 23 | ||||
-rw-r--r-- | src/plugins/android/avddialog.cpp | 9 |
7 files changed, 44 insertions, 28 deletions
diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp index 55ae7a5cdc..f27247300e 100644 --- a/src/plugins/android/androidavdmanager.cpp +++ b/src/plugins/android/androidavdmanager.cpp @@ -25,6 +25,7 @@ #include "androidavdmanager.h" #include <coreplugin/icore.h> +#include <projectexplorer/projectexplorerconstants.h> #include <utils/algorithm.h> #include <utils/qtcassert.h> #include <utils/runextensions.h> @@ -424,8 +425,8 @@ AndroidDeviceInfoList AvdManagerOutputParser::parseAvdList(const QString &output } } else if (parseAvd(avdInfo, &avd)) { // armeabi-v7a devices can also run armeabi code - if (avd.cpuAbi.contains("armeabi-v7a")) - avd.cpuAbi << "armeabi"; + if (avd.cpuAbi.contains(ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A)) + avd.cpuAbi << ProjectExplorer::Constants::ANDROID_ABI_ARMEABI; avd.state = AndroidDeviceInfo::OkState; avd.type = AndroidDeviceInfo::Emulator; avdList << avd; diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index dea734faf7..5ea934a211 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -39,6 +39,7 @@ #include <projectexplorer/kitinformation.h> #include <projectexplorer/kitmanager.h> #include <projectexplorer/project.h> +#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/session.h> #include <projectexplorer/toolchainmanager.h> @@ -1282,7 +1283,12 @@ void AndroidConfigurations::removeUnusedDebuggers() static bool containsAllAbis(const QStringList &abis) { - QStringList supportedAbis{"armeabi-v7a", "arm64-v8a", "x86", "x86_64"}; + QStringList supportedAbis{ + ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A, + ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A, + ProjectExplorer::Constants::ANDROID_ABI_X86, + ProjectExplorer::Constants::ANDROID_ABI_X86_64, + }; for (const QString &abi : abis) if (supportedAbis.contains(abi)) supportedAbis.removeOne(abi); diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 5f55116411..74bd30e2ea 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -497,7 +497,8 @@ void AndroidDeployQtStep::gatherFilesToPull() QString linkerName("linker"); QString libDirName("lib"); auto preferreABI = AndroidManager::apkDevicePreferredAbi(target()); - if (preferreABI == "arm64-v8a" || preferreABI == "x86_64") { + if (preferreABI == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A + || preferreABI == ProjectExplorer::Constants::ANDROID_ABI_X86_64) { m_filesToPull["/system/bin/app_process64"] = buildDir + "app_process"; libDirName = "lib64"; linkerName = "linker64"; diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 07163b54c1..3ac0f7a922 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -44,6 +44,7 @@ #include <projectexplorer/project.h> #include <projectexplorer/projectnodes.h> #include <projectexplorer/projectexplorer.h> +#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/session.h> #include <projectexplorer/target.h> @@ -262,11 +263,11 @@ QStringList AndroidManager::applicationAbis(const Target *target) QString AndroidManager::archTriplet(const QString &abi) { - if (abi == "x86") { + if (abi == ProjectExplorer::Constants::ANDROID_ABI_X86) { return {"i686-linux-android"}; - } else if (abi == "x86_64") { + } else if (abi == ProjectExplorer::Constants::ANDROID_ABI_X86_64) { return {"x86_64-linux-android"}; - } else if (abi == "arm64-v8a") { + } else if (abi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) { return {"aarch64-linux-android"}; } return {"arm-linux-androideabi"}; @@ -361,25 +362,25 @@ QString AndroidManager::devicePreferredAbi(const QStringList &deviceAbis, const Abi AndroidManager::androidAbi2Abi(const QString &androidAbi) { - if (androidAbi == "arm64-v8a") { + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) { return Abi{Abi::Architecture::ArmArchitecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, Abi::BinaryFormat::ElfFormat, 64, androidAbi}; - } else if (androidAbi == "armeabi-v7a") { + } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A) { return Abi{Abi::Architecture::ArmArchitecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, Abi::BinaryFormat::ElfFormat, 32, androidAbi}; - } else if (androidAbi == "x86_64") { + } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86_64) { return Abi{Abi::Architecture::X86Architecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, Abi::BinaryFormat::ElfFormat, 64, androidAbi}; - } else if (androidAbi == "x86") { + } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86) { return Abi{Abi::Architecture::X86Architecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp index 0a3f80e75f..568df99429 100644 --- a/src/plugins/android/androidqtversion.cpp +++ b/src/plugins/android/androidqtversion.cpp @@ -35,6 +35,7 @@ #include <qtsupport/qtsupportconstants.h> #include <qtsupport/qtversionmanager.h> +#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> #include <projectexplorer/kit.h> #include <projectexplorer/project.h> @@ -86,25 +87,25 @@ QString AndroidQtVersion::invalidReason() const Abis AndroidQtVersion::detectQtAbis() const { auto androidAbi2Abi = [](const QString &androidAbi) { - if (androidAbi == "arm64-v8a") { + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) { return Abi{Abi::Architecture::ArmArchitecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, Abi::BinaryFormat::ElfFormat, 64, androidAbi}; - } else if (androidAbi == "armeabi-v7a") { + } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A) { return Abi{Abi::Architecture::ArmArchitecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, Abi::BinaryFormat::ElfFormat, 32, androidAbi}; - } else if (androidAbi == "x86_64") { + } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86_64) { return Abi{Abi::Architecture::X86Architecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, Abi::BinaryFormat::ElfFormat, 64, androidAbi}; - } else if (androidAbi == "x86") { + } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86) { return Abi{Abi::Architecture::X86Architecture, Abi::OS::LinuxOS, Abi::OSFlavor::AndroidLinuxFlavor, diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp index 5496dbc6a8..147c0eca31 100644 --- a/src/plugins/android/androidrunnerworker.cpp +++ b/src/plugins/android/androidrunnerworker.cpp @@ -33,6 +33,7 @@ #include <debugger/debuggerkitinformation.h> #include <debugger/debuggerrunconfigurationaspect.h> +#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/environmentaspect.h> #include <projectexplorer/runconfigurationaspects.h> #include <projectexplorer/runcontrol.h> @@ -164,32 +165,32 @@ static void deleter(QProcess *p) static QString gdbServerArch(const QString &androidAbi) { - if (androidAbi == "arm64-v8a") + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) return QString("arm64"); - if (androidAbi == "armeabi-v7a") + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A) return QString("arm"); - // That's correct for "x86_64" and "x86", and best guess at anything that will evolve: + // That's correct for x86_64 and x86, and best guess at anything that will evolve: return androidAbi; } static QString lldbServerArch(const QString &androidAbi) { - if (androidAbi == "armeabi-v7a") - return QString("armeabi"); - // Correct for arm64-v8a "x86_64" and "x86", and best guess at anything that will evolve: + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A) + return {ProjectExplorer::Constants::ANDROID_ABI_ARMEABI}; + // Correct for arm64-v8a, x86 and x86_64, and best guess at anything that will evolve: return androidAbi; // arm64-v8a, x86, x86_64 } static QString lldbServerArch2(const QString &androidAbi) { - if (androidAbi == "armeabi-v7a") + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A) return {"arm"}; - if (androidAbi == "x86") + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86) return {"i386"}; - if (androidAbi == "arm64-v8a") + if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) return {"aarch64"}; - // Correct for "x86_64" a and best guess at anything that will evolve: - return androidAbi; // arm64-v8a + // Correct for x86_64 and best guess at anything that will evolve: + return androidAbi; // x86_64 } static FilePath debugServer(bool useLldb, const Target *target) diff --git a/src/plugins/android/avddialog.cpp b/src/plugins/android/avddialog.cpp index 878ccad276..ded445e2cb 100644 --- a/src/plugins/android/avddialog.cpp +++ b/src/plugins/android/avddialog.cpp @@ -27,6 +27,7 @@ #include "androidsdkmanager.h" #include "androidavdmanager.h" +#include <projectexplorer/projectexplorerconstants.h> #include <utils/algorithm.h> #include <utils/tooltip/tooltip.h> #include <utils/utilsicons.h> @@ -58,8 +59,12 @@ AvdDialog::AvdDialog(int minApiLevel, AndroidSdkManager *sdkManager, const QStri m_hideTipTimer.setSingleShot(true); if (abis.isEmpty()) { - m_avdDialog.abiComboBox->addItems(QStringList({"x86", "x86_64", "armeabi-v7a", - "armeabi", "arm64-v8a"})); + m_avdDialog.abiComboBox->addItems(QStringList({ + ProjectExplorer::Constants::ANDROID_ABI_X86, + ProjectExplorer::Constants::ANDROID_ABI_X86_64, + ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A, + ProjectExplorer::Constants::ANDROID_ABI_ARMEABI, + ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A})); } else { m_avdDialog.abiComboBox->addItems(abis); } |