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

📄 smbmusicapfilemgrlistcmd.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		}

	// 晄姰慡僐儞僥儞僣忣曬庢摼 仸IncompleteContents偼(ETrue:枹姰/EFalse:姰椆)
	if(IsIncompleteFile(&aMusicItem))
		{
		return ETrue;
		}

//DEL-START PTX824	
	//拝怣愝掕晄壜偱偁傟偽	
//	if(!(CheckPlayableRingingContent(aMusicItem)))
//		{
//		return ETrue;
//		}
//DEL-END PTX824

	//僼儖妝嬋偲偟偰嵞惗晄壜偱偁傟偽	
	if(!(CheckPlayableContent(aMusicItem)))
		{
		return ETrue;
		}
		
	return EFalse;
	}
	
/*
 *  MMInformation傪庢摼嵪傒偐斲偐
 * 
 * @param	側偟
 * @retval		ETrue	MMInformation傪庢摼嵪傒
 * @retval		EFalse	MMInformation傪枹庢摼
 */
TBool CSmbMusicAPFileMgrListCmd::IsMMInformationArrived()
	{
	TBool isRelativeTime = EFalse;
	CRelativeTime* relativeTime = NULL;
	TRAPD(error, relativeTime = CRelativeTime::NewL());
	if(KErrNone != error)
		{
		delete relativeTime;
		return EFalse;
		}
	
	isRelativeTime = relativeTime->IsMMInfoArrived();
	delete relativeTime;

	return isRelativeTime;
	}
/*
 *  嵞惗惂尷忣曬乮DRM/僒僽僗僋儕僾僔儑儞/嵞惗惂尷柍岠乯偵娭偡傞敿婸搙敾掕
 * 
 * @param[in]		aMusicItem		儈儏乕僕僢僋傾僀僥儉
 * @retval		ETrue	敿婸搙
 * @retval		EFalse	婸搙
 */
TBool CSmbMusicAPFileMgrListCmd::IsLimitedContentsRestricted(const CSmbMusicAPFileSystemComMusicItem& aMusicItem)
	{
	//嵞惗惂尷庬暿庢摼
	TBool isRestricted = EFalse;
#ifndef __SMBMUSICAPFILESELECT_ENABLE_PTX810__
	TSmbMusicMWLibLimitation limitation = ESmbMusicMWLibLimitNone;
	TRAPD(error, limitation = aMusicItem.SongLimitationInfoL());
	if(KErrNone != error)
		{
		OUTPUT_LOG1_MUST("LEAVE:aMusicItem.SongLimitationInfoL()::%d", error);
		return isRestricted;
		}

	switch(limitation)
		{
	//捠忢偺DRM
	case ESmbMusicMWLibLimitCount:		///< 夞悢惂尷
	case ESmbMusicMWLibLimitPeriod:		///< 婜尷惂尷
	case ESmbMusicMWLibLimitSpan:		///< 婜娫惂尷
		isRestricted = ETrue;
		break;
	//僒僽僗僋儕僾僔儑儞
	case ESmbMusicMWLibLimitSubscription:		///< 僒僽僗僋儕僾僔儑儞
		isRestricted = !IsMMInformationArrived() ? ETrue : EFalse;
		break;
	//嵞惗惂尷柍岠
	case ESmbMusicMWLibLimitInvalidation:		///< 嵞惗惂尷柍岠
		isRestricted = ETrue;
		break;
	case ESmbMusicMWLibLimitNone:		///< 嵞惗惂尷側偟
		isRestricted = EFalse;
		break;
	//憐掕奜
	default:
		isRestricted = ETrue;
		break;
		}
#endif
	return isRestricted;
	}


#endif													// __PTX825MUSICAP__ katsu 仾

/**
 * UIM幚峴惂尷拞僼傽僀儖偐偳偆偐偺敾掕傪峴偆丏
 *
 * 嵞惗張棟傗徻嵶忣曬昞帵側偳偺桳岠/柍岠敾掕偵梡偄傞丏
 * UI巇條彂偱偼丆乽UIM幚峴惂尷(晅偒)僼傽僀儖乿偑嵞惗張棟傗徻嵶忣曬昞帵側偳傪乽偝偣側偄乿僼傽僀儖偲偟偰婯掕偝傟偰偄傞丏
 * 偦偺偨傔丆埲壓偺敾掕忦審傪梡偄傞偙偲丏
 *  - 杮娭悢偑ETrue傪曉偡応崌: 乽UIM幚峴惂尷(晅偒)僼傽僀儖乿偲偟側偄丏
 *  - 杮娭悢偑ETrue傪曉偡応崌: 乽UIM幚峴惂尷(晅偒)僼傽僀儖乿偲偡傞丏
 *
 * @param[in]		aMusicItem		儈儏乕僕僢僋傾僀僥儉
 * @retval			ETrue			UIM揔崌僼傽僀儖/UIM忣曬側偟
 * @retval			EFalse			UIM揔崌僼傽僀儖偱側偄/UIM枹憓擖/晄柧(僄儔乕)
 */
TBool CSmbMusicAPFileMgrListCmd::IsUimConformityFile(CSmbMusicAPFileSystemComMusicItem* aMusicItem)
	{
	TInt result = KErrNone;
	
	if (aMusicItem != NULL)
		{
		TSmbMusicMWLibUimConformity conformity;
		result = aMusicItem->GetUimConformation(conformity);

		if (result == KErrNone)
			{
			if (conformity == ESmbMusicMWLibConformity
//TRK5292 7/28 start
			    || conformity == ESmbMusicMWLibNotUIMInfo)
//TRK5292 7/28 end
				{
				OUTPUT_LOG1_MUST("IsUimConformityFile(): ETrue (conformity: %d)", conformity);
				return ETrue;		// UIM揔崌僼傽僀儖
				}
			else
				{
				OUTPUT_LOG1_MUST("IsUimConformityFile(): EFalse (conformity: %d)", conformity);
				return EFalse;		// UIM揔崌僼傽僀儖偱側偄
				}
			}
		}
	
	OUTPUT_LOG2_ERROR("CSmbMusicAPFileSystemComMusicItem::GetUimConformation(): %d (aMusicItem: 0x%x)", result, aMusicItem);
	return EFalse;					// 晄柧
	}


/**
 * @param[in]		aMusicItem		儈儏乕僕僢僋傾僀僥儉
 * @retval			ETrue			晄姰慡僐儞僥儞僣
 * @retval			EFalse			晄姰慡僐儞僥儞僣偱側偄丆傕偟偔偼晄柧
 */
TBool CSmbMusicAPFileMgrListCmd::IsIncompleteFile(CSmbMusicAPFileSystemComMusicItem* aMusicItem)
	{
	TInt result = KErrNone;

	if (aMusicItem != NULL)
		{
		TInt incompleteFlag;

		result = aMusicItem->GetIncompleteContents(incompleteFlag);
		if (result == KErrNone)
			{
			if (incompleteFlag == ESmbMusicMWLibBoolTrue)
				{
				OUTPUT_LOG1_MUST("IsIncompleteFile(): ETrue (incompleteFlag: %d)", incompleteFlag);
				return ETrue;		// 晄姰慡僐儞僥儞僣偲妋掕
				}
			else
				{
				OUTPUT_LOG1_MUST("IsIncompleteFile(): EFalse (incompleteFlag: %d)", incompleteFlag);
				return EFalse;		// 晄姰慡僐儞僥儞僣偱側偄
				}
			}
		}
	
	OUTPUT_LOG2_ERROR("CSmbMusicAPFileSystemComMusicItem::GetIncompleteContents(): %d (aMusicItem: 0x%x)", result, aMusicItem);
	return EFalse;					// 晄柧
	}

//ADD-START PTX824
/**
 * @retval			ETrue			嵞惗惂尷柍岠
 * @retval			EFalse			嵞惗惂尷柍岠偱偼側偄
 */
TBool CSmbMusicAPFileMgrListCmd::IsLimitInvalidationFile(CSmbMusicAPFileSystemComMusicItem* aMusicItem)
	{
	TInt result = KErrNone;

	if (aMusicItem != NULL)
		{
		TSmbMusicMWLibLimitation limitation = ESmbMusicMWLibLimitNone;

		TRAP(result, limitation = aMusicItem->SongLimitationInfoL());
		if (result == KErrNone)
			{
			if (ESmbMusicMWLibLimitInvalidation == limitation)
				{
				OUTPUT_LOG_MUST("SongLimitationInfoL(): ETrue");
				return ETrue;		// 嵞惗惂尷柍岠僐儞僥儞僣
				}
			else
				{
				OUTPUT_LOG_MUST("SongLimitationInfoL(): EFalse");
				return EFalse;
				}
			}
		else
			{
			OUTPUT_LOG1_MUST("ERROR::SongLimitationInfoL():%d",result);
			return EFalse;
			}
		}
	return EFalse;
	}
