ZipIntaller: use file timestamp if version string is missing.

Instead of using some arbitrary and not really useful string use the timestamp
of the downloaded file if version string is provided by the caller. This also
makes it possible to check if the downloaded file is actually a different one.

Use it for manual and game file downloads, as this gives more reasonable values
than using the date transmitted for daily (archived) build and as support for
archived builds will be removed shortly.

Change-Id: I0c751fabe7bb516edca93a5f73f077a611d4ef87
This commit is contained in:
Dominik Riebeling 2012-05-23 21:05:28 +02:00
parent 5c36e2f21c
commit 968448c9cd
4 changed files with 11 additions and 5 deletions

View file

@ -59,7 +59,7 @@ void ZipInstaller::installContinue()
m_url = m_urllist.at(runner);
m_logsection = m_loglist.at(runner);
if(runner < m_verlist.size()) m_logver = m_verlist.at(runner);
else m_logver = "0";
else m_logver = "";
installStart();
}
else {
@ -176,6 +176,10 @@ void ZipInstaller::downloadDone(bool error)
// add file to log
zipContents.append(m_target);
}
if(m_logver.isEmpty()) {
// if no version info is set use the timestamp of the server file.
m_logver = getter->timestamp().toString(Qt::ISODate);
}
emit logItem(tr("Creating installation log"),LOGINFO);
QSettings installlog(m_mountpoint + "/.rockbox/rbutil.log", QSettings::IniFormat, 0);

View file

@ -41,8 +41,10 @@ public:
void setUrl(QStringList url) { m_urllist = url; }
void setLogSection(QString name) {m_loglist = QStringList(name);}
void setLogSection(QStringList name) { m_loglist = name; }
void setLogVersion(QString v) { m_verlist = QStringList(v); qDebug() << m_verlist;}
void setLogVersion(QStringList v) { m_verlist = v; qDebug() << m_verlist;}
void setLogVersion(QString v = "")
{ m_verlist = QStringList(v); qDebug() << m_verlist;}
void setLogVersion(QStringList v)
{ m_verlist = v; qDebug() << m_verlist;}
void setUnzip(bool i) { m_unzip = i; }
void setTarget(QString t) { m_target = t; }
void setCache(QDir c) { m_cache = c; m_usecache = true; };