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

📄 smbmusicapfilemgrappui.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
 * @param[in]		aSongId				嬋ID
 * @return			StartApp偺栠傝抣
 */
TInt CSmbMusicAPFileMgrAppUi::StartBruApp(TUint64 aSongId)
	{
	// 婲摦僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
	TSmbBruMusicDownloadInfo param;
	param.iSongId = aSongId;										// 嬋ID
	TPckgBuf<TSmbBruMusicDownloadInfo> paramBuf(param);
	
	// 僽儔僂僓傪婲摦偡傞
//	RLauncherSession& laSession = iAfEnv.LauncherSession();
	RSmbLaSession& laSession = iSmbAfEnv.SmbLaSession();

	return laSession.StartApp(KSmbBruUid, KSmbBruViewUid, KSmbBruMusicDownloadFromMainPlayerUid, paramBuf);
	}

//ADD-START PTX824
/**
 * 僽儔僂僓傪巕婲摦偡傞丏
 *
 * @param[in]		aView				暅婣愭價儏乕
 * @return			StartApp偺栠傝抣
 * @panic			KErrArgument		僐儅儞僪ID偑憐掕奜偺応崌
 */
TInt CSmbMusicAPFileMgrAppUi::StartShortCutBruApp(MCoeView& aView)
	{
	OUTPUT_FUNC;
	// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasUnMountedMemory(EFalse);									// 敳嫀敪惗偟偰偄側偄
	// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasResourceNG(EFalse);									// 儕僜乕僗嫞崌敪惗偟偰偄側偄
	// 儊儌儕儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMemoryModeResourceNG(EFalse);								// 儊儌儕儌乕僪撍擖偟偰偄側偄
	// MTP儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMTPModeResourceNG(EFalse);									// MTP儌乕僪撍擖偟偰偄側偄
	// 婲摦僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
	TSmbBruPotalViewerInfo param;
	param.SetReturnView(aView);										// 屇傃弌偟尦傪愝掕偡傞

	TPckgBuf<TSmbBruPotalViewerInfo> paramBuf(param);
	
	// 僽儔僂僓傪婲摦偡傞
	RSmbLaSession& laSession = iSmbAfEnv.SmbLaSession();
	iCurrentChildAppUid = KSmbBruUid;
	TInt result = laSession.StartApp(iCurrentChildAppUid, KSmbBruViewUid, KSmbBruPotalViewerMusicUid, paramBuf);
	if(KErrNone != result)
		{
		//儘僌弌椡
		OUTPUT_LOG1_ERROR("ERROR::laSession.StartApp()::KSmbBruUid:%d", result);
		ResetCurrentChildAppUid();
		}
	return result;
	}
//ADD-END PTX824

//TRK5992 8/10 start
/**
 * @retval	KErrNone		巕婲摦傾僾儕傪廔椆 (巕婲摦傾僾儕偑婲摦嵪傒)
 * @retval	KErrNotFound	婲摦拞偺巕婲摦傾僾儕偑側偄
 * @retval  偦偺懠			RLauncherSession::EndApp()偐傜偺曉傝抣
 */
TInt CSmbMusicAPFileMgrAppUi::EndChildApp(void)
	{
//	RLauncherSession& laSession = iAfEnv.LauncherSession();
	RSmbLaSession& laSession = iSmbAfEnv.SmbLaSession();

	// 婲摦拞偺巕婲摦傾僾儕偑偁傞応崌丆巕婲摦傾僾儕傪廔椆偡傞丏
	if (iCurrentChildAppUid != TUid::Uid(0))	// 婲摦拞偺巕婲摦傾僾儕偑偁傞
		{
		TInt result = laSession.EndApp(iCurrentChildAppUid);	// 巕婲摦傾僾儕傪廔椆偝偣傞
		if (result == KErrNone)
			{
			iCurrentChildAppUid = TUid::Uid(0);
			}
		return result;
		}
	else										// 婲摦拞偺巕婲摦傾僾儕偑側偄
		{
		return KErrNotFound;
		}
	}
//TRK5992 8/10 end


/**
 * @note			嶲徠宆偱曉媝偡傞偨傔丆昁偢 ConstructL() 幚峴屻偵庢摼偡傞偙偲丏	
 * @return			傾僾儕嫞崌娗棟僋儔僀傾儞僩
 */
