2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file GlTimerBase.cpp
19 * @brief This is the source file for GlTimerBase class.
25 #include "GlContentUpdateEventListener.h"
26 #include "GlProgressBar.h"
27 #include "GlTimerBase.h"
30 using namespace Tizen::Ui;
31 using namespace Tizen::Base::Runtime;
33 GlTimerBase::GlTimerBase(IFileOpInvalidateListener* invalidateListener, enum FileActionMode actionId)
35 , __pContentIdList(null)
38 , __pInvalidate(invalidateListener)
42 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
45 GlTimerBase::~GlTimerBase(void)
49 if (__pContentIdList != null && __pContentIdList->GetCount() > 0 && __isStarted)
54 delete __pContentIdList;
57 __pMoveProBar->HideFileProgressingPopup();
64 GlTimerBase::StartTimer(void)
67 __pContentIdList = TimerStart();
68 if (__pContentIdList != null && __pContentIdList->GetCount() > 0)
70 AppLogDebug("Starting timer");
71 __pMoveProBar = new (std::nothrow) GlProgressBar(static_cast<IActionEventListener*>(this),
72 static_cast<IPropagatedKeyEventListener*>(this));
73 __pMoveProBar->ShowFileProgressingPopup(__pContentIdList->GetCount(), _actionId);
75 __moveTimer.Construct(*this);
78 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
79 pContentListener->RemoveContentListener();
80 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
83 AppLogDebug("EXIT1(%s)", GetErrorMessage(GetLastResult()));
88 GlTimerBase::CancelTimer(void)
93 OnOpCancelled(CANCEL_USER);
95 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
99 GlTimerBase::OnTimerExpired(Timer& timer)
101 AppLogDebug("ENTER");
102 if (&timer == &__moveTimer)
104 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
105 if (__moveToCount < __pContentIdList->GetCount())
107 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
108 if (__pContentIdList->GetAt(__moveToCount) != null)
110 result r = TimerExpired(__pContentIdList->GetAt(__moveToCount));
113 AppLogDebug("OnTimerExpired EXIT(%s)", GetErrorMessage(r));
114 OnOpCancelled(CANCEL_SYS_ERROR);
119 __pMoveProBar->IncProgress(__moveToCount);
122 __pInvalidate->OnFileOpInvalidate(_actionId);
124 __moveTimer.Start(1);
129 __moveTimer.Cancel();
131 OnOpComplete(COMPLETE_SUCCESS);
135 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
139 GlTimerBase::OnActionPerformed(const Control& source, int actionId)
141 AppLogDebug("ENTER");
144 case IDA_PROGRESSBAR_CANCEL:
153 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
157 GlTimerBase::GetMovedCount() const
159 return __moveToCount;
163 GlTimerBase::OnOpCancelled(enum FileActionCancelRes res)
165 AppLogDebug("ENTER");
166 __pMoveProBar->HideFileProgressingPopup();
167 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
168 pContentListener->AddContentListener();
171 __pInvalidate->OnFileOpInvalidate(_actionId);
173 if (__moveToCount > 0)
177 if (res != CANCEL_USER)
179 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_PARTIAL);
183 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
191 if (res != CANCEL_USER)
193 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_FAILURE);
197 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
201 TimerCancel(__moveToCount, res);
206 GlTimerBase::OnOpComplete(enum FileActionCompleteRes res)
208 AppLogDebug("ENTER");
209 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
210 pContentListener->AddContentListener();
211 __pMoveProBar->HideFileProgressingPopup();
214 __pInvalidate->OnFileOpInvalidate(_actionId);
215 __pInvalidate->OnFileOpComplete(_actionId, res);
217 TimerComplete(__moveToCount, res);
222 GlTimerBase::SetActionMode(const enum FileActionMode actionId)
224 _actionId = actionId;
228 GlTimerBase::IsStarted(void)
234 GlTimerBase::Cancel(void)
238 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
239 pContentListener->AddContentListener();
240 __pMoveProBar->HideFileProgressingPopup();
241 __moveTimer.Cancel();
247 GlTimerBase::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
249 AppLogDebug("ENTER");
251 if(keyEventInfo.GetKeyCode() == KEY_BACK)