?? smbmusicapfilemgrlistcmd.cpp
字號:
}
// 晄姰慡僐儞僥儞僣忣曬庢摼 仸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 + -