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);
|
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
|
||||||
|
@@ -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
|
||||||
|
@@ -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);
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user