Android: Deduplicate string literals and use constants instead

Improves findability of identical string in code (via code model).
Reduces risk of typos.

Change-Id: I0e9d9af8eed5cd9b66bf303cfee99c53513bf314
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
Alessandro Portale
2021-02-09 21:37:21 +01:00
parent 67788a90bb
commit 9e2c6fbfca
7 changed files with 33 additions and 22 deletions

View File

@@ -62,10 +62,14 @@ const char ANDROID_BUILDDIRECTORY[] = "android-build";
const char JAVA_EDITOR_ID[] = "java.editor";
const char JAVA_MIMETYPE[] = "text/x-java";
const char ANDROID_ARCHITECTURE[] = "Android.Architecture";
const char ANDROID_PACKAGE_SOURCE_DIR[] = "AndroidPackageSourceDir";
const char ANDROID_EXTRA_LIBS[] = "AndroidExtraLibs";
const char ANDROID_PACKAGE_SOURCE_DIR[] = "ANDROID_PACKAGE_SOURCE_DIR";
const char ANDROID_EXTRA_LIBS[] = "ANDROID_EXTRA_LIBS";
const char ANDROID_ABI[] = "ANDROID_ABI";
const char ANDROID_ABIS[] = "ANDROID_ABIS";
const char ANDROID_APPLICATION_ARGUMENTS[] = "ANDROID_APPLICATION_ARGUMENTS";
const char QT_ANDROID_APPLICATION_ARGUMENTS[] = "QT_ANDROID_APPLICATION_ARGUMENTS";
const char ANDROID_DEPLOYMENT_SETTINGS_FILE[] = "ANDROID_DEPLOYMENT_SETTINGS_FILE";
const char ANDROID_SO_LIBS_PATHS[] = "ANDROID_SO_LIBS_PATHS";
const char ANDROID_PACKAGENAME[] = "Android.PackageName";
const char ANDROID_PACKAGE_INSTALLATION_STEP_ID[]

View File

@@ -232,7 +232,8 @@ void ChooseDirectoryPage::initializePage()
connect(m_androidPackageSourceDir, &PathChooser::rawPathChanged,
this, &ChooseDirectoryPage::checkPackageSourceDir);
} else {
m_label->setText(tr("The Android template files will be created in the ANDROID_PACKAGE_SOURCE_DIR set in the .pro file."));
m_label->setText(tr("The Android template files will be created in the %1 set in the .pro "
"file.").arg(QLatin1String(Constants::ANDROID_PACKAGE_SOURCE_DIR)));
m_androidPackageSourceDir->setPath(androidPackageDir);
m_androidPackageSourceDir->setReadOnly(true);
}

View File

