//
// 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
//
FileListPresentationModel::~FileListPresentationModel(void)
{
AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ if (__pContentIdList)
+ {
+ __pContentIdList->RemoveAll(true);
+ delete __pContentIdList;
+ __pContentIdList = null;
+ }
+ delete __pContentManager;
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
if (__pIconListViewCache != null)
{
+ __pIconListViewCache->RemoveAll(true);
delete __pIconListViewCache;
+ __pIconListViewCache = null;
}
__pIconListViewCache = new (std::nothrow) ArrayList(SingleObjectDeleter);
__pIconListViewCache->Construct(SIZE_ICON_LIST_CACHE);
{
__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)));
if (__pIconListViewCache != null)
{
+ __pIconListViewCache->RemoveAll(true);
delete __pIconListViewCache;
__pIconListViewCache = null;
}
{
delete pThumbnailInfo;
}
+
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
return E_SUCCESS;
}
}
+ delete pEnum;
+
if (isMatch == false)
{
if (SIZE_ICON_LIST_CACHE <= __pIconListViewCache->GetCount())
AppLogDebug("EXIT update in application");
return;
}
+ //Clear the ImageCaches when content is updated like rotate.
+ if ( __pContentEventListener->GetCount() )
+ {
+ ClearImageCache();
+ }
+
IFormContentUpdateEventListener* pInterface = null;
if (__pContentEventListener == null)
{
File::Remove(destPath);
}
- if (pContentInfo->GetContentType() == CONTENT_TYPE_IMAGE)
+ r = File::Copy(filePath, destPath, false);
+
+ if ( r == E_STORAGE_FULL)
{
- r = File::Copy(filePath, destPath, false);
- if (r == E_SUCCESS)
- {
- if (r == E_SUCCESS)
- {
- ImageContentInfo contentInfo;
- r = contentInfo.Construct(&destPath);
- if (r == E_SUCCESS)
- {
- __pContentManager->CreateContent(contentInfo);
- r = GetLastResult();
- TryCatch(!IsFailed(r),,"CreateContent::the value is %s", GetErrorMessage(r));
- if (!isCopyOperation)
- {
- r = __pContentManager->DeleteContent(contentId);
- TryCatch(!IsFailed(r),,"DeleteContent::the value is %s", GetErrorMessage(r));
- }
- }
- }
- }
+ File::Remove(destPath);
}
- else if (pContentInfo->GetContentType() == CONTENT_TYPE_VIDEO)
+ ContentManager::ScanFile(destPath);
+
+ if ( r == E_SUCCESS )
{
- r = File::Copy(filePath, destPath, false);
- if (r == E_SUCCESS)
+ if ( isCopyOperation == false)
{
- VideoContentInfo contentInfo;
- r = contentInfo.Construct(&destPath);
- {
- __pContentManager->CreateContent(contentInfo);
- r = GetLastResult();
- TryCatch(!IsFailed(r),,"CreateContent::the value is %s", GetErrorMessage(r));
- if (!isCopyOperation)
- {
- r = __pContentManager->DeleteContent(contentId);
- TryCatch(!IsFailed(r),,"DeleteContent::the value is %s", GetErrorMessage(r));
- }
- }
+ File::Remove(filePath); // if Move Op remove original file
+ ContentManager::ScanFile(filePath);
}
}
- 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 String* pUriData, const Tizen::Base::String* pMimeType, const HashMap* pDataList,
{
AppLogDebug("ENTER");
AppControl* pAc = AppManager::FindAppControlN(providerId, operationId);
- __providerId.Clear();\r
- __providerId.Append(providerId);\r
-\r
+
+ ClearProviderId();
+ __providerId.Append(providerId);
+
if (pAc == null)
{
AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
}
__albumName = albumName;
- __providerId.Clear();\r
+ __providerId.Clear();
if (__pDirectoryList != null)
{
return r;
}
+void
+FileListPresentationModel::AddDirectoryIfNew(const String& dirName)
+{
+ bool isMatched = false;
+ int dirCount = __pDirectoryList->GetCount();
+ if (__albumName != ResourceManager::GetString(L"IDS_MEDIABR_BODY_ALL_ALBUMS"))//we are not in All albums
+ {
+ return;
+ }
+ for (int i = 0; i < dirCount ; ++i)
+ {
+ if (static_cast<String*>(__pDirectoryList->GetAt(i))->CompareTo(dirName) == 0)
+ {
+ isMatched = true;
+ break;
+ }
+ }
+ if (!isMatched)
+ {
+ String fullPath = Environment::GetMediaPath();
+ fullPath.Append(dirName);
+ __pDirectoryList->Add(new (std::nothrow) String(fullPath));
+
+ }
+}
+
+
+
result
FileListPresentationModel::RefreshContentInfoList(const ContentType contentType)
{
delete __pContentInfoList;
__pContentInfoList = null;
}
+
__pContentInfoList = GetContentInfoListInDirectoryListN(*__pDirectoryList, __albumContentType);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
ImageFormat imageFormat;
Image img;
String filePath = GetContentFilePath(index);
- r = img.Construct();
+ 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)
+ r = rotateBuffer.Construct(filePath);
+ if (r == E_SUCCESS)
{
- pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_90);
+ if (rotateMode == ROTATE_MODE_RIGHT)
+ {
+ pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_90);
+ }
+ else
+ {
+ pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_270);
+ }
}
- else
+
+ if (pRotatedBuffer != null)
{
- pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_270);
+ r = pRotatedBuffer->EncodeToFile(filePath, imageFormat, true, 100);
+ delete pRotatedBuffer;
+ ContentManager::ScanFile(filePath);
}
}
- if (pRotatedBuffer != null)
+ return r;
+}
+
+void
+FileListPresentationModel::ClearImageCache(void)
+{
+ AppLogDebug("ENTER");
+
+ if(__pIconListViewCache != null)
{
- r = pRotatedBuffer->EncodeToFile(filePath, imageFormat, true, 100);
- delete pRotatedBuffer;
+ 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);
+ }
}
-
- ContentManager::ScanFile(filePath);
- return r;
-}\r
-\r
-void\r
-FileListPresentationModel::ClearImageCache(void)\r
-{\r
- AppLogDebug("FileListPresentationModel::ClearImageCache ++");\r
-\r
- if(__pIconListViewCache != null && __providerId.Equals(APPCONTROL_PROVIDER_ID_IMAGE, false) == true)\r
- {\r
- bool clearThumbnailReq = true;\r
- while(__pIconListViewCache->GetCount() != 0)\r
- {\r
- //This is to Clear the Thumbnail Reuqests only Once\r
- if(clearThumbnailReq == true)\r
- {\r
- ClearThumbnailRequests();\r
- clearThumbnailReq = false;\r
- }\r
- __pIconListViewCache->RemoveAt(0, true);\r
- }\r
- }\r
- AppLogDebug("FileListPresentationModel::ClearImageCache --");\r
+ AppLogDebug("EXIT");
}
void