📄 smbmusicapsonginfoappui.cpp
字号:
*/
void CSmbMusicAPSongInfoAppUi::SetReturnView(const TVwsViewId& aViewId) const
{
//傾僾儕働乕僔儑儞廔椆帪偺價儏乕偺栠傝愭傪愝掕偡傞
iAfEnv.SetReturnView(aViewId);
}
/**
* 廔椆張棟
*
* @param[in] aMessageId 婲摦尦傊曉媝偡傞儊僢僙乕僕ID
*/
void CSmbMusicAPSongInfoAppUi::ExitL(TUid aReturnUid)
{
//寢壥傪庴偗庢傞曄悢偺愰尵
// TSmbRscMgrAppResult result = ESmbRscMgrAppResultOK;
// TSmbRscMgrRes res = ESmbRscMgrResultOK;
//嫞崌僼儗乕儉儚乕僋偵懳偟偰廔椆捠抦傪峴偆
// TRAPD(error, res = iRscMgrAppClient->NotifyStopAppL(KSmbMusicAPSongInfoUid, result));
// //儕乕僽偵懳偡傞僄儔乕張棟
// if(KErrNone != error)
// {
// //儘僌弌椡
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo036, ELogLevelHighest, error, KSmbMusicAPSongInfoLogNotifyStopAppErr);
// //儕乕僽張棟
// User::Leave(error);
// }
//NotifyStopAppL()偺栠傝抣偵懳偡傞僄儔乕張棟
// if(ESmbRscMgrResultOK != res)
// {
//儘僌弌椡
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo037, ELogLevelHighest, res, KSmbMusicAPSongInfoLogNotifyStopAppReturnErr);
//儕乕僽張棟
// User::Leave(res);
// }
//NotifyStopAppL()偺堷悢偵懳偡傞僄儔乕張棟
// if(ESmbRscMgrAppResultOK != result)
// {
//儘僌弌椡
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo038, ELogLevelHighest, result, KSmbMusicAPSongInfoLogNotifyStopAppResultErr);
//儕乕僽張棟
// User::Leave(result);
// }
//MODIFY-S 汭弐 徻嵶忣曬曇廤偺捛壛
// iAfEnv.ReturnViewL(aReturnUid);
//MODIFY-S 汭弐 僾儗僀儕僗僩偺忣曬昞帵婡擻偺懳墳
// // 暅婣僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
// TSmbMusicAPSongInfoReturnParam param;
// CSmbMusicAPSongInfoModel& model = static_cast<CSmbMusicAPSongInfoDocument*>(Document())->SongInfoModel();
// param.iSongID = model.SongId(); // 嬋ID
// param.iEditPattern = model.EditPattern(); // 曇廤偟偨崁栚敾掕梡價僢僩
// TPckgBuf<TSmbMusicAPSongInfoReturnParam> paramBuf(param);
// iAfEnv.ReturnViewL(aReturnUid, paramBuf);
TVwsViewId currentViewId = iAfEnv.ActiveView()->ViewId();
if(ESmbMusicAPSongInfoPlayListInfoView == currentViewId.iViewUid.iUid)
{
//僾儗僀儕僗僩偺忣曬昞帵偺応崌丄僇僗僞儉儊僢僙乕僕側偟偱暅婣
iAfEnv.ReturnViewL(aReturnUid);
}
else
{
// 暅婣僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
TSmbMusicAPSongInfoReturnParam param;
CSmbMusicAPSongInfoModel& model = static_cast<CSmbMusicAPSongInfoDocument*>(Document())->SongInfoModel();
param.iSongID = model.SongId(); // 嬋ID
param.iEditPattern = model.EditPattern(); // 曇廤偟偨崁栚敾掕梡價僢僩
TPckgBuf<TSmbMusicAPSongInfoReturnParam> paramBuf(param);
iAfEnv.ReturnViewL(aReturnUid, paramBuf);
}
//MODIFY-E 汭弐
//MODIFY-E 汭弐
//僼儗乕儉儚乕僋偵廔椆捠抦
CSmbAfAppUi::Exit();
}
/**
* 嫞崌僼儗乕儉儚乕僋偺傾僾儕廔椆捠抦
*
* @param[in] aAppId 傾僾儕働乕僔儑儞ID
* @param[in] aResult 梫場
*/
//void CSmbMusicAPSongInfoAppUi::StopAppReqL(TUid /*aAppId*/, TSmbRscMgrAppResult /*aResult*/)
// {
// ExitL(KLaReturnClearUid);
// }
/**
* 傾僾儕働乕僔儑儞婲摦捠抦乮旕摨婜乯
* 仸嫞崌僼儗乕儉儚乕僋偵傛傝丄偙偺娭悢偺幚憰偑嫮惂偝傟傞偙偲傊偺懳墳
* 偦偺偨傔丄偙偺娭悢偑屇傃弌偝傟傞偙偲偼側偄偑丄
* 枩偑堦屇傃弌偝傟偨応崌偵旛偊丄偦偺嵺偼儕乕僽傪敪惗偝偣傞
*
* @param[in] aResult 傾僾儕働乕僔儑儞嫞崌娗棟儕僓儖僩僐乕僪
* @panic KErrAbort 偙偺娭悢偑屇偽傟偨応崌
*/
//void CSmbMusicAPSongInfoAppUi::NotifyStartAppAsyncResL(TSmbRscMgrAppResult /*aResult*/)
// {
//枩偑堦偙偺娭悢偑屇傃弌偝傟偨応崌偼丄儘僌弌椡偟丄儕乕僽偡傞
//儘僌弌椡
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo034, ELogLevelHighest, KErrAbort, KSmbMusicAPSongInfoLogFuncCallErr);
//儕乕僽張棟
// User::Leave(KErrAbort);
// }
/**
* 傾僾儕働乕僔儑儞愗傝懼偊墳摎乮旕摨婜乯
* 仸嫞崌僼儗乕儉儚乕僋偵傛傝丄偙偺娭悢偺幚憰偑嫮惂偝傟傞偙偲傊偺懳墳
* 偦偺偨傔丄偙偺娭悢偑屇傃弌偝傟傞偙偲偼側偄偑丄
* 枩偑堦屇傃弌偝傟偨応崌偵旛偊丄偦偺嵺偼儕乕僽傪敪惗偝偣傞
*
* @param[in] aResult 傾僾儕働乕僔儑儞嫞崌娗棟儕僓儖僩僐乕僪
* @panic KErrAbort 偙偺娭悢偑屇偽傟偨応崌
*/
//void CSmbMusicAPSongInfoAppUi::SwapStartedAppResL(TSmbRscMgrAppResult /*aResult*/)
// {
//枩偑堦偙偺娭悢偑屇傃弌偝傟偨応崌偼丄儘僌弌椡偟丄儕乕僽偡傞
//儘僌弌椡
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo035, ELogLevelHighest, KErrAbort, KSmbMusicAPSongInfoLogFuncCallErr);
//儕乕僽張棟
// User::Leave(KErrAbort);
// }
/**
* 惗惉偟偨價儏乕僆僽僕僃僋僩偺搊榐
*
* @param[in] aView 價儏乕億僀儞僞
*/
void CSmbMusicAPSongInfoAppUi::RegistView(CSmbAfView* aView)
{
iViews.Append(aView);
}
/**
* 惗惉偟偨僐儅儞僪僆僽僕僃僋僩偺搊榐
*
* @param[in] aCmd 僐儅儞僪億僀儞僞
*/
void CSmbMusicAPSongInfoAppUi::RegistCmd(CSmbMusicAPSongInfoCmdBase* aCmd)
{
iCmds.Append(aCmd);
}
/**
* 價儏乕Uid偲僐儅儞僪僆僽僕僃僋僩偲偺娭楢晅偗
*
* @param[in] aViewUid 價儏乕UID
* @param[in] aCommand 僐儅儞僪僆僽僕僃僋僩偺嶲徠抣
*/
void CSmbMusicAPSongInfoAppUi::RegistVCRelationL(TUid aViewUid, CSmbMusicAPSongInfoCmdBase& aCommand)
{
//娭楢晅偗僆僽僕僃僋僩惗惉
TSmbMusicAPSongInfoVCTableEntry* entry = new(ELeave) TSmbMusicAPSongInfoVCTableEntry;
entry->iViewUid = aViewUid;
entry->iCmdBase = &aCommand;
//曐帩
iVCTable.Append(entry);
}
/**
* 傾僋僥傿僽側價儏乕偵懳偡傞僐儅儞僪僆僽僕僃僋僩傪曉媝偡傞
* 仸嶲徠宆偱曉媝偡傞偨傔丄昁偢ConstructL()幚峴屻偵庢摼偡傞偙偲
*
* @return 僐儅儞僪僆僽僕僃僋僩嶲徠抣
*/
CSmbMusicAPSongInfoCmdBase& CSmbMusicAPSongInfoAppUi::ActiveCommandL()
{
CAfView* view = iAfEnv.ActiveView();
if(NULL == view) //奺View偺DoViewActivatedL幚峴屻偵幚峴偝傟傞偺偑慜採偺偨傔丄婎杮揑偵偼偁傝偊側偄偼偢
{
//儘僌弌椡
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo039, ELogLevelHighest, KErrSmbMusicAPSongInfoNull, KSmbMusicAPSongInfoLogNullErr);
//儕乕僽張棟
User::Leave(KErrSmbMusicAPSongInfoNull);
}
return ViewCommandL(view->ViewId().iViewUid);
}
/**
* 價儏乕Uid偵懳偡傞僐儅儞僪僆僽僕僃僋僩傪曉媝偡傞
* 仸嶲徠宆偱曉媝偡傞偨傔丄昁偢ConstructL()幚峴屻偵庢摼偡傞偙偲
*
* @param aViewUid 價儏乕UID
* @return 僐儅儞僪僆僽僕僃僋僩嶲徠抣
* @leave KErrAbort 儖乕僾撪偱return張棟偑峴傢傟側偐偭偨応崌
*/
CSmbMusicAPSongInfoCmdBase& CSmbMusicAPSongInfoAppUi::ViewCommandL(TUid aViewUid)
{
for(TInt i = 0; i < iVCTable.Count(); i++)
{
TSmbMusicAPSongInfoVCTableEntry* entry = iVCTable[i];
if(aViewUid == entry->iViewUid)
{
return *(entry->iCmdBase);
}
}
//偙偙偵棃傞偙偲偼偁傝偊側偄
//儘僌弌椡
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo040, ELogLevelHighest, KErrAbort, KSmbMusicAPSongInfoLogSequenceErr);
//儕乕僽張棟
User::Leave(KErrAbort);
//埲壓偺幚憰偼Warning懳墳
return *(iVCTable[0]->iCmdBase);
}
//ADD-S MAEJI TRK6251
/*
* 傾僾儕働乕僔儑儞僉儍儞僙儖帪偺僐乕儖僶僢僋娭悢
*/
void CSmbMusicAPSongInfoAppUi::LaCancelAppNonUiL()
{
//ReturnViewL埲奜偺張棟傪峴偆
HandleCommandL(EEikCmdExit);
}
//ADD-E
//ADD-S 憊 TRK10769
/**
* 僾儘僷僥傿僄乕僕僃儞僩偺曄峏捠抦庴怣
*
* 僾儘僷僥傿僄乕僕僃儞僩僒乕僶乕忋偺僨乕僞偑曄峏偝傟偨偲偒偵
* 屇傃弌偝傟傞丅
* @see RPGPropAgent
* @param aWatcher [in] 僾儘僷僥傿僄乕僕僃儞僩丒僀儀儞僩僆僽僕僃僋僩
* @param aUid [in] 曄峏偝傟偨僨乕僞偺UID
* @param aData [in] 捠抦偝傟偨僨乕僞
*/
void CSmbMusicAPSongInfoAppUi::OnChangeL(CPGPropAgentWatcher& aWatcher, TUid aUid, TInt aData)
{
//僾儘僷僥傿僄乕僕僃儞僩傪庢摼
RPGPropAgent& propAgent = iAfEnv.PropAgent();
//僀儀儞僩攝怣張棟
switch(aUid.iUid)
{
//USIM Refresh庬暿偺応崌
case KPGSOUsimRefreshTypeUidValue:
{
//偙偺応崌丄徻嵶忣曬傾僾儕傪廔椆偡傞
if(KUsimIdUidValue == aData)
{
//儘僌傪弌椡偡傞
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo040, ELogLevelNormal, aData, KSmbMusicAPSongInfoLogOnChangeLReturnIMODEREF);
//傾僾儕傪廔椆偡傞
HandleCommandL(EEikCmdExit);
}
else if(KUsimImodeproUidValue == aData)
{
//壗傕張棟偟偰偼偄偗側偄
//儘僌傪弌椡偡傞
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo040, ELogLevelLowest, aData, KSmbMusicAPSongInfoLogOnChangeLReturnIMODEPRO);
}
}
break;
//ADD-S 憊 TRK11686
//MusicMW儔僀僽儔儕DB儕僇僶儕乕忣曬偺応崌
case KPGSOMusicMWLibDBRecoverUidValue:
{
//MusicMW儔僀僽儔儕偺DB攋懝拞偺応崌丄傾僾儕傪嫮惂廔椆偡傞
if(EFalse != SmbPGMusic::DBRecoverL(propAgent))
{
//儘僌傪弌椡偡傞
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo153, ELogLevelNormal, KPGSOMusicMWLibDBRecoverUidValue, KSmbMusicAPSongInfoLogOnChangeLMusicMWLibDBRecoveryL);
//傾僾儕傪廔椆偡傞
HandleCommandL(EEikCmdExit);
}
}
break;
//儈儏乕僕僢僋僐儞僥儞僣儕僇僶儕乕忣曬偺応崌
case KPGMusicContentsRecoverUidValue:
{
//儈儏乕僕僢僋僐儞僥儞僣娗棟偺DB攋懝拞偺応崌丄傾僾儕傪嫮惂廔椆偡傞
if(EFalse != PGPropAgentContents::MusicRecoveryL(propAgent))
{
//儘僌傪弌椡偡傞
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo154, ELogLevelNormal, KPGMusicContentsRecoverUidValue, KSmbMusicAPSongInfoLogOnChangeLMusicContentsRecoveryL);
//傾僾儕傪廔椆偡傞
HandleCommandL(EEikCmdExit);
}
}
break;
//ADD-E TRK11686
//偦偺懠
default:
break;
}
//PA曄峏捠抦梫媮
aWatcher.RequestNotifyEventL();
}
//ADD-E
//ADD-S 憊 TRK11477
/**
* 僂傿儞僪僂僒乕僶僀儀儞僩僴儞僪儔乮僾儘僌儗僗僟僀傾儘僌昞帵拞丄僋儕傾僉乕偵傛傞傾僾儕廔椆偵懳墳偡傞乯
*
*
*/
void CSmbMusicAPSongInfoAppUi::HandleWsEventL(const TWsEvent& aWsEvent, CCoeControl* aDestination)
{
//僉乕僀儀儞僩偺僐乕僪傪敾抐
switch(aWsEvent.Key()->iCode)
{
//僋儕傾僉乕偺応崌
case EWcdmaMpKeyClear:
{
//僾儘僌儗僗僟僀傾儘僌昞帵拞偱偁傟偽丄僋儕傾僉乕墴壓偡傞偲丄傾僾儕傪廔椆
//MODIFY-S 汭弐 張棟拞僟僀傾儘僌偱丄僋儕傾僉乕偵傛傞傾僾儕廔椆張棟偱偼丄僋儕傾僉乕偑抁墴壓偱偁傞忦審傪捛壛(CQ D_82400010707懳墳)
// if(EFalse != iProgressDialogFlag)
if(EFalse != iProgressDialogFlag && 0 == aWsEvent.Key()->iRepeats)
//MODIFY-E 汭弐
{
//偙偙偱摨婜揑偵傾僾儕傪廔椆偡傞偑丄堦墳柧帵揑偵儕僞儞傪壛偊傞
HandleCommandL(EEikCmdExit);
return;
}
}
break;
default:
{
//壗傕偟側偄
}
break;
}
//偦偺懠偺僀儀儞僩偼張棟側偟偵僼儗乕儉儚乕僋偵擟偣傞
CSmbAfAppUi::HandleWsEventL(aWsEvent, aDestination);
}
/**
* 僾儘僌儗僗僟僀傾儘僌昞帵拞偱偁傞偐傪昞偡僼儔僌傪僙僢僩偡傞
*
* @param aFlag 愝掕抣
*
*/
void CSmbMusicAPSongInfoAppUi::SetShowProgressDialogFlag(TBool aFlag)
{
iProgressDialogFlag = aFlag;
}
//ADD-E
//ADD-S 汭弐 徻嵶忣曬曇廤偺捛壛
/**
* 曇廤姰椆屻丄PropAgent偵捠抦丄傑偨丄儗僕儏乕儉忣曬攋婞捠抦
*
* @leave error Model偐傜嬋ID偺庢摼偑幐攕偺応崌
*/
void CSmbMusicAPSongInfoAppUi::SetSongInfoEditIndicationL()
{
// 僾儘僷僥傿僄乕僕僃儞僩傪庢摼
RPGPropAgent& propAgent = iAfEnv.PropAgent();
//儌僨儖僋儔僗庢摼
CSmbMusicAPSongInfoModel& model = static_cast<CSmbMusicAPSongInfoDocument*>(Document())->SongInfoModel();
TUint64 songId = model.SongId();
// 曇廤姰椆捠抦
TSmbPGMusicAPSongInfoEditInd editInd = {ETrue, songId};
SmbPGMusic::SetMusicAPSongInfoEditIndL(propAgent, editInd);
editInd.iEditFlag = EFalse;
SmbPGMusic::SetMusicAPSongInfoEditIndL(propAgent, editInd);
// 儗僕儏乕儉忣曬攋婞捠抦
SmbPGMusic::SetAPResumeInfoDeleteIndicationL(propAgent, ETrue);
SmbPGMusic::SetAPResumeInfoDeleteIndicationL(propAgent, EFalse);
}
//ADD-E 汭弐
// end of SmbMusicAPSongInfoAppUi.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -