📄 smbmusicapsingleplayerappui.cpp
字号:
{
RscNGL();
break;
}
case ERscForPlayOK:
{
RscForPlayOKL();
break;
}
case ERscForAudioExit:
{
ReleaseRscForPauseL();
break;
}
//ADD-S D_82400007238
case ERscForUserConfirm:
{
ReleaseRscForUserConfirmL();
break;
}
//ADD-E D_82400007238
case ERscForAllExit:
{
DisconnectAllRscL();
break;
}
default :
{
__ASSERT_DEBUG(EFalse, User::Panic(KPanicCategory, EInvalidEvent));
break;
}
}
}
/**
* 廔榖僉乕墴壓捠抦帪偺撈帺張棟
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::HandleOnHookL()
{
HandleCommandL(EEikCmdExit);
}
/**
* 徃奿捠抦帪撈帺張棟
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::HandleAppPromotedChildToParentL()
{
SmbMusicAPSinglePlayerLog::OutputLog(KAppUi, EAppUi, ELogLevelLowest,_L("PromotedChildToParent" ));
iAfEnv.SetReturnView(KNullViewId);
ExitL(KNullUid);
}
/**
* 僾儘僷僥傿僄乕僕僃儞僩偐傜偺曄峏捠抦帪張棟
*
* @param CPGPropAgentWatcher& aWatcher 僾儘僷僥傿僄乕僕僃儞僩Watcher傊偺嶲徠
* @param TUid aUid 僨乕僞柤偲側傞UID
* @param TInt aData 僨乕僞
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::OnChangeL(CPGPropAgentWatcher& aWatcher,
TUid aUid,
TInt aData)
{
RPGPropAgent& propAgent = iAfEnv.PropAgent();
if(KPGStatusEarphoneStatusUid == aUid) // 僀儎儂儞僗僥乕僞僗偺曄壔
{
ChangeEarphoneStatusL();
}
else if(KPGMannerModeUid == aUid) // 儅僫乕儌乕僪偺曄壔
{
ChangeMannerModeStatusL();
}
else if(KPGSOUsimRefreshTypeUid == aUid) // Usim彂偒姺偊
{
UsimRefreshL(aData);
}
else if(KPGSOMusicMWLibDBRecoverUid == aUid) // DB嵞峔抸
{
MWLibDBRecoverL();
}
else if(KPGMusicContentsRecoverUid == aUid) // 僐儞僥儞僣僒乕僶嵞峔抸
{
MusicContentsRecoverL();
}
else if(KPGSOMusicAPSongInfoEditIndUid == aUid) //ADD824 For Refrash SongInfo
{
TSmbPGMusicAPSongInfoEditInd info; // {曇廤捠抦僼儔僌, 曇廤偟偨嬋偺嬋ID}
SmbPGMusic::GetMusicAPSongInfoEditIndL(propAgent, info);
GetDispSongInfoL(info);
}
else if(KPGSOMusicAPCompNotificationUid == aUid) //ADD824 For SD-Video->Exit 儈儏乕僕僢僋嫞崌捠抦
{
TSmbPGMusicAPCompNotification info = SmbPGMusic::MusicAPCompNotificationL(propAgent);
CompNotificationL(info);
}
aWatcher.RequestNotifyEventL();
}
/**
* 僶僢僋儔僀僩ON/OFF帪張棟偺幚憰
*
* @param TBool aBackLight(ETrue:揰摂)
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::HandleBacklightEventL(TBool /* aBool */)
{
if(EFalse != IsLcdBackLightOffL()) //OFF偵側偭偨
{
HandleCommandL(ESmbMusicAPSinglePlayerCmdBackLightOff);
}
else //ON偵側偭偨
{
if(EFalse != View()->IsShowDialog())
{
SetSilentKeys(EFalse); // 僉乕壒傪ON偵偡傞(nop@PTX810)
}
HandleCommandL(ESmbMusicAPSinglePlayerCmdBackLightOn);
}
}
/**
* 奜晹儊儌儕偑巊梡壜擻忬懺(Mount姰椆忬懺)偲側偭偨偙偲傪捠抦偡傞
*
* @param[in] aType 憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::NotifyMountedExtMemL(CSmbExtMemWatcher::TType aType)
{
if(EFalse == ChangingExtMemState()) // 憓敳張棟拞偱側偄側傜偽丄憓敳張棟傪峴偆
{
ChangeExtMemStateL(aType, ETrue);
}
}
/**
* 奜晹儊儌儕偑Mount拞忬懺偲側偭偨偙偲傪捠抦偡傞
*
* @param[in] aType 憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::NotifyMountingExtMemL(CSmbExtMemWatcher::TType aType)
{
ChangeExtMemStateL(aType, ETrue);
}
/**
* 奜晹儊儌儕偑枹憓擖忬懺偲側偭偨偙偲傪捠抦偡傞
*
* @param[in] aType 憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::NotifyUnMountedExtMemL(CSmbExtMemWatcher::TType aType)
{
ChangeExtMemStateL(aType, EFalse);
}
/**
* Mount帪偵僄儔乕偑敪惗偟偨偙偲傪捠抦偡傞
*
* @param[in] aType 憓敳忬懺偑曄峏偝傟偨奜晹儊儌儕偺庬暿
* @param[in] aError 僄儔乕庬暿丅
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::NotifyErrorExtMemL(CSmbExtMemWatcher::TType /* aType */, TInt aError)
{
SmbMusicAPSinglePlayerLog::OutputLog(KAppUi, EAppUi, ELogLevelLowest,_L("NotifyErrorExtMemL:%d"), aError);
// 僄儔乕偺桳柍偵娭傢傜偢奜晹儊儌儕偺忬懺偑曄傢偭偨側傜廔椆張棟
// 傛偭偰nop
}
/**
* 廔椆帪撈帺張棟屻敿晹
*
* @memo丂廔椆偺壓弨旛偲偟偰墘憈掆巭丒僐儞僥僉僗僩僋儕傾丒Disconnect摍傪峴偆丅
* @param TUid aUid
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::ExitL(TUid aUid)
{
if(EFalse == SetExitL(aUid))
{
return;
}
if(EFalse != iModel->IsConnectRsc())
{
SmbMusicAPSinglePlayerLog::OutputLog(KAppUi, EAppUi, ELogLevelLowest,_L("HandleDisconnectRsc Called!! ExitL"));
StartDisconnectRscL();
}
else
{
SmbMusicAPSinglePlayerLog::OutputLog(KAppUi, EAppUi, ELogLevelLowest,_L("Disconnect Already Complete!! ExitL"));
DisconnectRscCompletedL(); //Disconnect廔椆屻張棟傪峴偆
}
// CAfAppUi::Exit偼丄旕摨婜張棟姰椆屻偵屇傇
}
// <etc PublicAPI>
/**
* 嵞惗梡偺儕僜乕僗庢摼傪峴偆
*
* @memo MW僾儗僀儎乕惂屼丒壒惡僷僗惂屼偺偆偪偳偪傜偐晄懌偟偰偄傞傕偺傪庢摼
* @param 側偟
* @return TInt KErrNone:梫媮奐巒
* KErrNotReady:儕僜乕僗庢摼張棟偑憱偭偰偄傞偨傔奐巒偱偒側偄/傾僾儕偑慜柺偵偄側偄偨傔儕僜乕僗傪庢摼偱偒側偄
* KErrArgument;偡偱偵儕僜乕僗庢摼嵪傒側偺偵庢摼偟傛偆偲偟偨
*/
TInt CSmbMusicAPSinglePlayerAppUi::RequestRscForPlayL()
{
if(EFalse == iAsyncState->SetAllocateResource() || EFalse == IsForegroundL())
{
return KErrNotReady; // 儕僜乕僗庢摼梫媮偑敪峴偱偒側偄(尰嵼敪峴拞偺偨傔)
}
if(EFalse == iRscController->RequestRscForPlayL())
{
return KErrArgument; //偡偱偵儕僜乕僗偑庢摼嵪傒側偺偵丄庢摼偟傛偆偲偟偨
}
return KErrNone;
}
/**
* 壒惡僷僗儕僜乕僗偺傒傪奐曻偡傞応崌偺張棟(嵞惗掆巭帪丒僟僀傾儘僌弌尰帪摍)
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::ReleaseRscForPauseL()
{
iModel->StopAudioRouting();
SetSilentKeys(EFalse);
iRscController->ReleaseRscForPauseL();
}
/**
* 儐乕僓妋擣帪偺儕僜乕僗奐曻張棟
*
* @memo D_82400007238
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::ReleaseRscForUserConfirmL()
{
iModel->StopAudioRouting();
SetSilentKeys(EFalse);
iRscController->ReleaseRscForUserConfirmL();
}
// <setter getter>
/**
* View偺億僀儞僞傪曉媝偡傞
*
* @param 側偟
* @returm CSmbMusicAPSinglePlayerView*
*/
CSmbMusicAPSinglePlayerView* CSmbMusicAPSinglePlayerAppUi::View() const
{
return iView;
}
/**
* 堦嬋嵞惗僾儗僀儎乕偺弶婜忬懺傪儌僨儖偵愝掕偡傞
*
* @param TSmbMusicAPSinglePlayerInitialSettings 弶婜忬懺
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::SetInitialSettings(TSmbMusicAPSinglePlayerInitialSettings aInitialSettings)
{
iModel->SetInitialSettings(aInitialSettings);
}
/**
* 僀儎儂儞丒儅僫乕娭楢偺嵞惗妋擣偺梫/晄梫傪愝掕偡傞
*
* @param TSmbMusicAPSinglePlayerStartConfirm 嵞惗妋擣偺梫/晄梫/嵪
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::SetPlayConfirm(TSmbMusicAPSinglePlayerStartConfirm aConfirm)
{
if(ENeedless == iPlayConfirm && EAlready == aConfirm)
{
// NeedLess仺Already偵慗堏偡傞偙偲偼側偄
// Needless佁Need仺Already仺Needless
return;
}
iPlayConfirm = aConfirm;
}
/**
* 僀儎儂儞丒儅僫乕娭楢偺嵞惗妋擣偺梫/晄梫傪庢摼偡傞
*
* @retuan TSmbMusicAPSinglePlayerStartConfirm 嵞惗妋擣偺梫/晄梫/嵪
* @param 側偟
*/
TSmbMusicAPSinglePlayerStartConfirm CSmbMusicAPSinglePlayerAppUi::PlayConfirm()
{
return iPlayConfirm;
}
/**
* 僀儎儂儞僗僥乕僞僗偺庢摼
*
* @param 側偟
* @return MEtWcdmaExtDevice::TEtEarphoneStatus
*/
MEtWcdmaExtDevice::TEtEarphoneStatus CSmbMusicAPSinglePlayerAppUi::GetEarphoneStatusL()
{
RPGPropAgent& propAgent = iAfEnv.PropAgent();
return PGPropAgentStatus::GetEarphoneStatusL(propAgent);
}
/**
* 掆巭帪偺儅僫乕儌乕僪妋擣丒僗僺乕僇乕妋擣偺張棟
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::SetMuteSpeakerAndConfirmL()
{
CSmbMusicAPSinglePlayerView* view = View();
TSmbMusicAPSinglePlayerStartConfirm isPlayConfirm = IsPlayConfirm(); // 僀儎儂儞丒儅僫乕儌乕僪忬懺偺妋擣
if(MEtWcdmaExtDevice::EEtEarphoneConnecting != GetEarphoneStatusL()) // 僀儎儂儞偑敳偗偰偄傞
{
if(EAlready == isPlayConfirm) // 婛偵妋擣嵪(亊側偟)
{
view->DrawMuteSpeaker(ETrue); // 掆巭偟偨偺偱丄師偼儅僫乕儌乕僪妋擣偑擖傞
SetPlayConfirm(ENeed); // 妋擣昁梫
}
// 偦傟埲奜偼丄婛偵昤偄偰偁傞僗僺乕僇偵廬偆
}
else // 僀儎儂儞偑巋偝偭偰偄傞応崌偼丄昁偢妋擣偼昁梫側偔丄亊偁傝
{
view->DrawMuteSpeaker(ETrue);
SetPlayConfirm(ENeedless);
}
}
/**
* Mute偺愝掕傪曄峏偡傞
*
* @param TBool aBool EFalse:壒偑柭傞(Mute偱偼側偄)/ETrue:柭傜側偄(Mute)
* @return void
*/
void CSmbMusicAPSinglePlayerAppUi::SetMuteL(TBool aBool)
{
iModel->SetMuteL(aBool);
}
// </setter getter>
// <Is...>
/**
* 儅僫乕儌乕僪丒僀儎儂儞敳嫀娭楢偺丄嵞惗妋擣偑昁梫偐偳偆偐
*
* @param 側偟
* @return TSmbMusicAPSinglePlayerStartConfirm
*/
TSmbMusicAPSinglePlayerStartConfirm CSmbMusicAPSinglePlayerAppUi::IsPlayConfirm()
{
TSmbMusicAPSinglePlayerStartConfirm ret = iPlayConfirm;
if(ENeed == iPlayConfirm && EFalse != iAsyncState->IsSetSongHeadRequestInCpPlay())
{
ret = ENeedless;
}
return ret;
}
/**
* 壒惡僷僗庢摼妋擣偑昁梫偐偳偆偐
*
* @memo ADD824 For TVAudioPath
* @param 側偟
* @return TBool EFalse:晄昁梫/ETrue:昁梫
*/
TBool CSmbMusicAPSinglePlayerAppUi::IsGetAudioRoutingconfirmL()
{
return iRscController->IsConfirmRequestAudioRoutingL();
}
/**
* 嵞惗偵昁梫側儕僜乕僗傪庢摼嵪傒偐偳偆偐
*
* @param 側偟
* @return TBool
*/
TBool CSmbMusicAPSinglePlayerAppUi::IsAllocatedResourceForPlay() const
{
return iRscController->IsAllocatedAllResource();
}
/**
* 嬫娫嵞惗拞偐偳偆偐傪庢摼偡傞
*
* @param 側偟
* @return TBool
*/
TBool CSmbMusicAPSinglePlayerAppUi::IsCpPlay() const
{
return iModel->IsCpPlay();
}
/**
* 尰忬丄傾僾儕働乕僔儑儞偑慜柺偐偳偆偐
*
* @return TBool EFalse:屻/ETrue:慜
*/
TBool CSmbMusicAPSinglePlayerAppUi::IsForegroundL()
{
RPGPropAgent& propAgent = iAfEnv.PropAgent();
TUid frontApp = PGPropAgentLaServer::FrontAppL(propAgent);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -