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);
if (dev)
devMgr->removeDevice(dev->id());
AndroidDeviceManager::setupDevicesWatcher();
setupDevicesWatcher();
}
#ifdef WITH_TESTS

View File

@@ -906,10 +906,10 @@ void AndroidDeviceManagerInstance::setupDevicesWatcher()
m_avdFileSystemWatcher.addPath(avdFilePath().toFSPathString());
connect(&m_avdFileSystemWatcher, &QFileSystemWatcher::directoryChanged, this, [this] {
if (!m_avdPathGuard.isLocked())
AndroidDeviceManager::updateAvdList();
updateAvdList();
});
// Call initial update
AndroidDeviceManager::updateAvdList();
updateAvdList();
}
void AndroidDeviceManagerInstance::eraseAvd(const IDevice::Ptr &device, QWidget *parent)
@@ -948,9 +948,10 @@ void AndroidDeviceManagerInstance::eraseAvd(const IDevice::Ptr &device, QWidget
m_removeAvdProcess->start();
}
namespace AndroidDeviceManager {
void setupDevicesWatcher() { s_instance->setupDevicesWatcher(); }
void setupDevicesWatcher()
{
s_instance->setupDevicesWatcher();
}
void updateAvdList()
{
@@ -958,7 +959,7 @@ void updateAvdList()
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});
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 errorMessage = stdErr.isEmpty() ? process.exitMessage()
: process.exitMessage() + "\n\n" + stdErr;
return Utils::make_unexpected(errorMessage);
return Result::Error(errorMessage);
}
return {};
return Result::Ok;
}
} // namespace AndroidDeviceManager
// Factory
class AndroidDeviceFactory final : public IDeviceFactory

View File

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

View File

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