//ADD-END PTX824
//CQ-TRK12911 ADD-START PTX824
/**
 * @retval			ETrue			嵞惗惂尷晅
 * @retval			EFalse			嵞惗惂尷偱偼側偄
 */
TBool CSmbMusicAPFileMgrListCmd::IsLimit(CSmbMusicAPFileSystemComMusicItem* aMusicItem)
	{
	if (NULL == aMusicItem)
		{
		return EFalse;
		}
		
	TSmbMusicMWLibLimitation limitation = ESmbMusicMWLibLimitNone;

	TRAPD(result, limitation = aMusicItem->SongLimitationInfoL());
	if (KErrNone != result)
		{
		OUTPUT_LOG1_MUST("ERROR::SongLimitationInfoL():%d",result);
		return EFalse;
		}
	
	switch(limitation)
		{
	case ESmbMusicMWLibLimitNone:
		return EFalse;
	default:
		return ETrue;
		}
	}
//CQ-TRK12911 ADD-END PTX824

/**
 * @param[in]		aReadyFocusedItem	僼僅乕僇僗埵抲偺傾僀僥儉弨旛姰椆僼儔僌 (ETrue: 弨旛姰椆 / EFalse: 弨旛枹姰)
 */
void CSmbMusicAPFileMgrListCmd::SetReadyFocusedItem(TBool aReadyFocusedItem)
	{
	iReadyFocusedItem = aReadyFocusedItem;
	}


/**
 * @param[in]		aMusicItem		儈儏乕僕僢僋傾僀僥儉
 * @param[in]		aDeleteSong		ETrue: 嵞惗惂尷偵傛傞嵞惗晄壜僼傽僀儖傪嶍彍偝偣傞 / EFalse: 嶍彍偝偣側偄
 * @note			杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
 */
void CSmbMusicAPFileMgrListCmd::PlaySongL(CSmbMusicAPFileSystemComMusicItem& aMusicItem, TBool aDeleteSong)
	{
	// 嬋ID偺庢摼	
	TUint64 songId;
	TInt result = aMusicItem.GetSongId(songId);
	if (result != KErrNone)
		{
		OUTPUT_LOG1_ERROR("CSmbMusicAPFileSystemComMusicItem::GetSongId(): %d", result);

		// 儕乕僽張棟
		User::Leave(result);
		return;
		}

	// 晄姰慡僐儞僥儞僣偺忣曬庢摼
	TInt incompleteFlag;
	aMusicItem.GetIncompleteContents(incompleteFlag);
//DELETE Start PTX825 CQ-TRK D_D_82400015243
//#ifdef __PTX825MUSICAP__							// __PTX825MUSICAP__ 伀
//	HandleViewCommandL(ECmdReset);
//#endif												// __PTX825MUSICAP__  仾
//DELETE Start PTX825 CQ-TRK D_D_82400015243
	if (incompleteFlag != ESmbMusicMWLibBoolTrue)	// 晄姰慡僐儞僥儞僣偱側偄応崌
		{
		result = iAppUi.StartMusicAPSinglePlayerApp(songId, aDeleteSong, iView);
		if (result == KErrNone)
			{
			OUTPUT_LOG("CSmbMusicAPFileMgrAppUi::StartMusicAPSinglePlayerApp()");
			}
		else			
			{
			OUTPUT_LOG1_ERROR("CSmbMusicAPFileMgrAppUi::StartMusicAPSinglePlayerApp(): %d", result);
			}
		}
	else											// 晄姰慡僐儞僥儞僣偱偁傞応崌
		{
//TRK7470 8/31 start
		// 嵞惗惂尷忣曬偺庢摼(旕摨婜)傪埶棅偡傞
		CSmbMusicAPFileSystemComMusicItem* musicItem = iListBoxModel->GetCurrentItemL();
//MOD-START PTX824

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -