fix: 是否支持休眠不需要判断分区大小,直接通过后端属性判断

是否支持休眠不需要判断分区大小,直接通过后端属性判断,另外华为内核也不显示swap大小

Log: 修复任务栏关机托盘右键菜单无休眠选项问题
Bug: https://pms.uniontech.com/bug-view-138579.html
Influence: 不再根据swap分区大小判断是否显示休眠选项
Change-Id: Iaf51b979049347ed2851a34b9fd580a64ac14c1d
This commit is contained in:
chenjun 2022-06-10 08:38:30 +08:00 committed by wubw
parent cf2a6b3c6d
commit 201c1e69ce
2 changed files with 1 additions and 35 deletions

View File

@ -184,7 +184,7 @@ const QString ShutdownPlugin::itemContextMenu(const QString &itemKey)
}
bool can_hibernate = enviromentVar.contains("POWER_CAN_HIBERNATE") ?
QVariant(enviromentVar.value("POWER_CAN_HIBERNATE")).toBool() : checkSwap() && m_powerManagerInter->CanHibernate();
QVariant(enviromentVar.value("POWER_CAN_HIBERNATE")).toBool() : m_powerManagerInter->CanHibernate();
if (can_hibernate) {
QMap<QString, QVariant> hibernate;
@ -374,39 +374,6 @@ qint64 ShutdownPlugin::get_power_image_size()
return size;
}
bool ShutdownPlugin::checkSwap()
{
if (!valueByQSettings<bool>("Power", "hibernate", true))
return false;
bool hasSwap = false;
QFile file("/proc/swaps");
if (file.open(QIODevice::Text | QIODevice::ReadOnly)) {
const QString &body = file.readAll();
QTextStream stream(body.toUtf8());
while (!stream.atEnd()) {
const std::pair<bool, qint64> result =
checkIsPartitionType(stream.readLine().simplified().split(
" ", QString::SplitBehavior::SkipEmptyParts));
qint64 image_size{ get_power_image_size() };
if (result.first) {
hasSwap = image_size < result.second;
}
if (hasSwap) {
break;
}
}
file.close();
} else {
qDebug() << "open /proc/swaps failed! please check permission!!!";
}
return hasSwap;
}
void ShutdownPlugin::refreshPluginItemsVisible()
{
if (pluginIsDisable()) {

View File

@ -110,7 +110,6 @@ public:
private:
void loadPlugin();
bool checkSwap();
void refreshPluginItemsVisible();
private: