diff -r 0b3699f6c654 -r e36b2f4799c0 activityfw/activityserviceplugin/s60/src/afstorageproxy_p.cpp --- a/activityfw/activityserviceplugin/s60/src/afstorageproxy_p.cpp Fri Sep 17 08:32:18 2010 +0300 +++ b/activityfw/activityserviceplugin/s60/src/afstorageproxy_p.cpp Mon Oct 04 00:38:31 2010 +0300 @@ -21,6 +21,7 @@ #include #include +#include #include @@ -45,38 +46,6 @@ mAppArcSession.Close(); } -bool AfStorageProxyPrivate::addActivity(int applicationId, const QString &activityId, const QString &customActivityName, const QVariant &activityData, const QVariantHash &metadata, const QPixmap &screenshot) -{ - int screenshotHandle(-1); - CFbsBitmap* bitmap(screenshot.toSymbianCFbsBitmap()); - if (bitmap) { - screenshotHandle = bitmap->Handle(); - } - - CAfEntry *entry = createSaveEntry(applicationId, activityId, customActivityName, activityData, metadata); - int result = mClient->addActivity(*entry, screenshotHandle); - delete entry; - delete bitmap; - - return KErrNone == result; -} - -bool AfStorageProxyPrivate::updateActivity(int applicationId, const QString &activityId, const QString &customActivityName, const QVariant &activityData, const QVariantHash &metadata, const QPixmap &screenshot) -{ - int screenshotHandle(-1); - CFbsBitmap* bitmap(screenshot.toSymbianCFbsBitmap()); - if (bitmap) { - screenshotHandle = bitmap->Handle(); - } - - CAfEntry *entry = createSaveEntry(applicationId, activityId, customActivityName, activityData, metadata); - int result = mClient->updateActivity(*entry, screenshotHandle); - delete entry; - delete bitmap; - - return KErrNone == result; -} - bool AfStorageProxyPrivate::saveActivity(int applicationId, const QString &activityId, const QString &customActivityName, const QVariant &activityData, const QVariantHash &metadata, const QPixmap &screenshot) { int screenshotHandle(-1); @@ -181,10 +150,10 @@ return KErrNone == result; } -bool AfStorageProxyPrivate::getThumbnail(const QSize &size, const QString &imagePath, void *userData) +bool AfStorageProxyPrivate::getThumbnail(const QString &imagePath, void *userData) { HBufC *source = XQConversions::qStringToS60Desc(imagePath); - int result = mClient->getThumbnail(TSize(size.width(), size.height()), *source, userData); + int result = mClient->getThumbnail(*source, userData); delete source; return KErrNone == result; } @@ -229,7 +198,7 @@ CAfEntry *AfStorageProxyPrivate::createFilterEntry(int applicationId, const QString &activityId) { CAfEntry *entry(0); - QT_TRAP_THROWING(entry = CAfEntry::NewL(0, applicationId, TPtrC(static_cast(activityId.utf16())), KNullDesC(), KNullDesC(), KNullDesC8(), KNullDesC8())); + QT_TRAP_THROWING(entry = CAfEntry::NewL(0, applicationId, TPtrC(static_cast(activityId.utf16())), KNullDesC(), KNullDesC(), KNullDesC8(), KNullDesC8(), TTime())); return entry; } @@ -268,7 +237,8 @@ *customNameBuff, KNullDesC, privateBuff, - publicBuff); + publicBuff, + convertQDateTimeToTTime(metadata[ActivityTimestamp].toDateTime())); CleanupStack::PopAndDestroy(customNameBuff); CleanupStack::PopAndDestroy(actBuff); CleanupStack::PopAndDestroy(&publicBuff); @@ -304,6 +274,7 @@ metadata.insert(ActivityScreenshotKeyword, XQConversions::s60DescToQString(entry->ImageSrc())); metadata.insert(ActivityPersistence, (entry->Flags() & CAfEntry::Persistent) ? true : false); metadata.insert(ActivityVisibility, (entry->Flags() & CAfEntry::Invisible) ? false : true); + metadata.insert(ActivityTimestamp, convertTTimeToQDateTime(entry->Timestamp())); return metadata; } @@ -317,3 +288,23 @@ return XQConversions::s60DescToQString(entry->CustomActivityName()); } } + +// ----------------------------------------------------------------------------- +TTime AfStorageProxyPrivate::convertQDateTimeToTTime(const QDateTime ×tamp) const +{ + return TTime( _L( "19700000:" ) ) + TTimeIntervalSeconds( timestamp.toTime_t() ) + + TTimeIntervalMicroSeconds( timestamp.time().msec() * 1000 ); +} + +// ----------------------------------------------------------------------------- +QDateTime AfStorageProxyPrivate::convertTTimeToQDateTime(const TTime &s60Time) const +{ + TTime posixEpoch(_L("19700000:")); + TTimeIntervalSeconds secondsFrom; + TTimeIntervalMicroSeconds microSecondsFrom; + s60Time.SecondsFrom(posixEpoch, secondsFrom); + microSecondsFrom = s60Time.MicroSecondsFrom(posixEpoch); + QDateTime retVal = QDateTime::fromTime_t(secondsFrom.Int()); + retVal = retVal.addMSecs((microSecondsFrom.Int64() % TInt64(1000000) ) / TInt64(1000)); + return retVal; +}