summaryrefslogtreecommitdiff
path: root/src/plugins/android/androidsdkmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/android/androidsdkmanager.cpp')
-rw-r--r--src/plugins/android/androidsdkmanager.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp
index 8b58cdd1ad..df615f2744 100644
--- a/src/plugins/android/androidsdkmanager.cpp
+++ b/src/plugins/android/androidsdkmanager.cpp
@@ -136,7 +136,7 @@ static bool sdkManagerCommand(const AndroidConfig &config, const QStringList &ar
proc.setProcessEnvironment(AndroidConfigurations::toolsEnvironment(config));
proc.setTimeoutS(timeout);
proc.setTimeOutMessageBoxEnabled(true);
- SynchronousProcessResponse response = proc.run(config.sdkManagerToolPath().toString(), args);
+ SynchronousProcessResponse response = proc.run({config.sdkManagerToolPath(), args});
if (output)
*output = response.allOutput();
return response.result == SynchronousProcessResponse::Finished;
@@ -175,7 +175,7 @@ static void sdkManagerCommand(const AndroidConfig &config, const QStringList &ar
QObject::connect(&sdkManager, &AndroidSdkManager::cancelActiveOperations,
&proc, &SynchronousProcess::terminate);
}
- SynchronousProcessResponse response = proc.run(config.sdkManagerToolPath().toString(), args);
+ SynchronousProcessResponse response = proc.run({config.sdkManagerToolPath(), args});
if (assertionFound) {
output.success = false;
output.stdOutput = response.stdOut();
@@ -227,6 +227,9 @@ private:
QString m_licenseTextCache;
QByteArray m_licenseUserInput;
mutable QReadWriteLock m_licenseInputLock;
+
+public:
+ bool m_packageListingSuccessful = true;
};
/*!
@@ -372,6 +375,11 @@ bool AndroidSdkManager::isBusy() const
return m_d->m_activeOperation && !m_d->m_activeOperation->isFinished();
}
+bool AndroidSdkManager::packageListingSuccessful() const
+{
+ return m_d->m_packageListingSuccessful;
+}
+
QFuture<QString> AndroidSdkManager::availableArguments() const
{
return Utils::runAsync(&AndroidSdkManagerPrivate::parseCommonArguments, m_d.get());
@@ -806,6 +814,7 @@ void AndroidSdkManagerPrivate::reloadSdkPackages()
if (m_config.sdkToolsVersion() < sdkManagerIntroVersion) {
// Old Sdk tools.
+ m_packageListingSuccessful = true;
AndroidToolManager toolManager(m_config);
auto toAndroidSdkPackages = [](SdkPlatform *p) -> AndroidSdkPackage *{
return p;
@@ -815,7 +824,8 @@ void AndroidSdkManagerPrivate::reloadSdkPackages()
QString packageListing;
QStringList args({"--list", "--verbose"});
args << m_config.sdkManagerToolArgs();
- if (sdkManagerCommand(m_config, args, &packageListing)) {
+ m_packageListingSuccessful = sdkManagerCommand(m_config, args, &packageListing);
+ if (m_packageListingSuccessful) {
SdkManagerOutputParser parser(m_allPackages);
parser.parsePackageListing(packageListing);
}
@@ -930,7 +940,7 @@ void AndroidSdkManagerPrivate::getPendingLicense(SdkCmdFutureInterface &fi)
QtcProcess licenseCommand;
licenseCommand.setProcessEnvironment(AndroidConfigurations::toolsEnvironment(m_config));
bool reviewingLicenses = false;
- licenseCommand.setCommand(CommandLine(m_config.sdkManagerToolPath(), "--licenses"));
+ licenseCommand.setCommand(CommandLine(m_config.sdkManagerToolPath(), {"--licenses"}));
if (Utils::HostOsInfo::isWindowsHost())
licenseCommand.setUseCtrlCStub(true);
licenseCommand.start();