@@ -587,7 +587,7 @@ void CMakeBuildSystem::updateProjectData()
}
{
CMakeConfigItem paths;
paths.key = "ANDROID_SO_LIBS_PATHS";
paths.key = Android::Constants::ANDROID_SO_LIBS_PATHS;
paths.values = Utils::toList(res);
patchedConfig.append(paths);
}
@@ -607,7 +607,7 @@ void CMakeBuildSystem::updateProjectData()
if (newRoot) {
setRootProjectNode(std::move(newRoot));
CMakeConfigItem settingFileItem;
settingFileItem.key = "ANDROID_DEPLOYMENT_SETTINGS_FILE";
settingFileItem.key = Android::Constants::ANDROID_DEPLOYMENT_SETTINGS_FILE;
const FilePath buildDir = cmakeBuildConfiguration()->buildDirectory();
if (p->rootProjectNode()) {

View File

@@ -129,22 +129,22 @@ QVariant CMakeTargetNode::data(Utils::Id role) const
};
if (role == Android::Constants::AndroidPackageSourceDir)
return value("ANDROID_PACKAGE_SOURCE_DIR");
return value(Android::Constants::ANDROID_PACKAGE_SOURCE_DIR);
if (role == Android::Constants::AndroidDeploySettingsFile)
return value("ANDROID_DEPLOYMENT_SETTINGS_FILE");
return value(Android::Constants::ANDROID_DEPLOYMENT_SETTINGS_FILE);
if (role == Android::Constants::AndroidExtraLibs)
return value("ANDROID_EXTRA_LIBS");
return value(Android::Constants::ANDROID_EXTRA_LIBS);
if (role == Android::Constants::ANDROID_APPLICATION_ARGUMENTS)
return value("QT_ANDROID_APPLICATION_ARGUMENTS");
return value(Android::Constants::QT_ANDROID_APPLICATION_ARGUMENTS);
if (role == Android::Constants::AndroidArch)
return value("ANDROID_ABI");
return value(Android::Constants::ANDROID_ABI);
if (role == Android::Constants::AndroidSoLibPath)
return values("ANDROID_SO_LIBS_PATHS");
return values(Android::Constants::ANDROID_SO_LIBS_PATHS);
if (role == Android::Constants::AndroidTargets)
return values("TARGETS_BUILD_PATH");

View File

@@ -27,22 +27,24 @@
#include "texteditor/codeassist/keywordscompletionassist.h"
#include <android/androidconstants.h>
const TextEditor::Keywords &QmakeProjectManager::Internal::qmakeKeywords()
{
static TextEditor::Keywords keywords(
QStringList{ // variables
"ANDROID_ABIS",
"ANDROID_API_VERSION",
"ANDROID_APPLICATION_ARGUMENTS",
QLatin1String(Android::Constants::ANDROID_APPLICATION_ARGUMENTS),
"ANDROID_BUNDLED_JAR_DEPENDENCIES",
"ANDROID_DEPLOYMENT_DEPENDENCIES",
"ANDROID_DEPLOYMENT_SETTINGS_FILE",
"ANDROID_EXTRA_LIBS",
QLatin1String(Android::Constants::ANDROID_DEPLOYMENT_SETTINGS_FILE),
QLatin1String(Android::Constants::ANDROID_EXTRA_LIBS),
"ANDROID_EXTRA_PLUGINS",
"ANDROID_FEATURES",
"ANDROID_LIB_DEPENDENCIES",
"ANDROID_MIN_SDK_VERSION",
"ANDROID_PACKAGE_SOURCE_DIR",
QLatin1String(Android::Constants::ANDROID_PACKAGE_SOURCE_DIR),
"ANDROID_PERMISSIONS",
"ANDROID_TARGET_SDK_VERSION",
"ANDROID_TARGET_ARCH",

View File

@@ -431,11 +431,14 @@ bool QmakeProFileNode::setData(Utils::Id role, const QVariant &value) const
}
if (role == Android::Constants::AndroidExtraLibs)
return pro->setProVariable("ANDROID_EXTRA_LIBS", value.toStringList(), scope, flags);
return pro->setProVariable(QLatin1String(Android::Constants::ANDROID_EXTRA_LIBS),
value.toStringList(), scope, flags);
if (role == Android::Constants::AndroidPackageSourceDir)
return pro->setProVariable("ANDROID_PACKAGE_SOURCE_DIR", {value.toString()}, scope, flags);
return pro->setProVariable(QLatin1String(Android::Constants::ANDROID_PACKAGE_SOURCE_DIR),
{value.toString()}, scope, flags);
if (role == Android::Constants::ANDROID_APPLICATION_ARGUMENTS)
return pro->setProVariable("ANDROID_APPLICATION_ARGUMENTS", {value.toString()}, scope, flags);
return pro->setProVariable(QLatin1String(Android::Constants::ANDROID_APPLICATION_ARGUMENTS),
{value.toString()}, scope, flags);
return false;
}

View File

@@ -29,6 +29,7 @@
#include "qmakeprojectmanagerconstants.h"
#include "qmakebuildconfiguration.h"
#include <android/androidconstants.h>
#include <coreplugin/documentmanager.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h>
@@ -1554,11 +1555,11 @@ QmakeEvalResult *QmakeProFile::evaluate(const QmakeEvalInput &input)
result->newVarValues[Variable::StaticLibExtension] = exactReader->values(QLatin1String("QMAKE_EXTENSION_STATICLIB"));
result->newVarValues[Variable::ShLibExtension] = exactReader->values(QLatin1String("QMAKE_EXTENSION_SHLIB"));
result->newVarValues[Variable::AndroidArch] = exactReader->values(QLatin1String("ANDROID_TARGET_ARCH"));
result->newVarValues[Variable::AndroidDeploySettingsFile] = exactReader->values(QLatin1String("ANDROID_DEPLOYMENT_SETTINGS_FILE"));
result->newVarValues[Variable::AndroidPackageSourceDir] = exactReader->values(QLatin1String("ANDROID_PACKAGE_SOURCE_DIR"));
result->newVarValues[Variable::AndroidDeploySettingsFile] = exactReader->values(QLatin1String(Android::Constants::ANDROID_DEPLOYMENT_SETTINGS_FILE));
result->newVarValues[Variable::AndroidPackageSourceDir] = exactReader->values(QLatin1String(Android::Constants::ANDROID_PACKAGE_SOURCE_DIR));
result->newVarValues[Variable::AndroidAbis] = exactReader->values(QLatin1String("ANDROID_ABIS"));
result->newVarValues[Variable::AndroidApplicationArguments] = exactReader->values(QLatin1String("ANDROID_APPLICATION_ARGUMENTS"));
result->newVarValues[Variable::AndroidExtraLibs] = exactReader->values(QLatin1String("ANDROID_EXTRA_LIBS"));
result->newVarValues[Variable::AndroidApplicationArguments] = exactReader->values(QLatin1String(Android::Constants::ANDROID_APPLICATION_ARGUMENTS));
result->newVarValues[Variable::AndroidExtraLibs] = exactReader->values(QLatin1String(Android::Constants::ANDROID_EXTRA_LIBS));
result->newVarValues[Variable::AppmanPackageDir] = exactReader->values(QLatin1String("AM_PACKAGE_DIR"));
result->newVarValues[Variable::AppmanManifest] = exactReader->values(QLatin1String("AM_MANIFEST"));
result->newVarValues[Variable::IsoIcons] = exactReader->values(QLatin1String("ISO_ICONS"));