📄 smbmusicapfilemgrpartitioncmd.cpp
字号:
}
//愗傝弌偟拞抐偟偨偙偲傪UI偵捠抦偡傞
TRAPD(err4, iView.HandleExtractEventL(ESmbMusicAPFileMgrExtractErr, NULL));
if(KErrNone != err4)
{
User::Leave(err4);
}
break;
default:
TRAPD(err5, ProcessExtractStopL());
if(KErrNone != err5)
{
User::Leave(err5);
}
//愗傝弌偟拞抐偟偨偙偲傪UI偵捠抦偡傞
TRAPD(err6, iView.HandleExtractEventL(ESmbMusicAPFileMgrExtractErr, NULL));
if(KErrNone != err6)
{
User::Leave(err6);
}
break;
}
}*/
//DEL-END PTX824
//DEL-START PTX824
/**
* 儕僜乕僗奐曻
*/
/*void CSmbMusicAPFileMgrPartitionCmd::ReleaseMMServerResourceL(void)
{
// 儕僜乕僗巊梡忬懺傪僠僃僢僋偡傞
if (ESmbMusicAPFileMgrRscCanUse == iRscUseState || ESmbMusicAPFileMgrRscInUse == iRscUseState)
{
// 儊儌儕巊梡尃傪奐曻偡傞
CAfEnv::Static()->LauncherSession().ReserveMemory(-1 * GetExtractWorkSize());
// 奐曻儕僜乕僗儕僗僩傪惗惉偡傞
CArrayFixFlat<TSmbRscMgrRsc>* releaseRscList = new (ELeave) CArrayFixFlat<TSmbRscMgrRsc>(KSmbRscMgrAppRscListMax);
CleanupStack::PushL(releaseRscList);
// 奐曻儕僜乕僗儕僗僩偵儕僜乕僗俬俢傪愝掕偡傞
for (TInt i = 0; i < iRscResultList->Count(); i ++)
{
releaseRscList->AppendL(iRscResultList->At(i).iRscId);
}
// 儕僜乕僗嫞崌娗棟偵儕僜乕僗奐曻捠抦偡傞
iRscMgrRscClient->ReleaseResourceNotifyL(releaseRscList);
// 奐曻儕僜乕僗儕僗僩傪嶍彍偡傞
iRscResultList->Reset();
CleanupStack::PopAndDestroy(); // releaseRscList
// 儕僜乕僗巊梡忬懺傪弶婜壔偡傞
iRscUseState = ESmbMusicAPFileMgrRscUseNone;
}
// 儕僜乕僗儕僗僩傪嶍彍偡傞
if (iRscResultList)
{
delete iRscResultList;
iRscResultList = NULL;
}
// 儕僜乕僗娗棟僋儔僀傾儞僩傪嶍彍偡傞
if (iRscMgrRscClient)
{
delete iRscMgrRscClient;
iRscMgrRscClient = NULL;
}
}*/
//DEL-END PTX824
/**
* CP巜掕愗傝弌偟忣曬夝愅
*
* @param丂側偟
*/
void CSmbMusicAPFileMgrPartitionCmd::HandleCreateCpToneInfoL()
{
// CP巜掕愗傝弌偟忣曬奿擺悢庢摼
TInt entrycount = iRingingInfo->EntryCount();
// 嬫娫忣曬偑暋悢娷傑傟傞応崌偼丄嵟戝10審傑偱昞帵傪峴偆
TInt cpCount = Min(ECpToneInfoEntryMax, entrycount);
// 儕僗僩昞帵梡偺傾僀僥儉攝楍傪惗惉
CDesCArrayFlat* itemArray = new (ELeave) CDesCArrayFlat(cpCount+1);
CleanupStack::PushL(itemArray);
// 帪崗暥帤楍僼僅乕儅僢僩撉崬傒
TBuf<30> timeFormat;
CCoeEnv::Static()->ReadResource(timeFormat, R_SMB_AF_STR_ETC683);
// 傾僀僥儉暥帤楍僼僅乕儅僢僩撉崬傒
TBuf<30> itemFormat;
CCoeEnv::Static()->ReadResource(itemFormat, R_PARTITION_ITEM_FORMAT);
for(TInt index = 0; index < cpCount; index++)
{
const TSmbMusicMWLibCPRingingInfo* cpInfo = iRingingInfo->CpToneInfo(index);
if(NULL==cpInfo)
{
continue;
}
// 傾僀僥儉暥帤楍傪惗惉偡傞
TBuf<ECpToneInfoItemTextMaxLength> itemText;
if ( ! CreateCPItemTextL(cpInfo, itemFormat, timeFormat, itemText))
{
continue;
}
// 傾僀僥儉攝楍偵傾僀僥儉暥帤楍傪捛壛偡傞
itemArray->AppendL(itemText);
}
// Item偵Append偝傟側偐偭偨応崌偼丄List偵僙僢僩偟側偄.
if (0==itemArray->Count())
{
delete itemArray;
return;
}
// List偵傾僀僥儉傪愝掕
iView.ReplaceListBoxItemsL(itemArray, 0);
CleanupStack::PopAndDestroy(); // itemArray;
// 傾僀僥儉偺桳岠/柍岠傪愝掕
iAppUi.HandleCommandL(ECmdSetDisableCpList);
}
/**
* 嬋柤庢摼梫媮
*/
void CSmbMusicAPFileMgrPartitionCmd::HandleGetSongTitleL(void)
{
iView.DisableKeyEvent(); // 僉乕僀儀儞僩傪梷惂偡傞
// 嬋柤庢摼梫媮偡傞
TInt result = iController.RequestSongTitle(*iMusicItem, iSongTitle);
if (result == KErrNone)
{
}
else
{
//儘僌
OUTPUT_LOG1_ERROR("ERROR::iController.RequestSongTitle():%d", result);
// 僄儔乕張棟
iSongTitle = KNullDesC;
// 堷偒懕偒奼挘HTTP僿僢僟忣曬傪傪撉傒弌偡
iView.EnableKeyEvent();
// iAppUi.HandleCommandL(ECmdSetExtensionHeaderInfo);
}
}
/**
* 嬋柤庢摼梫媮姰椆捠抦
*
* @param[in] aResult 張棟寢壥
*/
void CSmbMusicAPFileMgrPartitionCmd::NotifyRequestSongTitleL(TInt aResult)
{
// HandleGetSongTitleL()屇傃弌偟偺嵺偵峴偭偨僉乕僀儀儞僩梷惂傪夝彍偡傞
iView.EnableKeyEvent();
if (aResult == KErrNone)
{
}
else
{
//儘僌
OUTPUT_LOG1_ERROR("ERROR::NotifyRequestSongTitleL():%d", aResult);
iSongTitle = KNullDesC;
}
// 堷偒懕偒奼挘HTTP僿僢僟忣曬傪傪撉傒弌偡
// iAppUi.HandleCommandL(ECmdSetExtensionHeaderInfo);
}
//DEL-START PTX824
/**
* 奼挘HTTP僿僢僟忣曬庢摼梫媮
*/
/*void CSmbMusicAPFileMgrPartitionCmd::HandleGetExtensionHeaderInfo(void)
{
iView.DisableKeyEvent(); // 僉乕僀儀儞僩傪梷惂偡傞
// 奼挘HTTP僿僢僟庢摼梫媮偡傞
TInt result = iController.RequestExtensionHeaderInfo(*iMusicItem, iExtensionHeaderInfo);
if (result == KErrNone)
{
}
else
{
// 僄儔乕張棟
// 儘僌
OUTPUT_LOG1_ERROR("ERROR::iController.RequestExtensionHeaderInfo():%d", result);
iView.EnableKeyEvent();
// 僨乕僞BOX僼傽僀儖曐懚傾僾儕傪婲摦偣偢丄
// 曐懚晄壜偺僟僀傾儘僌傪昞帵偟丄廔椆
TRAPD(err1, iView.HandleExtractEventL(ESmbMusicAPFileMgrErr, &KSmbMusicAPFileMgrTempFilePath));
}
}*/
//DEL-END PTX824
//DEL-START PTX824
/**
* 奼挘HTTP僿僢僟忣曬庢摼梫媮姰椆捠抦
*
* @param[in] aResult 張棟寢壥
*/
/*void CSmbMusicAPFileMgrPartitionCmd::NotifyRequestRequestExtensionHeaderInfoL(TInt aResult)
{
// HandleGetSongTitleL()屇傃弌偟偺嵺偵峴偭偨僉乕僀儀儞僩梷惂傪夝彍偡傞
iView.EnableKeyEvent();
if (aResult == KErrNone)
{
// 僨乕僞BOX僼傽僀儖曐懚傾僾儕婲摦桳岠
iView.SetNeedSaveApp(ETrue);
// 僼傽僀儖曐懚(僼僅傾僌儔僂儞僪帪偺傒)
// 僶僢僋僌儔僂儞僪帪偼丄void CSmbMusicAPFileMgrAppUi::HandleForegroundEventL()偐傜偺
// 暅婣帪偵丄婲摦
if(iAppUi.IsForeground())
{
iAppUi.HandleCommandL(ECmdDbxFolderSelect);
iView.SetNeedSaveApp(EFalse);
}
}
else
{
// 僄儔乕張棟
// 儘僌
OUTPUT_LOG1_ERROR("ERROR::NotifyRequestRequestExtensionHeaderInfoL():%d", aResult);
// 僨乕僞BOX僼傽僀儖曐懚傾僾儕傪婲摦偣偢丄
// 曐懚晄壜偺僟僀傾儘僌傪昞帵偟丄廔椆
TRAPD(err1, iView.HandleExtractEventL(ESmbMusicAPFileMgrErr, &KSmbMusicAPFileMgrTempFilePath));
}
}*/
//DEL-END PTX824
//DEL-START PTX824
/**
* @leave KErrNotReady 嬻偺傾僀僥儉
* @leave KErrNotFound 暿僋儔僀傾儞僩偵傛傝僼傽僀儖偑嶍彍偝傟偰偄傞
* @panic EInvalidStatus CSmbMusicAPFileMgrFileCmd::iListBoxModel偑NULL偺応崌
* @note 杮儊僜僢僪傪屇傃弌偡帪揰偱偼丆僼僅乕僇僗偺摉偨偭偰偄傞傾僀僥儉偼弨旛姰椆偱偁傞偙偲丏
*/
/*void CSmbMusicAPFileMgrPartitionCmd::HandleDbxFolderSelectL(void)
{
// 僨乕僞BOX僼傽僀儖曐懚傾僾儕傪婲摦偡傞
TBuf<KSmbMusicAPFileMgrRegistTitleSize> registtitle;
// 娗棟梡僞僀僩儖傪庢摼
TBool bRet = CreateRegistTitleL(registtitle);
TInt result = iAppUi.StartDbxFolderSelectAppL(KSmbMusicAPFileMgrTempFilePath, iView, iExtensionHeaderInfo, registtitle);
if (result == KErrNone)
{
}
else
{
// 儘僌
OUTPUT_LOG1_ERROR("ERROR::iAppUi.StartDbxFolderSelectAppL():%d", result);
// 曐懚晄壜偺僟僀傾儘僌傪昞帵偟丄廔椆
TRAPD(err1, iView.HandleExtractEventL(ESmbMusicAPFileMgrErr, &KSmbMusicAPFileMgrTempFilePath));
}
}*/
//DEL-END PTX824
/**
* 愗傝弌偟嬫娫偺堦嬋嵞惗
* 帠慜偵SetItemIndex()偱愗傝弌偟愝掕偑慖戰偝傟偰偄傞偙偲偑慜採
*/
void CSmbMusicAPFileMgrPartitionCmd::HandlePlaySongL(void)
{
// 嬋ID偺庢摼
TUint64 songId;
TInt result = iMusicItem->GetSongId(songId);
if (result != KErrNone)
{
//儘僌
OUTPUT_LOG1_ERROR("ERROR::iMusicItem->GetSongId():%d", result);
// 儕乕僽張棟
User::Leave(result);
return;
}
// 晄姰慡僐儞僥儞僣偺忣曬庢摼
TInt incompleteFlag;
iMusicItem->GetIncompleteContents(incompleteFlag);
if (incompleteFlag != ESmbMusicMWLibBoolTrue) // 晄姰慡僐儞僥儞僣偱側偄応崌
{
// 俠俹愗傝弌偟忣曬傪庢摼偡傞
const TSmbMusicMWLibCPRingingInfo* aCPInfo = iRingingInfo->CpToneInfo(iExtractIndex);
if(NULL==aCPInfo)
{
return;
}
// 奐巒帪娫丄廔椆帪娫傪僠僃僢僋偡傞
if(aCPInfo->iStartTime>=aCPInfo->iEndTime)
{
return;
}
// 堦嬋嵞惗僾儗僀儎傪婲摦偡傞
result = iAppUi.StartMusicAPSinglePlayerApp(songId, aCPInfo->iStartTime, aCPInfo->iEndTime, iView);
if (result != KErrNone)
{
//儘僌
OUTPUT_LOG1_ERROR("ERROR::iAppUi.StartMusicAPSinglePlayerApp():%d", result);
}
}
else // 晄姰慡僐儞僥儞僣偱偁傞応崌
{
}
}
/**
* 愗傝弌偟嬫娫偺婸搙/敿婸搙昞帵惂屼
*/
void CSmbMusicAPFileMgrPartitionCmd::SetDisableCpListL(void)
{
// CP巜掕愗傝弌偟忣曬奿擺悢庢摼
TInt entrycount = iRingingInfo->EntryCount();
// 嬫娫忣曬偑暋悢娷傑傟傞応崌偼丄嵟戝10審傑偱昞帵傪峴偆
TInt count = ECpToneInfoEntryMax>entrycount ? entrycount : ECpToneInfoEntryMax;
// 傾僀僥儉偺桳岠/柍岠傪愝掕
for(TInt index=0;index<count;index++)
{
const TSmbMusicMWLibCPRingingInfo* aCPInfo = iRingingInfo->CpToneInfo(index);
if(NULL==aCPInfo)
{
iView.SetItemDisableL(index, ETrue);
}
//嬫娫忣曬偑巜掕晄壜側応崌偼丄敿婸搙偱昞帵偡傞
//嬫娫忣曬偺奐巒帪娫偲廔椆帪娫偺嵎偑丄1昩側偄応崌傕敿婸搙偱昞帵偡傞
if(EFalse==aCPInfo->iIsPossibleRingingSetup
|| aCPInfo->iEndTime - aCPInfo->iStartTime < KSmbMusicAPFileMgrOneSec)
{
iView.SetItemDisableL(index, ETrue);
}
else
{
iView.SetItemDisableL(index, EFalse);
}
}
iView.AdjustListBox();
}
//DEL-START PTX824
/**
* 廔榖僉乕僀儀儞僩傪僴儞僪儕儞僌偡傞丏
* - 傾僾儕働乕僔儑儞傪廔椆偡傞丏
*/
//void CSmbMusicAPFileMgrPartitionCmd::HandleViewOnHookL(void)
// {
//DEL-START PTX824
// 愗傝弌偟張棟傪拞巭
// ProcessExtractStopL();
//DEL-END PTX824
// 傾僾儕働乕僔儑儞廔椆偡傞
// iAppUi.TerminateTaskL();
// }
//DEL-END PTX824
//DEL-START PTX824
/**
* i儌乕僔儑儞曐懚僟僀傾儘僌昞帵(儌乕僟儖)
*/
/*void CSmbMusicAPFileMgrPartitionCmd::ShowImotionSaveDialogL(void)
{
// CP愢柧忣曬庢摼張棟
const TSmbMusicMWLibCPRingingInfo* aCPInfo = iRingingInfo->CpToneInfo(iExtractIndex);
if(NULL==aCPInfo)
{
}
/// CP愢柧忣曬梡偺僨僗僋儕僾僞惗惉
HBufC* desc = HBufC::NewLC(KSmbMusicMWLibDesctiption);
TPtr description(desc->Des());
description = aCPInfo->iDescription;
/// 嬫娫柤偑柍偄応崌偼乽晄柧乿傪昞帵偡傞
/// 嬫娫柤偺暥帤楍挿堎忢偺応崌傕乽晄柧乿傪昞帵
if(0==aCPInfo->iDescription.Length() || KSmbMusicMWLibDesctiption<aCPInfo->iDescription.Length())
{
//// 儕僜乕僗偐傜僞僀僩儖傪撉傒崬傓
HBufC* unknown = CEikonEnv::Static()->AllocReadResourceL(R_SMB_AF_STR_SUB138);
CleanupStack::PushL(unknown);
description = unknown->Des();
CleanupStack::PopAndDestroy(unknown);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -