forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user