// CSmbRscMgrAppClient& CSmbMusicAPFileMgrAppUi::RscMgrAppClient(void) const
//	{
 	// 嫞崌娗棟僼儗乕儉儚乕僋偑枹惗惉偺応崌偼丆僷僯僢僋
//	__ASSERT_ALWAYS(iRscMgrAppClient, PANIC(EInvalidStatus));

//	return *iRscMgrAppClient;
// 	}


/**
 * @note			嶲徠宆偱曉媝偡傞偨傔丆昁偢 ConstructL() 幚峴屻偵庢摼偡傞偙偲丏	
 * @return			奜晹儊儌儕僂僅僢僠儍
 */
 CSmbExtMemWatcher& CSmbMusicAPFileMgrAppUi::ExtMemWatcher(void) const
 	{
 	// 奜晹儊儌儕僂僅僢僠儍偑枹惗惉偺応崌偼丆僷僯僢僋
	__ASSERT_ALWAYS(iExtMemWatcher, PANIC(EInvalidStatus));

	return *iExtMemWatcher;
 	}


/**
 * 嵟弶偵傾僾儕廔椆偺慜弨旛(CSmbMusicAPFileMgrCmdBase::PrepareToExit())傪峴偄丆
 * 弨旛姰椆屻丆巕婲摦傾僾儕廔椆偟僼儗乕儉儚乕僋偵廔椆捠抦傪峴偆丏
 */
void CSmbMusicAPFileMgrAppUi::ExitFileMgrApp(void)
	{
//TRK11595 10/14 start
//	// 傾僾儕廔椆偺慜弨旛傪峴偆
//	HandleCommandL(ECmdPrepareToExit);
//TRK11714,TRK11731 10/17 start
//	if (!iHasPreparedToExit)
	if (!iHasPreparedToExit && ActiveView())	// 傾僋僥傿僽側價儏乕(僐儅儞僪)偑懚嵼偡傞応崌
//TRK11714,TRK11731 10/17 end
		{
		// 傾僾儕廔椆偺慜弨旛傪峴偆
		ActiveCmd().PrepareToExit();
		}
	else
//TRK11595 10/14 end
		{
//TRK9576 9/16 start
		// 巕婲摦傾僾儕傪廔椆偝偣傞 (壗傕偟側偄偲恊偵徃奿偝傟偰偟傑偆偨傔)
		EndChildApp();
//TRK9576 9/16 end

		// 懠婡擻嫞崌丒擇廳嫞崌側偳偱僨乕僞BOX曐懚傾僾儕傪廔椆偝偣傞応崌偺傒丆埲壓偺張棟傪幚峴偡傞丏
		//   仸 僾儘僙僗娗棟忋偱僞僗僋偢傟傪惗偠傞嫲傟偑偁傞偨傔丆偙偺働乕僗埲奜偱巊梡偟側偄偙偲丏
		if (iCurrentChildAppUid == KSmbDbxFolderSelectAppUid)
			{
			KillAppFireEventL(iCurrentChildAppUid);
			}
#ifdef __PTX825MUSICAP__					// 825_katsu 伀
		// 愗傝弌偟張棟偺僉儍儞僙儖
		// CSmbMusicAPFileMgrPartitionCmd偺僨僗僩儔僋僞偱偼丄儕僜乕僗奐曻偺張棟偑峴偊側偄堊
		// 偙偺僞僀儈儞僌偱張棟偡傞昁梫偑偁傞
		HandleCommandL(ECmdCutterCancelOnHook);
#endif											// __PTX825MUSICAP__ 825_katsu 仾

		// PA偺娔帇傪拞抐
		iPropAgentWatcher->Cancel();
		
//ADD-START PTX824
		//慡儕僜乕僗夝曻
		ReleaseAllResourceL();				
//ADD-END PTX824
//DEL-START PTX824
		// 傾僾儕嫞崌娗棟傊偺廔椆捠抦
//		NotifyStopFileMgrApp();
//DEL-END PTX824

//ADD-START PTX824
		//巕婲摦偝傟偰偄傞応崌偼ReturnViewL()偡傞
		//拝偣懼偊儊僯儏乕偐傜偺婲摦偐偮僋儕傾廔椆帪
		if(ChildStartUp() || (MenuStartUp() && KLaReturnClearUid == iReturnUid))
			{
			iAfEnv.ReturnViewL(iReturnUid);
			}
//ADD-END PTX824

		// 僼儗乕儉儚乕僋偵廔椆捠抦
//		CAfAppUi::Exit();
		CSmbAfAppUi::Exit();
		}
	}


/**
 * Music僼傽僀儖娗棟偑儊僀儞僾儗僀儎乕偐傜婲摦偝傟偨偺偐偳偆偐傪敾掕偡傞丏
 *
 * @retval			ETrue		儊僀儞僾儗僀儎乕偐傜偺婲摦
 * @retval			EFalse		儊僀儞僾儗僀儎乕埲奜偐傜偺婲摦
 */
TBool CSmbMusicAPFileMgrAppUi::HasStartedFromMainPlayerApp() const
	{
	return iHasStartedFromMainPlayerApp;
	}


/**
 * Music僼傽僀儖娗棟偑儊僀儞僾儗僀儎乕偐傜婲摦偝傟偨偺偐偳偆偐傪愝掕偡傞丏
 *
 * @param[in]		aHasStartedFromMainPlayerApp	婲摦尦敾掕僼儔僌 
 */
void CSmbMusicAPFileMgrAppUi::SetHasStartedFromMainPlayerApp(TBool aHasStartedFromMainPlayerApp)
	{
	iHasStartedFromMainPlayerApp = aHasStartedFromMainPlayerApp;
	}


//TRK5992 8/10 start
/**
 * @return			婲摦拞偺巕婲摦傾僾儕Uid
 */
TUid CSmbMusicAPFileMgrAppUi::CurrentChildAppUid(void) const
	{
	return iCurrentChildAppUid;
	}


/**
 * iCurrentChildAppUid 傪儕僙僢僩偡傞丏
 * @note 巕婲摦傾僾儕偐傜偺恊暅婣帪偍傛傃巕婲摦傾僾儕婲摦幐攕帪偵偼丆杮儊僜僢僪傪梡偄偰儕僙僢僩偡傞偙偲丏
 */
void CSmbMusicAPFileMgrAppUi::ResetCurrentChildAppUid(void)
	{
	iCurrentChildAppUid = TUid::Uid(0);
	}
//TRK5992 8/10 end


/**
 * 憓擖偝傟偰偄傞奜晹儊儌儕偺庬暿傪曉偡丏
 *
 * @return			憓擖偝傟偰偄傞奜晹儊儌儕庬暿(儊儌儕乕僗僥傿僢僋/SD僇乕僪/側偟)
 */
CSmbExtMemWatcher::TType CSmbMusicAPFileMgrAppUi::ExtMemoryType(void)
	{
	CSmbExtMemWatcher::TType extMemoryType = CSmbExtMemWatcher::ENone;
	TRAPD(error, extMemoryType = iExtMemWatcher->CardTypeL());
	if (error)
		{
		OUTPUT_LOG1_ERROR("CSmbExtMemWatcher::CardTypeL(): %d", error);
		}
	
	return extMemoryType;
	}


/**
 * 巜掕偝傟偨儊儌儕庬暿偺忬懺(DB巊梡壜/晄壜/儅僂儞僩拞/枹憓擖側偳)傪曉偡丏
 *
 * @param[in]		aType				儊儌儕庬暿
 * @return			儊儌儕忬懺
 */
CSmbMusicAPFileMgrAppUi::TMemoryState CSmbMusicAPFileMgrAppUi::CheckMemoryStateL(CSmbExtMemWatcher::TType aType)
	{
	// 儊儌儕憓敳忬懺傪庢摼
	CSmbExtMemWatcher::TState memState = iExtMemWatcher->StateL(aType);
	switch (memState.iMountState)
		{
	case KErrNone:							// 巊梡壜
		// MusicDB忬懺傪庢摼偡傞
		break;
	case KErrDisMounted:					// 枹憓擖
		return EUnMounted;
	case KErrNotReady:						// 儅僂儞僩拞
		return EMounting;
	default:								// 儅僂儞僩僄儔乕
		return EMountError;
		}
		
	// MusicDB忬懺傪庢摼
	TSmbPGMusicMWLibStrgSyncStateInfo stateInfo;
	SmbPGStatus::GetMusicMWLibStrgSyncStateL(iAfEnv.PropAgent(), stateInfo);
	TUint8 state = 0;
	switch (aType)	// 儊儌儕庬暿
		{
	case CSmbExtMemWatcher::EMs:
		state = stateInfo.iMsState;			// 儊儌儕乕僗僥傿僢僋偺MusicDB忬懺傪庢摼偡傞
		break;
	case CSmbExtMemWatcher::ESd:
		state = stateInfo.iSdState;			// SD僇乕僪偺MusicDB忬懺傪庢摼偡傞
		break;
	case CSmbExtMemWatcher::EMass:
		state = stateInfo.iExStrgState;		// 杮懱奼挘儊儌儕偺MusicDB忬懺傪庢摼偡傞
		break;
	default:
		__ASSERT_ALWAYS(EFalse, PANIC(KErrArgument));
		break;
		}

	switch (state)	// MusicDB忬懺
		{
	case ESmbPGMusicMWLibStrgSyncIdle:		// DB巊梡壜 (DB埨掕忬懺)
		return EDbSyncIdle;
	case ESmbPGMusicMWLibStrgSyncSuspend:	// 僒僗儁儞僪拞 (杮懱奼挘儊儌儕/僼僅乕儅僢僩拞)
		return EDbSyncSuspend;
	case ESmbPGMusicMWLibStrgSyncUpdateDb:	// DB峏怴拞
	default:
		return EDbSyncUpdate;
		}	
	}


//TRK6558 8/21 start
/**
 * 尰嵼丆Music僼傽僀儖娗棟傾僾儕偑嵟慜柺偐偳偆偐傪庢摼偡傞丏敾掕忦審傪埲壓偵帵偡丏	
 * - Music僼傽僀儖娗棟傾僾儕偑嵟慜柺偲偡傞忦審:  僞僗僋愗懼偵傛傝杮傾僾儕偑嵟慜柺偵偒偨応崌
 * - Music僼傽僀儖娗棟傾僾儕偑嵟慜柺偲偟側偄忦審: 僞僗僋愗懼偵傛傝杮傾僾儕偑屻曽偵偒偨応崌
 *
 * @retval			ETrue				Music僼傽僀儖娗棟傾僾儕偑嵟慜柺(僞僗僋儊僯儏乕傪彍偔)偺応崌
 * @retval			EFalse				Music僼傽僀儖娗棟傾僾儕偑嵟慜柺偱側偄応崌
 */
TBool CSmbMusicAPFileMgrAppUi::IsTopApp(void) const
	{
	TBool isTopApp = ETrue;
	TRAPD(error, isTopApp = (PGPropAgentLaServer::TopAppL(iAfEnv.PropAgent()) == KSmbMusicAPFileMgrUid));
	if (error)
		{
		OUTPUT_LOG1_ERROR("PGPropAgentLaServer::TopAppL(): %d", error);
		}

	return isTopApp;
	}


//TRK5537 9/1 start
/**
 * 杮儊僜僢僪傪梡偄傞偙偲偱丆儕僗僩昞帵偵塭嬁傪梌偊傞傾僾儕偑婲摦偝傟偨偙偲偵傛傞丆
 * 儕僗僩偺嵞昞帵偑昁梫偐偳偆偐傪抦傞偙偲偑偱偒傞丏
 *
 * @retval			ETrue				儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑昁梫
 * @retval			EFalse				儕僗僩儃僢僋僗偺儕僼儗僢僔儏偑昁梫偱側偄
 * @see 			ResetNeedsToRefreshListBox()
 */
TBool CSmbMusicAPFileMgrAppUi::NeedsToRefreshListBox(void) const
	{
	return iNeedsToRefreshListBox;
	}


/**
 * 儕僗僩儃僢僋僗儕僼儗僢僔儏梫媮僼儔僌(iNeedsToRefreshListBox)傪儕僙僢僩(EFalse)偡傞丏
 */
void CSmbMusicAPFileMgrAppUi::ResetNeedsToRefreshListBox(void)
	{
	iNeedsToRefreshListBox = EFalse;
	}
//TRK5537 9/1 end


//TRK10800 10/3 start

⌨️ 快捷键说明

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