//
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
-// Licensed under the Flora License, Version 1.0 (the License);
+// Licensed under the Flora License, Version 1.1 (the License);
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
* @brief This is the source file for GlTimerBase class.
*/
+#include <FBase.h>
#include <FUi.h>
+#include "GlContentUpdateEventListener.h"
#include "GlProgressBar.h"
#include "GlTimerBase.h"
#include "GlTypes.h"
using namespace Tizen::Ui;
+using namespace Tizen::Base::Runtime;
-GlTimerBase::GlTimerBase(IFileOpInvalidateListener* invalidateListener,
- enum FileActionMode actionId)
- : __pInvalidate(invalidateListener)
- , __actionId(actionId)
+GlTimerBase::GlTimerBase(IFileOpInvalidateListener* invalidateListener, enum FileActionMode actionId)
+ : _actionId(actionId)
+ , __pContentIdList(null)
+ , __moveToCount(0)
+ , __pMoveProBar(null)
+ , __pInvalidate(invalidateListener)
+ , __isStarted(false)
{
-
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
GlTimerBase::~GlTimerBase(void)
{
AppLogDebug("ENTER");
__pInvalidate = null;
- if (__pContentIdList != null && __pContentIdList->GetCount() > 0)
+ if (__pContentIdList != null && __pContentIdList->GetCount() > 0 && __isStarted)
{
__moveTimer.Cancel();
+ __isStarted = false;
}
delete __pContentIdList;
+ if (__pMoveProBar)
+ {
+ __pMoveProBar->HideFileProgressingPopup();
+ delete __pMoveProBar;
+ }
AppLogDebug("ENTER");
}
-bool GlTimerBase::StartTimer(void)
+bool
+GlTimerBase::StartTimer(void)
{
AppLogDebug("ENTER");
__pContentIdList = TimerStart();
if (__pContentIdList != null && __pContentIdList->GetCount() > 0)
{
AppLogDebug("Starting timer");
- __pMoveProBar = new GlProgressBar(static_cast<IActionEventListener*>(this));
- __pMoveProBar->ShowFileProgressingPopup(__pContentIdList->GetCount(), __actionId);
+ __pMoveProBar = new (std::nothrow) GlProgressBar(static_cast<IActionEventListener*>(this),
+ static_cast<IPropagatedKeyEventListener*>(this));
+ __pMoveProBar->ShowFileProgressingPopup(__pContentIdList->GetCount(), _actionId);
__moveToCount = 0;
__moveTimer.Construct(*this);
__moveTimer.Start(1);
- AppLogDebug("Returned true");
+ __isStarted = true;
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->RemoveContentListener();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
return E_SUCCESS;
}
- AppLogDebug("Returned false");
+ AppLogDebug("EXIT1(%s)", GetErrorMessage(GetLastResult()));
return E_FAILURE;
}
-void GlTimerBase::CancelTimer(void)
+void
+GlTimerBase::CancelTimer(void)
{
AppLogDebug("ENTER");
__moveTimer.Cancel();
+ __isStarted = false;
OnOpCancelled(CANCEL_USER);
__moveToCount = 0;
- AppLogDebug("EXIT");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
-void GlTimerBase::OnTimerExpired(Timer& timer)
+void
+GlTimerBase::OnTimerExpired(Timer& timer)
{
AppLogDebug("ENTER");
if (&timer == &__moveTimer)
if (__moveToCount < __pContentIdList->GetCount())
{
AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
- ContentId* pContentId = static_cast<ContentId*>(__pContentIdList->GetAt(__moveToCount));
- if (pContentId != null)
+ if (__pContentIdList->GetAt(__moveToCount) != null)
{
- result r = TimerExpired(*pContentId);
- if (IsFailed(r))
- {
- AppLogDebug("OnTimerExpired EXIT(%s)", GetErrorMessage(r));
- OnOpCancelled(CANCEL_SYS_ERROR);
- return;
- }
+ result r = TimerExpired(__pContentIdList->GetAt(__moveToCount));
}
- __moveToCount++;
+ ++__moveToCount;
__pMoveProBar->IncProgress(__moveToCount);
if (__pInvalidate)
{
- __pInvalidate->OnFileOpInvalidate(__actionId);
+ __pInvalidate->OnFileOpInvalidate(_actionId);
}
__moveTimer.Start(1);
+ __isStarted = true;
}
else
{
__moveTimer.Cancel();
+ __isStarted = false;
OnOpComplete(COMPLETE_SUCCESS);
__moveToCount = 0;
}
}
- AppLogDebug("EXIT");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
void
GlTimerBase::OnActionPerformed(const Control& source, int actionId)
{
+ AppLogDebug("ENTER");
switch (actionId)
{
- case ACTION_ID_PROGRESSBAR_CANCEL:
+ case IDA_PROGRESSBAR_CANCEL:
{
CancelTimer();
- break;
}
+ break;
+
default:
break;
}
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
+int
+GlTimerBase::GetMovedCount() const
+{
+ return __moveToCount;
+}
-void GlTimerBase::OnOpCancelled(enum FileActionCancelRes res)
+void
+GlTimerBase::OnOpCancelled(enum FileActionCancelRes res)
{
AppLogDebug("ENTER");
__pMoveProBar->HideFileProgressingPopup();
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->AddContentListener();
if (__pInvalidate)
{
- __pInvalidate->OnFileOpInvalidate(__actionId);
+ __pInvalidate->OnFileOpInvalidate(_actionId);
}
if (__moveToCount > 0)
{
{
if (res != CANCEL_USER)
{
- __pInvalidate->OnFileOpComplete(__actionId, COMPLETE_SYS_PARTIAL);
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_PARTIAL);
}
else
{
- __pInvalidate->OnFileOpComplete(__actionId, COMPLETE_SUCCESS);
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
}
}
}
{
if (res != CANCEL_USER)
{
- __pInvalidate->OnFileOpComplete(__actionId, COMPLETE_SYS_FAILURE);
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_FAILURE);
}
else
{
- __pInvalidate->OnFileOpComplete(__actionId, COMPLETE_SUCCESS);
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
}
}
}
AppLogDebug("EXIT");
}
-void GlTimerBase::OnOpComplete(enum FileActionCompleteRes res)
+void
+GlTimerBase::OnOpComplete(enum FileActionCompleteRes res)
{
AppLogDebug("ENTER");
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->AddContentListener();
__pMoveProBar->HideFileProgressingPopup();
if (__pInvalidate)
{
- __pInvalidate->OnFileOpInvalidate(__actionId);
- __pInvalidate->OnFileOpComplete(__actionId, res);
+ __pInvalidate->OnFileOpInvalidate(_actionId);
+ __pInvalidate->OnFileOpComplete(_actionId, res);
}
TimerComplete(__moveToCount, res);
AppLogDebug("EXIT");
}
+
+void
+GlTimerBase::SetActionMode(const enum FileActionMode actionId)
+{
+ _actionId = actionId;
+}
+
+bool
+GlTimerBase::IsStarted(void)
+{
+ return __isStarted;
+}
+
+void
+GlTimerBase::Cancel(void)
+{
+ if (__isStarted)
+ {
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->AddContentListener();
+ __pMoveProBar->HideFileProgressingPopup();
+ __moveTimer.Cancel();
+ __isStarted = false;
+ }
+}
+
+bool
+GlTimerBase::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
+{
+ AppLogDebug("ENTER");
+
+ if(keyEventInfo.GetKeyCode() == KEY_BACK)
+ {
+ CancelTimer();
+ }
+ return true;
+}