//
// 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
//
#include <FSystem.h>
#include "GlCommonUtil.h"
#include "GlFileListPresentationModel.h"
+#include "GlContentUpdateEventListener.h"
#include "GlGalleryApp.h"
#include "GlThumbnailEvent.h"
#include "GlThumbnailEventArg.h"
ThumbnailProvider* FileListPresentationModel::__pThumbnailProvider = null;
ThumbnailEvent* FileListPresentationModel::__pThumbnailEvent = null;
ArrayList* FileListPresentationModel::__pPresentationModelListener = null;
+ArrayList* FileListPresentationModel::__pContentEventListener = null;
ArrayList* FileListPresentationModel::__pIconListViewCache = null;
IList* FileListPresentationModel::__pDirectoryList = null;
IList* FileListPresentationModel::__pContentInfoList = null;
FileListPresentationModel::FileListPresentationModel(void)
- : __albumContentType(CONTENT_TYPE_ALL)
- , __appControlMode(APP_CONTROL_MODE_MAIN)
- , __appControlMediaType(APPCONTROL_MEDIA_TYPE_UNKNOWN)
+ : __pContentManager(null)
+ , __albumContentType(CONTENT_TYPE_ALL)
+ , __appControlMode(APPCONTROL_MODE_MAIN)
+ , __appControlMediaType(APPCONTROL_MEDIA_TYPE_IMAGE)
, __appControlSelectionMode(APPCONTROL_SELECTION_MODE_SINGLE)
+ , __pContentIdList(null)
+ , __updateProgressStatus(false)
{
AppLogDebug("ENTER");
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
FileListPresentationModel::~FileListPresentationModel(void)
{
AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
__pThumbnailEvent = new (std::nothrow) ThumbnailEvent();
__pThumbnailEvent->AddListener(*pThumbnailEventListener, true);
+ DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+
+ ContentUpdateEventListener::GetInstance();
+ __pContentManager = new (std::nothrow) ContentManager();
+ __pContentManager->Construct();
+
if (__pIconListViewCache != null)
{
delete __pIconListViewCache;
__pPresentationModelListener = new (std::nothrow) ArrayList();
__pPresentationModelListener->Construct();
+ __pContentEventListener = new (std::nothrow) ArrayList();
+ __pContentEventListener->Construct();
+
__pThumbnailProvider = ThumbnailProvider::GetInstance();
GalleryApp* pApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
if (operationId.CompareTo(APPCONTROL_OPERATION_ID_MAIN) == 0)
{
- __appControlMode = APP_CONTROL_MODE_MAIN;
+ __appControlMode = APPCONTROL_MODE_MAIN;
}
else if (operationId.CompareTo(APPCONTROL_OPERATION_ID_PICK) == 0)
{
- __appControlMode = APP_CONTROL_MODE_PICK;
+ __appControlMode = APPCONTROL_MODE_PICK;
+ String mimeType = pApp->GetMimeType();
+ if (mimeType.IsEmpty() != true)
+ {
+ if (mimeType.StartsWith(APPCONTROL_DATA_VIDEO, 0) == true)
+ {
+ __appControlMediaType = APPCONTROL_MEDIA_TYPE_VIDEO;
+ }
+ }
if (pArguments != null)
{
const String* selectionMode = static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_SELECTION_MODE)));
- const String* mediaType = static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_MEDIA_TYPE)));
- if (mediaType != null && mediaType->CompareTo(APPCONTROL_DATA_VIDEO) == 0)
+ if (pApp->GetMimeType().StartsWith(APPCONTROL_DATA_VIDEO, 0) == true)
{
__appControlMediaType = APPCONTROL_MEDIA_TYPE_VIDEO;
}
- else
- {
- __appControlMediaType = APPCONTROL_MEDIA_TYPE_IMAGE;
- }
if (selectionMode != null && selectionMode->CompareTo(APPCONTROL_DATA_MULTIPLE) == 0)
{
__appControlSelectionMode = APPCONTROL_SELECTION_MODE_MULTIPLE;
}
- else
- {
- __appControlSelectionMode = APPCONTROL_SELECTION_MODE_SINGLE;
- }
}
}
else if (operationId.CompareTo(APPCONTROL_OPERATION_ID_CONFIGURE) == 0)
{
- __appControlMode = APP_CONTROL_MODE_SETTING;
+ __appControlMode = APPCONTROL_MODE_SETTING;
}
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
__pPresentationModelListener = null;
}
+ if (__pContentEventListener != null)
+ {
+ delete __pContentEventListener;
+ __pContentEventListener = null;
+ }
+
delete __pPresentationModelInstance;
__pPresentationModelInstance = null;
}
String
-FileListPresentationModel::GetFileNameFromFullPath(const String& fullPath, bool withExt) const
+FileListPresentationModel::GetFileNameFromFullPath(const String& fullPath, const bool withExt) const
{
AppLogDebug("ENTER");
if (fullPath.CompareTo(EMPTY_SPACE) == 0)
FileListPresentationModel::GetThumbnailInSyncCacheN(const int index, String*& pName, Bitmap*& pThumbnail)
{
AppLogDebug("ENTER : index(%d)", index);
- Bitmap* pOrgBitmap = null;
- Bitmap* pDstBitmap = null;
+ Bitmap* pOriginalBitmap = null;
+ Bitmap* pDestinationBitmap = null;
ContentInfo* pContentInfo = null;
if (__pContentInfoList != null && index < __pContentInfoList->GetCount())
if (pThumbnailInfo != null)
{
pName = new (std::nothrow) String(pThumbnailInfo->GetFilePath());
- pOrgBitmap = pThumbnailInfo->GetBitmapN();
+ pOriginalBitmap = pThumbnailInfo->GetBitmapN();
}
if ((pThumbnailInfo != null)&&(pThumbnailInfo->GetContentType() == CONTENT_TYPE_VIDEO))
{
- if (pOrgBitmap != null)
+ if (pOriginalBitmap != null)
{
- pDstBitmap = CoverVideoOverlayedImageOnThumbnailN(*pOrgBitmap, *pThumbnailInfo);
- delete pOrgBitmap;
+ pDestinationBitmap = CoverVideoOverlayedImageOnThumbnailN(*pOriginalBitmap, *pThumbnailInfo);
+ delete pOriginalBitmap;
}
}
else
{
- pDstBitmap = pOrgBitmap;
+ pDestinationBitmap = pOriginalBitmap;
}
- if (pDstBitmap != null)
+ if (pDestinationBitmap != null)
{
Bitmap* pThumbnailBgBitmap = ResourceManager::GetBitmapN(IDB_VIDEOTHUMBNAIL_BG);
Rectangle thumbnailRect(RECTANGLE_THUMBNAIL_OFFSET_POSION);
- pDstBitmap->Scale(Dimension(RECTANGLE_THUMBNAIL_OFFSET_POSION.width - RECTANGLE_THUMBNAIL_OFFSET_POSION.x
+ pDestinationBitmap->Scale(Dimension(RECTANGLE_THUMBNAIL_OFFSET_POSION.width - RECTANGLE_THUMBNAIL_OFFSET_POSION.x
, RECTANGLE_THUMBNAIL_OFFSET_POSION.height - RECTANGLE_THUMBNAIL_OFFSET_POSION.y));
if (pThumbnailBgBitmap != null)
{
pThumbnailBgBitmap->Scale(DIMENSION_REAL_ICON);
- pThumbnail = GetShadedBackgroundBitmapN(*pThumbnailBgBitmap, *pDstBitmap, thumbnailRect);
+ pThumbnail = GetShadedBackgroundBitmapN(*pThumbnailBgBitmap, *pDestinationBitmap, thumbnailRect);
delete pThumbnailBgBitmap;
- delete pDstBitmap;
+ delete pDestinationBitmap;
}
else
{
- pThumbnail = pDstBitmap;
+ pThumbnail = pDestinationBitmap;
}
}
else
}
result
-FileListPresentationModel::GetThumbnailVideoInSyncCacheN(const int index, String*& pName, Bitmap*& pThumbnail, String*& pDuration)
+FileListPresentationModel::GetThumbnailVideoInSyncCacheN(const int index,
+ String*& pName, Bitmap*& pThumbnail, String*& pDuration) const
{
AppLogDebug("ENTER : index(%d)", index);
ContentInfo* pContentInfo = null;
- Bitmap* pOrgBitmap = null;
+ Bitmap* pOriginalBitmap = null;
if (__pContentInfoList != null && index < __pContentInfoList->GetCount())
{
if (pThumbnailInfo != null)
{
pName = new (std::nothrow) String(pThumbnailInfo->GetFilePath());
- pOrgBitmap = pThumbnailInfo->GetBitmapN();
+ pOriginalBitmap = pThumbnailInfo->GetBitmapN();
pDuration = new (std::nothrow) String(CommonUtil::DurationToTimeString(pThumbnailInfo->GetDuration()));
}
else
pDuration = new (std::nothrow) String(CommonUtil::DurationToTimeString(0));
}
- if (pOrgBitmap != null)
+ if (pOriginalBitmap != null)
{
Bitmap* pThumbnailBgBitmap = ResourceManager::GetBitmapN(IDB_VIDEOTHUMBNAIL_BG);
Rectangle thumbnailRect(RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION);
- pOrgBitmap->Scale(Dimension(RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.width - RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.x
+ pOriginalBitmap->Scale(Dimension(RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.width - RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.x
, RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.height - RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.y));
if (pThumbnailBgBitmap != null)
{
pThumbnailBgBitmap->Scale(Dimension(W_WIDE_THUMBNAIL, H_WIDE_THUMBNAIL));
- pThumbnail = GetShadedBackgroundBitmapN(*pThumbnailBgBitmap, *pOrgBitmap, thumbnailRect);
+ pThumbnail = GetShadedBackgroundBitmapN(*pThumbnailBgBitmap, *pOriginalBitmap, thumbnailRect);
delete pThumbnailBgBitmap;
}
- delete pOrgBitmap;
+ delete pOriginalBitmap;
}
else
{
}
void
-FileListPresentationModel::CancelThumbnailRequest(const int index)
-{
- AppLogDebug("ENTER : index(%d)", index);
- /*ContentInfo* pContentInfo = null;
-
- if (__pContentInfoList != null && index < __pContentInfoList->GetCount())
- {
- pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(index));
- if (pContentInfo == null)
- {
- AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
- return;
- }
- __pThumbnailProvider->CancelThumbnailRequest(pContentInfo->GetContentId(), __pThumbnailEvent);
- }*/
- AppLogDebug("EXIT");
-}
-
-void
-FileListPresentationModel::ClearThumbnailRequests(bool appTerminating)
+FileListPresentationModel::ClearThumbnailRequests(const bool appTerminating)
{
AppLogDebug("ENTER");
{
__pIconListViewCache->RemoveAt(0, true);
}
- AppLogDebug("[CHASEFIRE] (all:%d) Add Thumbail(%ls)",__pIconListViewCache->GetCount(),
+ AppLogDebug("[CHASEFIRE] (all:%d) Add Thumbail(%ls)", __pIconListViewCache->GetCount(),
pThumbnailInfo->GetFilePath().GetPointer());
__pIconListViewCache->Add(pThumbnailInfo);
}
}
void
+FileListPresentationModel::OnContentCreated(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ IFormContentUpdateEventListener* pInterface = null;
+ if (__pContentEventListener == null)
+ {
+ AppLogDebug("EXIT");
+ return;
+ }
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ if (pInterface != null)
+ {
+ pInterface->OnContentUpdated();
+ }
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnContentUpdated(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ //Clear the ImageCaches when content is updated like rotate.
+ ClearImageCache();
+
+ IFormContentUpdateEventListener* pInterface = null;
+ if (__pContentEventListener == null)
+ {
+ AppLogDebug("EXIT");
+ return;
+ }
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnContentDeleted(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ IFormContentUpdateEventListener* pInterface = null;
+ if (__pContentEventListener == null)
+ {
+ AppLogDebug("EXIT");
+ return;
+ }
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
FileListPresentationModel::AddPresentationModelListener(const IAlbumEventListener* listener)
{
AppLogDebug("ENTER");
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
+void
+FileListPresentationModel::AddContentEventListener(const IFormContentUpdateEventListener* listener)
+{
+ AppLogDebug("ENTER");
+ if (__pContentEventListener != null)
+ {
+ __pContentEventListener->RemoveAll();
+ __pContentEventListener->Add((Object*)listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ }
+}
+
+void
+FileListPresentationModel::RemoveContentEventListener(const IFormContentUpdateEventListener* listener)
+{
+ AppLogDebug("ENTER");
+ __pContentEventListener->Remove(*listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
ThumbnailInfo*
FileListPresentationModel::GetThumbnailInfoFromInternalBufferN(const ContentId& contentId) const
{
if (__pIconListViewCache != null)
{
int loopCount = __pIconListViewCache->GetCount();
- for (int i = 0 ; i < loopCount; ++i)
+ for (int i = 0; i < loopCount; ++i)
{
pTempThumbnailInfo = static_cast<ThumbnailInfo*>(__pIconListViewCache->GetAt(i));
if (contentId == pTempThumbnailInfo->GetContentId())
pThumbnailInfo = new (std::nothrow) ThumbnailInfo();
Bitmap* pBitmap = pTempThumbnailInfo->GetBitmapN();
- pThumbnailInfo->Construct(pTempThumbnailInfo->GetContentId(),
- pTempThumbnailInfo->GetFilePath(), *pBitmap,
- pTempThumbnailInfo->GetContentType(), pTempThumbnailInfo->GetDuration());
+ pThumbnailInfo->Construct(pTempThumbnailInfo->GetContentId(), pTempThumbnailInfo->GetFilePath(),
+ *pBitmap, pTempThumbnailInfo->GetContentType(), pTempThumbnailInfo->GetDuration());
delete pBitmap;
break;
}
return E_SUCCESS;
}
- ContentManager contentManager;
- result r = contentManager.Construct();
- if (r == E_SUCCESS)
- {
- r = contentManager.DeleteContent(contentId);
- }
+ result r = __pContentManager->DeleteContent(contentId);
+
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
return r;
}
result
-FileListPresentationModel::MoveToContentFile(const ContentId& contentId, const String& destDirectory)
+FileListPresentationModel::MoveToContentFile(const ContentId& contentId, const String& destDirectory, const bool isCopyOperation)
{
AppLogDebug("ENTER");
if (contentId.ToString().IsEmpty() == true || destDirectory.IsEmpty() == true)
AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
return E_FAILURE;
}
+ result r = E_SUCCESS;
+ ContentInfo* pContentInfo = __pContentManager->GetContentInfoN(contentId);
+ if (pContentInfo == null)
+ {
+ AppLogDebug("Santhosh %s", destDirectory.GetPointer());
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
- ContentManager contentManager;
- result r = contentManager.Construct();
- if (r == E_SUCCESS)
+ String filePath = pContentInfo->GetContentPath();
+ if (filePath.GetLength() < 4)
{
- ContentInfo* pContentInfo = contentManager.GetContentInfoN(contentId);
- if (pContentInfo == null)
- {
- AppLogDebug("Santhosh %s", destDirectory.GetPointer());
- AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
- return E_FAILURE;
- }
+ AppLogDebug("EXIT 3(%s)", GetErrorMessage(GetLastResult()));
+ return E_SUCCESS;
+ }
- String filePath = pContentInfo->GetContentPath();
- if (filePath.GetLength() < 4)
- {
- AppLogDebug("EXIT 3(%s)", GetErrorMessage(GetLastResult()));
+ String destPath;
+ if (destDirectory.EndsWith(DIRECTORY_SEPARATOR) == true)
+ {
+ destPath.Append(destDirectory);
+ destPath.Append(GetFileNameFromFullPath(filePath, true));
+ }
+ else
+ {
+ destPath.Append(destDirectory);
+ destPath.Append(DIRECTORY_SEPARATOR);
+ destPath.Append(GetFileNameFromFullPath(filePath, true));
+ }
- return E_SUCCESS;
- }
+ if (destPath.CompareTo(filePath) == 0)
+ {
+ AppLogDebug("EXIT 4(%s)", GetErrorMessage(GetLastResult()));
+ return E_SUCCESS;
+ }
- String destPath;
- if (destDirectory.EndsWith(DIRECTORY_SEPARATOR) == true)
- {
- destPath.Append(destDirectory);
- destPath.Append(GetFileNameFromFullPath(filePath, true));
- }
- else
- {
- destPath.Append(destDirectory);
- destPath.Append(DIRECTORY_SEPARATOR);
- destPath.Append(GetFileNameFromFullPath(filePath, true));
- }
+ if (File::IsFileExist(destPath) == true)
+ {
+ File::Remove(destPath);
+ }
- if (destPath.CompareTo(filePath) == 0)
- {
- AppLogDebug("EXIT 4(%s)", GetErrorMessage(GetLastResult()));
+ r = File::Copy(filePath, destPath, false);
- return E_SUCCESS;
- }
+ if ( r == E_STORAGE_FULL)
+ {
+ File::Remove(destPath);
+ }
+ ContentManager::ScanFile(destPath);
- if (File::IsFileExist(destPath) == true)
+ if ( r == E_SUCCESS )
+ {
+ if ( isCopyOperation == false)
{
- File::Remove(destPath);
+ File::Remove(filePath); // if Move Op remove original file
+ ContentManager::ScanFile(filePath);
}
+ }
- if (pContentInfo->GetContentType() == CONTENT_TYPE_IMAGE)
- {
-
- r = File::Copy(filePath, destPath, false);
- if (r == E_SUCCESS)
- {
- ContentManager cntManager;
- r = cntManager.Construct();
- if (r == E_SUCCESS)
- {
- ImageContentInfo contentInfo;
- r = contentInfo.Construct(&destPath);
- if (r == E_SUCCESS)
- {
- cntManager.CreateContent(contentInfo);
- r = GetLastResult();
- TryCatch(!IsFailed(r),,"CreateContent::the value is %s",GetErrorMessage(r));
- r = cntManager.DeleteContent(contentId);
- TryCatch(!IsFailed(r),,"DeleteContent::the value is %s",GetErrorMessage(r));
- }
- }
- }
- }
- else if (pContentInfo->GetContentType() == CONTENT_TYPE_VIDEO)
- {
- r = File::Copy(filePath, destPath, false);
+ delete pContentInfo;
- if (r == E_SUCCESS)
- {
- ContentManager cntManager;
- r = cntManager.Construct();
- if (r == E_SUCCESS)
- {
- VideoContentInfo contentInfo;
- r = contentInfo.Construct(&destPath);
- {
- cntManager.CreateContent(contentInfo);
- r = GetLastResult();
- TryCatch(!IsFailed(r),,"CreateContent::the value is %s",GetErrorMessage(r));
- r = cntManager.DeleteContent(contentId);
- TryCatch(!IsFailed(r),,"DeleteContent::the value is %s",GetErrorMessage(r));
- }
- }
- }
- }
- CATCH:
- delete pContentInfo;
- }
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
return r;
}
+void
+FileListPresentationModel::ClearProviderId(void)
+{
+ __providerId.Clear();
+}
+
result
-FileListPresentationModel::StartAppControl( const String& providerId, const String& operationId,
- const IMap* pDataList, IAppControlResponseListener* pListener)
+FileListPresentationModel::StartAppControl(const String& providerId, const String& operationId,
+ const String* pUriData, const Tizen::Base::String* pMimeType, const HashMap* pDataList,
+ IAppControlResponseListener* pListener)
{
AppLogDebug("ENTER");
- AppLogDebug("FindAppControlN(%ls, %ls)", providerId.GetPointer(), operationId.GetPointer());
- if (pDataList != null)
- {
- IList* pKeyList = pDataList->GetKeysN();
- if (pKeyList != null)
- {
- int keyCount = pKeyList->GetCount();
- for (int i = 0 ; i < keyCount ; ++i)
- {
- String* pKey = const_cast<String*>(static_cast<const String*>(pKeyList->GetAt(i)));
- String* pValue = const_cast<String*>(static_cast<const String*>(pDataList->GetValue(*pKey)));
-
- AppLogDebug("(%ls:%ls)", pKey == null ? L"(null)" : pKey->GetPointer(),
- pValue == null ? L"(null)" : pValue->GetPointer());
- }
- }
- }
AppControl* pAc = AppManager::FindAppControlN(providerId, operationId);
+
+ ClearProviderId();
+ __providerId.Append(providerId);
+
if (pAc == null)
{
AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
-
return E_FAILURE;
}
- result r = pAc->Start(null, null, pDataList, pListener);
+ result r = pAc->Start(pUriData, pMimeType, pDataList, pListener);
if (r == E_SUCCESS)
{
}
__albumName = albumName;
+ __providerId.Clear();
if (__pDirectoryList != null)
{
__pContentInfoList = null;
}
- if (GetAppControlMode() == APP_CONTROL_MODE_PICK)
+ if (GetAppControlMode() == APPCONTROL_MODE_PICK)
{
AppControlMediaType appControlMediaType = GetAppControlMediaType();
if (appControlMediaType == APPCONTROL_MEDIA_TYPE_IMAGE)
}
result
-FileListPresentationModel::RefreshCurrentAlbumContentInfoList(ContentType contentType)
+FileListPresentationModel::RefreshCurrentAlbumContentInfoList(const ContentType contentType)
{
AppLogDebug("ENTER");
result r = RefreshContentInfoList(contentType);
}
result
-FileListPresentationModel::RefreshContentInfoList(ContentType contentType)
+FileListPresentationModel::RefreshContentInfoList(const ContentType contentType)
{
AppLogDebug("ENTER");
if ((contentType != CONTENT_TYPE_ALL) && (contentType != CONTENT_TYPE_IMAGE) && (contentType != CONTENT_TYPE_VIDEO))
}
String
-FileListPresentationModel::GetCurrentAlbumName(void)
+FileListPresentationModel::GetCurrentAlbumName(void) const
{
AppLogDebug("ENTER");
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
void
-FileListPresentationModel::SetCurrentAlbumName(String& albumName)
+FileListPresentationModel::SetCurrentAlbumName(const String& albumName)
{
AppLogDebug("ENTER");
if (&albumName == null)
}
ContentType
-FileListPresentationModel::GetCurrentAlbumContentType(void)
+FileListPresentationModel::GetCurrentAlbumContentType(void) const
{
AppLogDebug("ENTER");
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
void
-FileListPresentationModel::SetCurrentAlbumContentType(ContentType contentType)
+FileListPresentationModel::SetCurrentAlbumContentType(const ContentType contentType)
{
AppLogDebug("ENTER");
__albumContentType = contentType;
}
IList*
-FileListPresentationModel::GetAlbumDirectoryListN(void)
+FileListPresentationModel::GetAlbumDirectoryListN(void) const
{
AppLogDebug("ENTER");
IList* pAlbumDirectoryList = new (std::nothrow) ArrayList(SingleObjectDeleter);
}
IList*
-FileListPresentationModel::GetAlbumContentInfoList(void)
+FileListPresentationModel::GetAlbumContentInfoList(void) const
{
AppLogDebug("ENTER");
IList* pContentList = new (std::nothrow) ArrayList(SingleObjectDeleter);
}
ContentInfo*
-FileListPresentationModel::GetContentInfo(int index)
+FileListPresentationModel::GetContentInfo(const int index) const
{
AppLogDebug("ENTER");
if (__pContentInfoList == null || __pContentInfoList->GetCount() == 0)
return pContentInfo;
}
-
-IList* FileListPresentationModel::GetContentIdListN(const IList& contentInfoList)
+IList* FileListPresentationModel::GetContentIdListAtIndexN(const IList& indexList) const
{
IList* pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
- int loopCount = contentInfoList.GetCount();
+ int loopCount = indexList.GetCount();
for (int i = 0; i < loopCount; ++i)
{
- const Integer* pIndex = static_cast<const Integer*>(contentInfoList.GetAt(i));
+ const Integer* pIndex = static_cast<const Integer*>(indexList.GetAt(i));
if ((pIndex != null) && (pIndex->ToInt())>=0 && __pContentInfoList->GetCount() > pIndex->ToInt())
{
}
int
-FileListPresentationModel::GetCurrentAlbumContentInfoCount(void)
+FileListPresentationModel::GetCurrentAlbumContentInfoCount(void) const
{
AppLogDebug("ENTER");
if (__pContentInfoList == null)
}
ContentId
-FileListPresentationModel::GetContentInfoIndex(int index)
+FileListPresentationModel::GetContentInfoIndex(const int index) const
{
AppLogDebug("ENTER");
if (__pContentInfoList == null || __pContentInfoList->GetCount() == 0)
}
String
-FileListPresentationModel::GetContentFilePath(int index)
+FileListPresentationModel::GetContentFilePath(const int index) const
{
AppLogDebug("ENTER index(%d)", index);
if (__pContentInfoList == null || __pContentInfoList->GetCount() == 0)
const ThumbnailInfo& thumbmailInfo)
{
AppLogDebug("ENTER");
- Bitmap* overlayedImage = null;
+ Bitmap* pOverlayedImage = null;
if (&thumbmailInfo != null)
{
Font durFont;
durFont.Construct(FONT_STYLE_PLAIN, FONT_SIZE_DURATION);
durCanvas.SetFont(durFont);
- durCanvas.DrawText(Point(W_DURATION_TEXT, H_DURATION_TEXT), CommonUtil::DurationToTimeString(duration), COLOR_TEXT_OUTLINE);
+ durCanvas.DrawText(Point(W_DURATION_TEXT, H_DURATION_TEXT),
+ CommonUtil::DurationToTimeString(duration), COLOR_TEXT_OUTLINE);
Bitmap durBitmap;
- durBitmap.Construct(durCanvas,durCanvas.GetBounds());
- mainCanvas.DrawBitmap(durRect,durBitmap);
+ durBitmap.Construct(durCanvas, durCanvas.GetBounds());
+ mainCanvas.DrawBitmap(durRect, durBitmap);
- overlayedImage = new (std::nothrow) Bitmap();
- overlayedImage->Construct(mainCanvas,mainCanvas.GetBounds());
+ pOverlayedImage = new (std::nothrow) Bitmap();
+ pOverlayedImage->Construct(mainCanvas, mainCanvas.GetBounds());
}
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
- return overlayedImage;
+ return pOverlayedImage;
}
Bitmap*
FileListPresentationModel::GetShadedBackgroundBitmapN(Bitmap& bgBitmap,
- const Bitmap& orgBitmap,
- const Rectangle& orgBitmapPosition)
+ const Bitmap& originalBitmap, const Rectangle& originalBitmapPosition) const
{
AppLogDebug("ENTER");
- if (&orgBitmap == null || &orgBitmap == null)
+ if (&originalBitmap == null || &originalBitmap == null)
{
AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
Canvas mainCanvas;
mainCanvas.Construct(bufferInfo);
mainCanvas.Clear();
- mainCanvas.DrawBitmap(orgBitmapPosition, orgBitmap);
+ mainCanvas.DrawBitmap(originalBitmapPosition, originalBitmap);
Bitmap* pMainImage = new (std::nothrow) Bitmap();
pMainImage->Construct(mainCanvas,mainCanvas.GetBounds());
{
pContentList->AddItems(*pIList);
}
- else
- {
- delete pIList;
- }
}
}
}
return __appControlSelectionMode;
}
+
+void
+FileListPresentationModel::SetUpdateProgressStatus(const bool status)
+{
+ AppLogDebug("ENTER status = %d",status);
+ __updateProgressStatus = status;
+ AppLogDebug("EXIT");
+}
+
+result
+FileListPresentationModel::RotateImage(int index, RotateMode rotateMode)
+{
+ result r = E_SUCCESS;
+ ImageBuffer rotateBuffer;
+ ImageBuffer* pRotatedBuffer = null;
+ ImageFormat imageFormat;
+ Image img;
+ String filePath = GetContentFilePath(index);
+ ContentType contentType = ContentManagerUtil::CheckContentType(filePath);
+ if (contentType == CONTENT_TYPE_VIDEO)
+ {
+ return r;
+ }
+
+ r = img.Construct();
+
+ if (r == E_SUCCESS)
+ {
+ imageFormat = img.GetImageFormat(filePath);
+ }
+
+ r = rotateBuffer.Construct(filePath);
+ if (r == E_SUCCESS)
+ {
+ if (rotateMode == ROTATE_MODE_RIGHT)
+ {
+ pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_90);
+ }
+ else
+ {
+ pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_270);
+ }
+ }
+
+ if (pRotatedBuffer != null)
+ {
+ r = pRotatedBuffer->EncodeToFile(filePath, imageFormat, true, 100);
+ delete pRotatedBuffer;
+ ContentManager::ScanFile(filePath);
+ }
+ return r;
+}
+
+void
+FileListPresentationModel::ClearImageCache(void)
+{
+ AppLogDebug("ENTER");
+
+ if(__pIconListViewCache != null)
+ {
+ bool clearThumbnailReq = true;
+ while(__pIconListViewCache->GetCount() != 0)
+ {
+ //This is to Clear the Thumbnail Reuqests only Once
+ if(clearThumbnailReq == true)
+ {
+ ClearThumbnailRequests();
+ clearThumbnailReq = false;
+ }
+ __pIconListViewCache->RemoveAt(0, true);
+ }
+ }
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
+{
+ AppLogDebug("ENTER");
+ if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED)
+ {
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}