--- a/activityfw/activitydatabase/hsactivitydbserver/src/activityobservertask.cpp Fri May 14 16:10:06 2010 +0300
+++ b/activityfw/activitydatabase/hsactivitydbserver/src/activityobservertask.cpp Thu May 27 13:11:12 2010 +0300
@@ -72,10 +72,14 @@
//
void CActivityObserverTask::BroadcastReceivedL(const RMessage2& msg)
{
- if (WaitActivity == mMsg.Function() &&
- LaunchActivity == msg.Function()) {
- TPckgBuf<TInt> observerdId;
- mMsg.ReadL(KRequestAppIdOffset, observerdId);
+ if(EFalse != mMsg.IsNull()) {
+ mGlobalStorage.Pop(this);//
+ mLocalStorage.Pop(this);
+ delete this;
+ } else if (WaitActivity == mMsg.Function() &&
+ LaunchActivity == msg.Function()) {
+ TPckgBuf<TInt> observerdId;
+ mMsg.ReadL(KRequestAppIdOffset, observerdId);
TPckgBuf<TInt> requestedId;
msg.ReadL(KRequestAppIdOffset, requestedId);
@@ -95,6 +99,20 @@
mGlobalStorage.Pop(this);
mMsg.Complete(KErrCancel);
delete this;
+ } else if (NotifyChange == mMsg.Function() &&
+ CancelNotify == msg.Function() &&
+ mMsg.Session() == msg.Session()) {
+ mGlobalStorage.Pop(this);
+ mMsg.Complete(KErrCancel);
+ delete this;
+ } else if(NotifyChange == mMsg.Function() &&
+ (AddActivity == msg.Function() ||
+ UpdateActivity == msg.Function() ||
+ RemoveActivity == msg.Function() ||
+ RemoveApplicationActivities == msg.Function())){
+ mMsg.Complete(KErrNone);
+ mGlobalStorage.Pop(this);
+ delete this;
}
}