⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapfilemgractioncontroller.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
 */
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 + -