refact: assuming all applications have been launched during AM create

storage at first time

issue: https://github.com/linuxdeepin/developer-center/issues/5768

Signed-off-by: ComixHe <heyuming@deepin.org>
This commit is contained in:
ComixHe
2023-11-23 15:01:31 +08:00
committed by Comix
parent 6bfbd63c01
commit b75bb395fd
4 changed files with 35 additions and 7 deletions

View File

@ -47,14 +47,21 @@ ApplicationService::ApplicationService(DesktopFile source,
auto appId = id();
auto value = storagePtr->readApplicationValue(appId, ApplicationPropertiesGroup, LastLaunchedTime);
if (value.isNull()) {
if (!storagePtr->createApplicationValue(
appId, ApplicationPropertiesGroup, LastLaunchedTime, QVariant::fromValue<qint64>(0))) {
m_lastLaunch = -1;
}
return;
qint64 val{0};
if (storagePtr->firstLaunch()) {
val = QDateTime::currentMSecsSinceEpoch();
}
if (value.isNull()) {
if (!storagePtr->createApplicationValue(appId, ApplicationPropertiesGroup, LastLaunchedTime, QVariant::fromValue(val))) {
m_lastLaunch = -1;
} else {
m_lastLaunch = val;
}
} else {
m_lastLaunch = value.toLongLong();
}
m_lastLaunch = value.toInt();
value = storagePtr->readApplicationValue(appId, ApplicationPropertiesGroup, ScaleFactor);
if (!value.isNull()) {