fix: 适配协同后端接口变化修改。

协同后端修改导致问题。

Log:
Bug: https://pms.uniontech.com/bug-view-176323.html
Influence: 协同设备列表显示
Change-Id: I804ce4c3f8d8dab8f3c998664fa742b3f18aa67b
This commit is contained in:
zhaoyingzhen 2022-12-13 11:02:20 +08:00
parent 3efc00ac29
commit 75a9312fcb
3 changed files with 26 additions and 26 deletions

View File

@ -135,7 +135,7 @@ CollaborationDevice::CollaborationDevice(const QString &devPath, QObject *parent
: QObject(parent) : QObject(parent)
, m_path(devPath) , m_path(devPath)
, m_OS(-1) , m_OS(-1)
, m_isPaired(false) , m_isConnected(false)
, m_isCooperated(false) , m_isCooperated(false)
, m_isValid(false) , m_isValid(false)
, m_isCooperating(false) , m_isCooperating(false)
@ -145,8 +145,8 @@ CollaborationDevice::CollaborationDevice(const QString &devPath, QObject *parent
if (m_devDbusInter->isValid()) { if (m_devDbusInter->isValid()) {
m_name = m_devDbusInter->property("Name").toString(); m_name = m_devDbusInter->property("Name").toString();
m_OS = m_devDbusInter->property("OS").toInt(); m_OS = m_devDbusInter->property("OS").toInt();
m_isPaired = m_devDbusInter->property("Paired").toBool(); m_isConnected = m_devDbusInter->property("Connected").toBool();
m_isCooperated = m_devDbusInter->property("Cooperating").toBool(); m_isCooperated = m_devDbusInter->property("DeviceSharing").toBool();
m_uuid = m_devDbusInter->property("UUID").toString(); m_uuid = m_devDbusInter->property("UUID").toString();
m_isValid = true; m_isValid = true;
} else { } else {
@ -182,22 +182,22 @@ QString CollaborationDevice::deviceIcon() const
switch (m_OS) { switch (m_OS) {
case DeviceType::Android: { case DeviceType::Android: {
if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType)
return QString(":/icons/resources/ICON_Device_Headphone_dark.svg"); return QString(":/ICON_Device_Headphone_dark.svg");
return QString(":/icons/resources/ICON_Device_Headphone.svg"); return QString(":/ICON_Device_Headphone.svg");
} }
default: { default: {
if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType) if (DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::LightType)
return QString(":/icons/resources/ICON_Device_Laptop_dark.svg"); return QString(":/ICON_Device_Laptop_dark.svg");
return QString(":/icons/resources/ICON_Device_Laptop.svg"); return QString(":/ICON_Device_Laptop.svg");
} }
} }
} }
bool CollaborationDevice::isPaired() const bool CollaborationDevice::isConnected() const
{ {
return m_isPaired; return m_isConnected;
} }
bool CollaborationDevice::isCooperated() const bool CollaborationDevice::isCooperated() const
@ -221,19 +221,19 @@ void CollaborationDevice::onPropertyChanged(const QDBusMessage &msg)
return; return;
QVariantMap changedProps = qdbus_cast<QVariantMap>(arguments.at(1).value<QDBusArgument>()); QVariantMap changedProps = qdbus_cast<QVariantMap>(arguments.at(1).value<QDBusArgument>());
if (changedProps.contains("Paired")) { if (changedProps.contains("Connected")) {
bool isPaired = changedProps.value("Paired").value<bool>(); bool isConnected = changedProps.value("Connected").value<bool>();
m_isPaired = isPaired; m_isConnected = isConnected;
if (isPaired && m_isCooperating) { if (isConnected && m_isCooperating) {
// paired 成功之后再去请求cooperate // paired 成功之后再去请求cooperate
requestCooperate(); requestCooperate();
} }
if (!isPaired){ if (!isConnected){
Q_EMIT pairedStateChanged(false); Q_EMIT pairedStateChanged(false);
} }
} else if (changedProps.contains("Cooperating")) { } else if (changedProps.contains("DeviceSharing")) {
m_isCooperated = changedProps.value("Cooperating").value<bool>(); m_isCooperated = changedProps.value("DeviceSharing").value<bool>();
Q_EMIT pairedStateChanged(m_isCooperated); Q_EMIT pairedStateChanged(m_isCooperated);
} }
@ -241,7 +241,7 @@ void CollaborationDevice::onPropertyChanged(const QDBusMessage &msg)
void CollaborationDevice::requestCooperate() const void CollaborationDevice::requestCooperate() const
{ {
callMethod("RequestCooperate"); callMethod("RequestDeviceSharing");
} }
void CollaborationDevice::disconnectDevice() const void CollaborationDevice::disconnectDevice() const
@ -249,9 +249,9 @@ void CollaborationDevice::disconnectDevice() const
callMethod("Disconnect"); callMethod("Disconnect");
} }
void CollaborationDevice::pair() const void CollaborationDevice::connect() const
{ {
callMethod("Pair"); callMethod("Connect");
} }
QDBusMessage CollaborationDevice::callMethod(const QString &methodName) const QDBusMessage CollaborationDevice::callMethod(const QString &methodName) const

View File

@ -76,7 +76,7 @@ signals:
public: public:
bool isValid() const; bool isValid() const;
void pair() const; void connect() const;
void requestCooperate() const; void requestCooperate() const;
void disconnectDevice() const; void disconnectDevice() const;
@ -84,7 +84,7 @@ public:
QString uuid() const; QString uuid() const;
QString machinePath() const; QString machinePath() const;
QString deviceIcon() const; QString deviceIcon() const;
bool isPaired() const; bool isConnected() const;
bool isCooperated() const; bool isCooperated() const;
void setDeviceIsCooperating(bool isCooperating); void setDeviceIsCooperating(bool isCooperating);
@ -109,7 +109,7 @@ private:
QString m_uuid; QString m_uuid;
int m_OS; int m_OS;
bool m_isPaired; bool m_isConnected;
bool m_isCooperated; bool m_isCooperated;
bool m_isValid; bool m_isValid;

View File

@ -195,9 +195,9 @@ void DevCollaborationWidget::itemClicked(const QModelIndex &index)
if (!device) if (!device)
return; return;
if (!device->isPaired()) { if (!device->isConnected()) {
device->setDeviceIsCooperating(true); device->setDeviceIsCooperating(true);
device->pair(); device->connect();
if (!m_connectingDevices.contains(machinePath)) if (!m_connectingDevices.contains(machinePath))
m_connectingDevices.append(machinePath); m_connectingDevices.append(machinePath);
} else if (!device->isCooperated()) { } else if (!device->isCooperated()) {
@ -226,12 +226,12 @@ void DevCollaborationWidget::itemStatusChanged()
// 更新item的连接状态 // 更新item的连接状态
int resultState = device->isCooperated() ? DevItemDelegate::Connected : DevItemDelegate::None; int resultState = device->isCooperated() ? DevItemDelegate::Connected : DevItemDelegate::None;
m_deviceItemMap[machinePath]->setData(resultState, DevItemDelegate::ResultDataRole); m_deviceItemMap[machinePath]->setData(resultState, DevItemDelegate::ResultDataRole);
if (device->isCooperated() || !device->isPaired()) if (device->isCooperated() || !device->isConnected())
m_deviceItemMap[machinePath]->setData(0, DevItemDelegate::DegreeDataRole); m_deviceItemMap[machinePath]->setData(0, DevItemDelegate::DegreeDataRole);
m_deviceListView->update(m_deviceItemMap[machinePath]->index()); m_deviceListView->update(m_deviceItemMap[machinePath]->index());
if ((resultState == DevItemDelegate::Connected || !device->isPaired()) && m_connectingDevices.contains(machinePath)) { if ((resultState == DevItemDelegate::Connected || !device->isConnected()) && m_connectingDevices.contains(machinePath)) {
m_connectingDevices.removeAll(machinePath); m_connectingDevices.removeAll(machinePath);
} }
} }