📄 smbmusicapfilemgractioncontroller.cpp
字号:
*/
TInt CSmbMusicAPFileMgrActionController::RequestLoadCpToneInfo(CSmbMusicMWLibRingingInfo* aRingingInfo, TInt aStartIndex, TInt aCount)
{
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestLoadCpToneInfo;
// 張棟懳徾偺僼傽僀儖傪搊榐偡傞(強桳尃偼曐帩偟側偄)
iRingingInfoOwnedExternally = aRingingInfo;
// RunL偺幚懺傪RunGetImageInfoL偵偡傞
iRunImplL = &RunRequestLoadCpToneInfoL;
// CP巜掕愗傝弌偟忣曬儘乕僪傪埶棅偡傞
TInt result = aRingingInfo->LoadCpToneInfo(aStartIndex, aCount, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
//儘僌
OUTPUT_LOG1_ERROR("ERROR::aRingingInfo->LoadCpToneInfo():%d", result);
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
}
/**
* @param[in] aTargetFile 庢摼懳徾偺僼傽僀儖
* @param[out] aSongTitle 嬋柤
* @retval KErrNone 惓忢廔椆
* @retval KErrNotReady 嬻偺傾僀僥儉
* @panic EActionControllerBusy CSmbMusicAPFileSelectActionController::iActionStatus偑 CSmbMusicAPFileSelectActionController::EIdle埲奜偺応崌
*/
TInt CSmbMusicAPFileMgrActionController::RequestSongTitle(CSmbMusicAPFileSystemComMusicItem& aTargetFile, TDes& aSongTitle)
{
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestSongTitle;
// 張棟懳徾偺僼傽僀儖傪搊榐偡傞(強桳尃偼曐帩偟側偄)
iMusicItemOwnedExternally = &aTargetFile;
// RunL偺幚懺傪RunRequestSongTitleL偵偡傞
iRunImplL = &RunRequestSongTitleL;
// 嵺惂尷忬懺庢摼傪埶棅偡傞
TInt result = aTargetFile.GetSongTitle(aSongTitle, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
//儘僌
OUTPUT_LOG1_ERROR("ERROR::aTargetFile.GetSongTitle():%d", result);
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
}
#endif // __PTX825MUSICAP__ 825_katsu 仾
/**
* @param[in] aTargetItem 張棟懳徾偺傾僀僥儉
* @param[in] aListBoxModel 張棟懳徾偺傾僀僥儉偑偁傞儕僗僩儃僢僋僗儌僨儖
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
*/
void CSmbMusicAPFileMgrActionController::SetTargetItem(CSmbMusicAPFileSystemComMusicItem* aTargetItem,
MSmbMusicAPFileSystemComListBoxModel* aListBoxModel)
{
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
iTargetItem = aTargetItem;
iListBoxModel = aListBoxModel;
}
/**
* @param[in] aTargetItemArray 張棟懳徾偺傾僀僥儉
* @param[in] aListBoxModel 張棟懳徾偺傾僀僥儉偑偁傞儕僗僩儃僢僋僗儌僨儖
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
*/
void CSmbMusicAPFileMgrActionController::SetTargetItemSelections(RPointerArray<CSmbMusicAPFileSystemComMusicItem>* aTargetItemArray,
MSmbMusicAPFileSystemComListBoxModel* aListBoxModel)
{
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
iTargetItemArray = aTargetItemArray;
iListBoxModel = aListBoxModel;
}
/**
* @return DoDeleteFilesL()偺栠傝抣 (僼傽僀儖嶍彍偺応崌)
* @return DoMoveFilesL()偺栠傝抣 (僼傽僀儖堏摦偺応崌)
* @return DoDeleteFoldersL()偺栠傝抣 (僼僅儖僟嶍彍偺応崌)
* @note 摨婜張棟偺栠傝抣傪曉偡丏偦偺偨傔丆KErrNone埲奜偺応崌偼丆旕摨婜張棟傪奐巒偟側偄丏
* @panic EInvalidStatus CSmbMusicAPFileMgrActionController::iActionStatus偑憐掕奜偺応崌
*/
TInt CSmbMusicAPFileMgrActionController::StartActionL(void)
{
TInt resourceId = 0;
//TRK4943 7/27 start
TBool disableClearKey = ETrue;
//TRK4943 7/27 end
TUint fileSize = 0;
TUint transferBps = 0;
TInt result = KErrNone;
//TRK7331, TRK7356 9/6 start
// 嶍彍/堏摦慜偺僇儗儞僩儕僗僩偺傾僀僥儉悢傪庢摼偡傞丏(僉儍儞僙儖帪偵張棟嵪傾僀僥儉悢傪庢摼偡傞偨傔)
iListItemCount = iListBoxModel->Count();
OUTPUT_LOG1_MUST("MSmbMusicAPFileSystemComListBoxModel::Count(): %d", iListItemCount);
//TRK7331, TRK7356 9/6 end
switch (iActionStatus)
{
// 僼傽僀儖嶍彍偺応崌
case EDeleteOneFile:
case EDeleteSelectedFiles:
case ECheckSettingToDeleteAllFiles:
case EDeleteAllFiles:
//儗僕儏乕儉忣曬攋婞
SmbMusicAPFileMgrUtility::DeleteResumeInfoL(CAfEnv::Static()->PropAgent());
result = DoDeleteFilesL();
if (result == KErrNone) // 旕摨婜張棟偑奐巒偝傟偨応崌
{
resourceId = (iActionStatus == EDeleteOneFile) ? R_PROGRESS_DIALOG_MP04P001_SINGULAR : R_PROGRESS_DIALOG_MP04P001_PLURAL;
//TRK4943 7/27 start
disableClearKey = (iActionStatus == EDeleteOneFile) ? ETrue : EFalse;
//TRK4943 7/27 end
}
else // 摨婜張棟偵幐攕偟偨応崌
{
resourceId = R_WARNING_DIALOG_MP04P015;
}
break;
// 僼傽僀儖堏摦偺応崌
case EMoveOneFile:
case EMoveSelectedFiles:
case EMoveAllFiles:
result = DoMoveFilesL();
if (result == KErrNone) // 旕摨婜張棟偑奐巒偝傟偨応崌
{
resourceId = (iActionStatus == EMoveOneFile) ? R_PROGRESS_DIALOG_MP03P005_SINGULAR : R_PROGRESS_DIALOG_MP03P005_PLURAL;
//TRK4943 7/27 start
disableClearKey = (iActionStatus == EMoveOneFile) ? ETrue : EFalse;
//TRK4943 7/27 end
}
else // 摨婜張棟偵幐攕偟偨応崌
{
resourceId = R_WARNING_DIALOG_MP03P029;
}
break;
// 僼傽僀儖堏摦(miniSD傊)偺応崌
case ECheckPreinstallToMoveOneFileToSd:
result = DoMoveFilesL();
if (result == KErrNone) // 旕摨婜張棟偑奐巒偝傟偨応崌
{
resourceId = R_PROGRESS_DIALOG_SD01P159;
disableClearKey = ETrue;
}
else // 摨婜張棟偵幐攕偟偨応崌
{
resourceId = R_WARNING_DIALOG_SD01P130;
}
break;
//TRK7471 8/28 start
// 僼傽僀儖堏摦(杮懱傊)偺応崌
case EMoveOneFileToDbx:
//ADD-START PTX824
// 僼傽僀儖堏摦(杮懱傊)乮娗棟梡DB忋彂偒乯偺応崌
case EMoveOneFileToDbxForcible:
//ADD-END PTX824
result = DoMoveFilesL();
if (result == KErrNone) // 旕摨婜張棟偑奐巒偝傟偨応崌
{
resourceId = R_PROGRESS_DIALOG_MP03P043;
disableClearKey = ETrue;
TRAPD(error, fileSize = iListBoxModel->GetCurrentItemFileSizeL());
if (error)
{
fileSize = 0;
}
transferBps = KSmbMusicAPFileMgrBpsMoveSdToDbx;
}
else // 摨婜張棟偵幐攕偟偨応崌
{
resourceId = R_WARNING_DIALOG_MP03P029;
}
break;
//TRK7471 8/28 start
// 僼僅儖僟嶍彍偺応崌
case EDeleteOneFolder:
case EDeleteSelectedFolders:
case EDeleteAllFolders:
//儗僕儏乕儉忣曬攋婞
SmbMusicAPFileMgrUtility::DeleteResumeInfoL(CAfEnv::Static()->PropAgent());
result = DoDeleteFoldersL();
if (result == KErrNone) // 旕摨婜張棟偑奐巒偝傟偨応崌
{
resourceId = (iActionStatus == EDeleteOneFolder) ? R_PROGRESS_DIALOG_MP04P001_SINGULAR : R_PROGRESS_DIALOG_MP04P001_PLURAL;
//TRK4943 7/27 start
disableClearKey = (iActionStatus == EDeleteOneFolder) ? ETrue : EFalse;
//TRK4943 7/27 end
}
else // 摨婜張棟偵幐攕偟偨応崌
{
resourceId = R_WARNING_DIALOG_MP04P015;
}
break;
default:
__ASSERT_ALWAYS(EFalse, PANIC(EInvalidStatus));
break;
}
if (result == KErrNone) // 旕摨婜張棟偑奐巒偝傟偨応崌
{
//TRK4943 7/27 start
// iObserver->RequestProgressDialogL(resourceId);
iObserver->RequestProgressDialogL(resourceId, disableClearKey);
//TRK4943 7/27 end
UpdateProgress();
if (fileSize != 0 && transferBps != 0)
{
iObserver->StartUpdatingProgress(fileSize, transferBps);
}
}
else // 摨婜張棟偵幐攕偟偨応崌
{
iObserver->RequestWarningDialogL(resourceId);
}
return result;
}
/**
* @return CSmbMusicAPFileSystemComEngine::DeleteOneMusicItemL()偺栠傝抣 (1審嶍彍偺応崌)
* @return CSmbMusicAPFileSystemComEngine::DeleteOneMusicItemL()偺栠傝抣 (慖戰嶍彍偺応崌)
* @return CSmbMusicAPFileSystemComEngine::IsSettingListInfoL()偺栠傝抣 (僼僅儖僟撪嶍彍偱懠婡擻愝掕桳柍傪妋擣偟偰偄側偄応崌)
* @return CSmbMusicAPFileSystemComEngine::DeleteAllMusicItemL()偺栠傝抣 (僼僅儖僟撪嶍彍偱懠婡擻愝掕桳柍傪妋擣嵪傒偺応崌)
* @panic EInvalidStatus CSmbMusicAPFileMgrActionController::iActionStatus偑憐掕奜偺応崌
*/
TInt CSmbMusicAPFileMgrActionController::DoDeleteFilesL(void)
{
OUTPUT_FUNC_MUST;
TInt result = KErrArgument;
switch (iActionStatus)
{
// 1審嶍彍偺応崌
case EDeleteOneFile:
result = iEngine->DeleteOneMusicItemL(*iTargetItem, iStatus);
if (result != KErrNone)
{
OUTPUT_LOG1_ERROR("CSmbMusicAPFileSystemComEngine::DeleteOneMusicItemL(): %d", result);
}
break;
// 慖戰嶍彍偺応崌
case EDeleteSelectedFiles:
// 摨婜張棟偺墳摎偑KErrNone偵側傞傑偱孞傝曉偡丏
// 慡偰偺傾僀僥儉偺張棟傪廔偊偨応崌丆嵟屻偺傾僀僥儉偺摨婜張棟偺栠傝抣傪曉偡丏
while (iProcessedItemCount < iTotalItemCount)
{
result = iEngine->DeleteOneMusicItemL(*(*iTargetItemArray)[iProcessedItemCount], iStatus);
if (result == KErrNone)
{
break;
}
else
{
// 摨婜張棟偱NG偺応崌丆張棟晄壜傾僀僥儉偲偟偰僇僂儞僩偡傞丏
iProcessedItemCount++;
iProcessFailedItemCount++;
OUTPUT_LOG2_ERROR("CSmbMusicAPFileSystemComEngine::DeleteOneMusicItemL(): %d (iProcessedItemCount: %d)",
result, iProcessedItemCount);
// 師偺傾僀僥儉傪張棟偡傞
continue;
}
}
break;
// 僼僅儖僟撪嶍彍偱懠婡擻愝掕桳柍傪妋擣偟偰偄側偄応崌
case ECheckSettingToDeleteAllFiles:
result = iEngine->IsSettingListInfoL(*iTargetItem, iSettingFlag, iStatus);
if (result != KErrNone)
{
OUTPUT_LOG1_ERROR("CSmbMusicAPFileSystemComEngine::IsSettingListInfoL(): %d", result);
}
break;
// 僼僅儖僟撪嶍彍偱懠婡擻愝掕桳
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -