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), static_cast<IPropagatedKeyEventListener*>(this));
72 __pMoveProBar->ShowFileProgressingPopup(__pContentIdList->GetCount(), _actionId);
74 __moveTimer.Construct(*this);
77 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
78 pContentListener->RemoveContentListener();
79 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
82 AppLogDebug("EXIT1(%s)", GetErrorMessage(GetLastResult()));
87 GlTimerBase::CancelTimer(void)
92 OnOpCancelled(CANCEL_USER);
94 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
98 GlTimerBase::OnTimerExpired(Timer& timer)
100 AppLogDebug("ENTER");
101 if (&timer == &__moveTimer)
103 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
104 if (__moveToCount < __pContentIdList->GetCount())
106 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
107 if (__pContentIdList->GetAt(__moveToCount) != null)
109 result r = TimerExpired(__pContentIdList->GetAt(__moveToCount));
112 AppLogDebug("OnTimerExpired EXIT(%s)", GetErrorMessage(r));
113 OnOpCancelled(CANCEL_SYS_ERROR);
118 __pMoveProBar->IncProgress(__moveToCount);
121 __pInvalidate->OnFileOpInvalidate(_actionId);
123 __moveTimer.Start(1);
128 __moveTimer.Cancel();
130 OnOpComplete(COMPLETE_SUCCESS);
134 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
138 GlTimerBase::OnActionPerformed(const Control& source, int actionId)
140 AppLogDebug("ENTER");
143 case IDA_PROGRESSBAR_CANCEL:
152 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
155 int GlTimerBase::GetMovedCount() const
157 return __moveToCount;
160 void GlTimerBase::OnOpCancelled(enum FileActionCancelRes res)
162 AppLogDebug("ENTER");
163 __pMoveProBar->HideFileProgressingPopup();
164 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
165 pContentListener->AddContentListener();
168 __pInvalidate->OnFileOpInvalidate(_actionId);
170 if (__moveToCount > 0)
174 if (res != CANCEL_USER)
176 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_PARTIAL);
180 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
188 if (res != CANCEL_USER)
190 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_FAILURE);
194 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
198 TimerCancel(__moveToCount, res);
202 void GlTimerBase::OnOpComplete(enum FileActionCompleteRes res)
204 AppLogDebug("ENTER");
205 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
206 pContentListener->AddContentListener();
207 __pMoveProBar->HideFileProgressingPopup();
210 __pInvalidate->OnFileOpInvalidate(_actionId);
211 __pInvalidate->OnFileOpComplete(_actionId, res);
213 TimerComplete(__moveToCount, res);
217 void GlTimerBase::SetActionMode(const enum FileActionMode actionId)
219 _actionId = actionId;
223 bool GlTimerBase::IsStarted(void)
228 void GlTimerBase::Cancel(void)
232 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
233 pContentListener->AddContentListener();
234 __pMoveProBar->HideFileProgressingPopup();
235 __moveTimer.Cancel();
242 GlTimerBase::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
244 AppLogDebug("ENTER");
246 if(keyEventInfo.GetKeyCode() == KEY_BACK)