Android: Use Result instead of expected_str<void> in a few places

Also, drop the somewhat extra AndroidDeviceManager namespace.
It's unusual and not really adding value here.

Change-Id: Ie9e7a5c275295830152c2466012eb85b6601f52a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2024-10-08 17:22:13 +02:00
parent 3f21e4d2d9
commit 5f241295c6
4 changed files with 13 additions and 20 deletions

View File

@@ -1502,7 +1502,7 @@ void AndroidConfigurations::updateAndroidDevice()
IDevice::ConstPtr dev = devMgr->find(Constants::ANDROID_DEVICE_ID); IDevice::ConstPtr dev = devMgr->find(Constants::ANDROID_DEVICE_ID);
if (dev) if (dev)
devMgr->removeDevice(dev->id()); devMgr->removeDevice(dev->id());
AndroidDeviceManager::setupDevicesWatcher(); setupDevicesWatcher();
} }
#ifdef WITH_TESTS #ifdef WITH_TESTS

View File

@@ -906,10 +906,10 @@ void AndroidDeviceManagerInstance::setupDevicesWatcher()
m_avdFileSystemWatcher.addPath(avdFilePath().toFSPathString()); m_avdFileSystemWatcher.addPath(avdFilePath().toFSPathString());
connect(&m_avdFileSystemWatcher, &QFileSystemWatcher::directoryChanged, this, [this] { connect(&m_avdFileSystemWatcher, &QFileSystemWatcher::directoryChanged, this, [this] {
if (!m_avdPathGuard.isLocked()) if (!m_avdPathGuard.isLocked())
AndroidDeviceManager::updateAvdList(); updateAvdList();
}); });
// Call initial update // Call initial update
AndroidDeviceManager::updateAvdList(); updateAvdList();
} }
void AndroidDeviceManagerInstance::eraseAvd(const IDevice::Ptr &device, QWidget *parent) void AndroidDeviceManagerInstance::eraseAvd(const IDevice::Ptr &device, QWidget *parent)
@@ -948,9 +948,10 @@ void AndroidDeviceManagerInstance::eraseAvd(const IDevice::Ptr &device, QWidget
m_removeAvdProcess->start(); m_removeAvdProcess->start();
} }
namespace AndroidDeviceManager { void setupDevicesWatcher()
{
void setupDevicesWatcher() { s_instance->setupDevicesWatcher(); } s_instance->setupDevicesWatcher();
}
void updateAvdList() void updateAvdList()
{ {
@@ -958,7 +959,7 @@ void updateAvdList()
s_instance->m_avdListRunner.start(s_instance->m_avdListRecipe); s_instance->m_avdListRunner.start(s_instance->m_avdListRecipe);
} }
expected_str<void> createAvd(const CreateAvdInfo &info, bool force) Result createAvd(const CreateAvdInfo &info, bool force)
{ {
CommandLine cmd(AndroidConfig::avdManagerToolPath(), {"create", "avd", "-n", info.name}); CommandLine cmd(AndroidConfig::avdManagerToolPath(), {"create", "avd", "-n", info.name});
cmd.addArgs({"-k", info.sdkStylePath}); cmd.addArgs({"-k", info.sdkStylePath});
@@ -1001,14 +1002,11 @@ expected_str<void> createAvd(const CreateAvdInfo &info, bool force)
const QString stdErr = process.stdErr(); const QString stdErr = process.stdErr();
const QString errorMessage = stdErr.isEmpty() ? process.exitMessage() const QString errorMessage = stdErr.isEmpty() ? process.exitMessage()
: process.exitMessage() + "\n\n" + stdErr; : process.exitMessage() + "\n\n" + stdErr;
return Utils::make_unexpected(errorMessage); return Result::Error(errorMessage);
} }
return {}; return Result::Ok;
} }
} // namespace AndroidDeviceManager
// Factory // Factory
class AndroidDeviceFactory final : public IDeviceFactory class AndroidDeviceFactory final : public IDeviceFactory

View File

@@ -67,13 +67,9 @@ private:
Tasking::TaskTreeRunner m_taskTreeRunner; Tasking::TaskTreeRunner m_taskTreeRunner;
}; };
namespace AndroidDeviceManager {
void setupDevicesWatcher(); void setupDevicesWatcher();
void updateAvdList(); void updateAvdList();
Utils::expected_str<void> createAvd(const CreateAvdInfo &info, bool force); Utils::Result createAvd(const CreateAvdInfo &info, bool force);
} // namespace AndroidDeviceManager
void setupAndroidDevice(); void setupAndroidDevice();
void setupAndroidDeviceManager(QObject *guard); void setupAndroidDeviceManager(QObject *guard);

View File

@@ -131,15 +131,14 @@ int AvdDialog::exec()
const CreateAvdInfo avdInfo{si->sdkStylePath(), si->apiLevel(), name(), abi(), const CreateAvdInfo avdInfo{si->sdkStylePath(), si->apiLevel(), name(), abi(),
deviceDefinition(), sdcardSize()}; deviceDefinition(), sdcardSize()};
const auto result = AndroidDeviceManager::createAvd(avdInfo, const Result result = createAvd(avdInfo, m_overwriteCheckBox->isChecked());
m_overwriteCheckBox->isChecked());
if (!result) { if (!result) {
QMessageBox::warning(Core::ICore::dialogParent(), Tr::tr("Create new AVD"), QMessageBox::warning(Core::ICore::dialogParent(), Tr::tr("Create new AVD"),
result.error()); result.error());
return QDialog::Rejected; return QDialog::Rejected;
} }
m_createdAvdInfo = avdInfo; m_createdAvdInfo = avdInfo;
AndroidDeviceManager::updateAvdList(); updateAvdList();
} }
return execResult; return execResult;
} }