--- 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 <QSize>
#include <QPixmap>
+#include <QDateTime>
#include <XQConversions>
@@ -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<const TUint16*>(activityId.utf16())), KNullDesC(), KNullDesC(), KNullDesC8(), KNullDesC8()));
+ QT_TRAP_THROWING(entry = CAfEntry::NewL(0, applicationId, TPtrC(static_cast<const TUint16*>(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;
+}