diff options
Diffstat (limited to 'src/plugins/android/androidsdkmanager.cpp')
-rw-r--r-- | src/plugins/android/androidsdkmanager.cpp | 18 |
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(); |