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

📄 smbmusicapfilemgrappui.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	{
	return static_cast<CSmbMusicAPFileMgrDocument*>(CAfAppUi::Document());
	}
#endif											// __PTX825MUSICAP__ katsu 仾


/**
 * @param[in]		aCommand	僐儅儞僪ID
 */
void CSmbMusicAPFileMgrAppUi::HandleCommandL(TInt aCommand)
	{
	switch(aCommand)
		{
	case EEikCmdExit:					// 傾僾儕廔椆
		ExitFileMgrApp();
		return;
	default:
		break;
		}
	// AppUi::HandleCommandL()偱徚旓偝傟側偄僐儅儞僪ID偼丆傾僋僥傿僽價儏乕偺僐儅儞僪偵徚旓偝偣傞
	if (ActiveView())
		{
		CSmbMusicAPFileMgrCmdBase& activeCmd = ActiveCmd();
		activeCmd.HandleViewCommandL(aCommand);
		}
	}

/**
 * 儈儏乕僕僢僋儊僀儞僾儗僀儎乕傪恊婲摦偡傞丏
 *
 * @param[in]		aCommand			僐儅儞僪ID
 * @return			StartApp偺栠傝抣
 * @panic			KErrArgument		僐儅儞僪ID偑憐掕奜偺応崌
 */
TInt CSmbMusicAPFileMgrAppUi::StartMusicAPMainPlayerApp(TInt aCommand)
	{
//TRK11894 10/19 start
	// 傾僾儕嫞崌娗棟傊偺廔椆捠抦 (StartApp慜偵捠抦偡傞偙偲偱丆傾僾儕婲摦悢挻夁偵側傜側偄傛偆偵偡傞)
//	NotifyStopFileMgrApp();
//TRK11894 10/19 end

	TUid viewUid;
	TUid messageUid;

	switch (aCommand)
		{
	case ECmdStartMainPlayer:				// 儈儏乕僕僢僋儊僀儞僾儗僀儎乕婲摦偺応崌
		viewUid    = KSmbMusicAPMainPlayerTopViewUid;						// 専嶕TOP夋柺
		messageUid = KSmbMusicAPMainPlayerStartFromMusicFileMgrMsgUid;		// 儈儏乕僕僢僋僼傽僀儖娗棟偐傜偺婲摦
		break;
	case ECmdShowOriginalPlaylist:			// 僆儕僕僫儖僾儗僀儕僗僩昞帵偺応崌
		viewUid    = KSmbMusicAPMainPlayerOriginalPLViewUid;				// 僆儕僕僫儖僾儗僀儕僗僩夋柺
		messageUid = KSmbMusicAPMainPlayerStartOriginalPLMsgUid;			// 僆儕僕僫儖僾儗僀儕僗僩
		break;
	case ECmdShowMassImportPlaylist:		// 僀儞億乕僩僾儗僀儕僗僩(杮懱奼挘儊儌儕)昞帵偺応崌
		viewUid    = KSmbMusicAPMainPlayerImportPLViewUid;					// 僀儞億乕僩僾儗僀儕僗僩夋柺
		messageUid = KSmbMusicAPMainPlayerStartMassFolderImportPLMsgUid;	// 僀儞億乕僩僾儗僀儕僗僩(杮懱奼挘儊儌儕)
		break;
	case ECmdShowMsImportPlaylist:			// 僀儞億乕僩僾儗僀儕僗僩(奜晹M.S.)昞帵偺応崌
		viewUid    = KSmbMusicAPMainPlayerImportPLViewUid;					// 僀儞億乕僩僾儗僀儕僗僩夋柺
		messageUid = KSmbMusicAPMainPlayerStartExtMSFolderImportPLMsgUid;	// 僀儞億乕僩僾儗僀儕僗僩(奜晹M.S.)
		break;
	case ECmdShowSdImportPlaylist:			// 僀儞億乕僩僾儗僀儕僗僩(奜晹SD僇乕僪)昞帵偺応崌
		viewUid    = KSmbMusicAPMainPlayerImportPLViewUid;					// 僀儞億乕僩僾儗僀儕僗僩夋柺
		messageUid = KSmbMusicAPMainPlayerStartExtSDFolderImportPLMsgUid;	// 僀儞億乕僩僾儗僀儕僗僩(奜晹SD僇乕僪)
		break;
//ADD-START PTX824
	case ECmdShowSdWMAPlaylist:			// WMA僾儗僀儕僗僩(奜晹SD僇乕僪)昞帵偺応崌
		viewUid    = KSmbMusicAPMainPlayerWMAPLViewUid;					// WMA僾儗僀儕僗僩僩夋柺
		messageUid = KSmbMusicAPMainPlayerStartExtSDFolderWMAPLMsgUid;	// WMA僾儗僀儕僗僩(奜晹SD僇乕僪)
		break;
//ADD-END PTX824
 	default:
 		__ASSERT_ALWAYS(EFalse, PANIC(KErrArgument));
 		return KErrArgument;
		}

	// 儈儏乕僕僢僋儊僀儞僾儗僀儎乕傪婲摦偡傞
//	RLauncherSession& laSession = iAfEnv.LauncherSession();
	RSmbLaSession& laSession = iSmbAfEnv.SmbLaSession();
//CQ-TRK4558 MOD-START PTX824
//	return laSession.StartApp(KSmbMusicAPMainPlayerUid, viewUid, messageUid, KNullDesC8);
	return laSession.StartAppAndEndMyself(KSmbMusicAPMainPlayerUid, viewUid, messageUid, KNullDesC8);
//CQ-TRK4558 MOD-END PTX824
	}


/**
 * 儈儏乕僕僢僋堦嬋嵞惗僾儗僀儎乕傪巕婲摦偡傞丏
 *
 * @param[in]		aSongId				嬋ID
 * @param[in]		aDeleteSong			ETrue: 嵞惗惂尷偵傛傞嵞惗晄壜僼傽僀儖傪嶍彍偡傞 / EFalse: 嶍彍偟側偄
 * @param[in]		aView				暅婣愭價儏乕
 * @return			StartApp偺栠傝抣
 */
TInt CSmbMusicAPFileMgrAppUi::StartMusicAPSinglePlayerApp(TUint64 aSongId, TBool aDeleteSong, MCoeView& aView)
	{
//TRK10800 10/3 start
	// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasUnMountedMemory(EFalse);									// 敳嫀敪惗偟偰偄側偄
//ADD-START PTX824
	// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasResourceNG(EFalse);									// 儕僜乕僗嫞崌敪惗偟偰偄側偄
	// 儊儌儕儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMemoryModeResourceNG(EFalse);								// 儊儌儕儌乕僪撍擖偟偰偄側偄
	// MTP儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMTPModeResourceNG(EFalse);									// MTP儌乕僪撍擖偟偰偄側偄
//ADD-END PTX824
//TRK10800 10/3 end

	// 婲摦僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
	TSmbMusicAPSinglePlayerStartParam param;
	param.iSongID         = aSongId;								// 嬋ID
	param.iPlayStartTime  = 0;										// 嵞惗奐巒埵抲: 愭摢偐傜嵞惗
	param.iPlayEndTime    = 0;										// 嵞惗廔椆埵抲: 廔抂傑偱嵞惗
	param.iPlayEnd        = EFalse;									// 嵞惗廔椆屻丆嬋愭摢埵抲偱掆巭
	param.iCountPlayLimit = ETrue;									// 嵞惗夞悢惂尷: 峴偆
	param.iDeleteSong     = aDeleteSong;							// 嵞惗惂尷僼傽僀儖傪嶍彍偡傞
	param.SetReturnView(aView);										// 暅婣愭
	TPckgBuf<TSmbMusicAPSinglePlayerStartParam> paramBuf(param);
	
	// 儈儏乕僕僢僋堦嬋嵞惗僾儗僀儎乕傪婲摦偡傞
//	RLauncherSession& laSession = iAfEnv.LauncherSession();
	RSmbLaSession& laSession = iSmbAfEnv.SmbLaSession();
	
//TRK5992 8/10 start
//	return laSession.StartApp(KSmbMusicAPSinglePlayerUid, KSmbMusicAPSinglePlayerViewUid, KSmbMusicAPSinglePlayerStartUid, paramBuf);
	iCurrentChildAppUid = KSmbMusicAPSinglePlayerUid;
//MOD-START PTX824
	TInt result = laSession.StartApp(iCurrentChildAppUid, KSmbMusicAPSinglePlayerViewUid, KSmbMusicAPSinglePlayerStartUid, paramBuf);
	if(KErrNone != result)
		{
		ResetCurrentChildAppUid();
		OUTPUT_LOG1_ERROR("ERROR::laSession.StartApp():KSmbMusicAPSinglePlayerStartUid::%d", result);
		}
	return result;
//MOD-END PTX824
//TRK5992 8/10 end
	}


/**
 * 儈儏乕僕僢僋徻嵶忣曬昞帵梡傾僾儕傪巕婲摦偡傞丏
 *
 * @param[in]		aSongId				嬋ID
 * @param[in]		aView				暅婣愭價儏乕
 * @return			StartApp偺栠傝抣
 */
TInt CSmbMusicAPFileMgrAppUi::StartMusicAPSongInfoApp(TUint64 aSongId, MCoeView& aView, TBool aEditSelect/* = EFalse */)
	{
	// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasUnMountedMemory(EFalse);									// 敳嫀敪惗偟偰偄側偄
//ADD-START PTX824
	// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasResourceNG(EFalse);										// 儕僜乕僗嫞崌敪惗偟偰偄側偄
	// 儊儌儕儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMemoryModeResourceNG(EFalse);									// 儊儌儕儌乕僪撍擖偟偰偄側偄
	// MTP儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMTPModeResourceNG(EFalse);									// MTP儌乕僪撍擖偟偰偄側偄
//ADD-END PTX824

	// 婲摦僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
	TSmbMusicAPSongInfoStartParam param;
	param.iSongID      = aSongId;									// 嬋ID
//MOD-START PTX824
//	param.iEditSelect  = EFalse;									// 曇廤壜斲愝掕: 曇廤偟側偄
	param.iEditSelect  = aEditSelect;								// 曇廤壜斲愝掕
//MOD-END PTX824
//TRK5293 7/27 start
//	param.iWebToSelect = EFalse;									// WebTo壜斲愝掕: WebTo晄壜
	param.iWebToSelect = ETrue;										// WebTo壜斲愝掕: WebTo壜
//TRK5293 7/27 end
	param.SetReturnView(aView);										// 暅婣愭
	TPckgBuf<TSmbMusicAPSongInfoStartParam> paramBuf(param);
	
	// 儈儏乕僕僢僋梡徻嵶忣曬傾僾儕傪婲摦偡傞
//	RLauncherSession& laSession = iAfEnv.LauncherSession();
	RSmbLaSession& laSession = iSmbAfEnv.SmbLaSession();

//TRK5992 8/10 start
//	return laSession.StartApp(KSmbMusicAPSongInfoUid, KSmbMusicAPSongInfoDetailViewUid, KSmbMusicAPSongInfoStartUid, paramBuf);
	iCurrentChildAppUid = KSmbMusicAPSongInfoUid;
//MOD-START PTX824
	TInt result = laSession.StartApp(iCurrentChildAppUid, KSmbMusicAPSongInfoDetailViewUid, KSmbMusicAPSongInfoStartUid, paramBuf);
	if(KErrNone != result)
		{
		ResetCurrentChildAppUid();
		OUTPUT_LOG1_ERROR("ERROR::laSession.StartApp():KSmbMusicAPSongInfoDetailViewUid::%d", result);
		}
	return result;
//MOD-END PTX824
//TRK5992 8/10 end
	}


/**
 * 僨乕僞BOX曐懚傾僾儕傪巕婲摦偡傞丏
 *
 * @param[in]		aFileName			曐懚懳徾偺僼傽僀儖柤(僼儖僷僗巜掕)
 * @param[in]		aOrigName			曐懚懳徾偺僆儕僕僫儖僞僀僩儖柤
 * @param[in]		aXDcmMove			X-Dcm-Move忣曬
 * @param[in]		aXDcmAdditional		X-Dcm-Additional忣曬
 * @param[in]		aView				暅婣愭價儏乕
 * @return			StartApp偺栠傝抣
 */
TInt CSmbMusicAPFileMgrAppUi::StartDbxFolderSelectApp(const TDesC& aFileName, const TDesC& aOrigName,
                                                      TInt aXDcmMove, TInt aXDcmAdditional, MCoeView& aView)
	{
//TRK10800 10/3 start
	// 奜晹儊儌儕敳嫀敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasUnMountedMemory(EFalse);									// 敳嫀敪惗偟偰偄側偄
//ADD-START PTX824
	// 儕僜乕僗嫞崌敪惗僼儔僌傪儕僙僢僩偡傞
	SetHasResourceNG(EFalse);									// 儕僜乕僗嫞崌敪惗偟偰偄側偄
	// 儊儌儕儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMemoryModeResourceNG(EFalse);									// 儊儌儕儌乕僪撍擖偟偰偄側偄
	// MTP儌乕僪撍擖僼儔僌傪儕僙僢僩偡傞
	SetHasMTPModeResourceNG(EFalse);									// MTP儌乕僪撍擖偟偰偄側偄
//ADD-END PTX824
//TRK10800 10/3 end

	// 價儏乕庬暿傪庢摼偡傞	
	TSmbMusicAPFileMgrViewType viewType = static_cast<CSmbMusicAPFileMgrViewBase&>(aView).ViewType();

	// 婲摦僷儔儊乕僞(僇僗僞儉儊僢僙乕僕)傪嶌惉偡傞
	TSmbDbxFolderSelectStartParam* param = new TSmbDbxFolderSelectStartParam();

	// 僼傽僀儖庬暿愝掕: 儅僀僺僋僠儍
	param->SetFileType(ESmbDbxPictureFile);							

//TRK6637 8/17 start
//	// 僼傽僀儖庢摼尦庬暿愝掕
//	switch (viewType)
//		{
//	// 僨乕僞BOX椞堟撪偺応崌
//	case ETypeDbxJacketImage:
//	case ETypeDbxLyricsImage:
//		// 僼傽僀儖庢摼尦庬暿愝掕: i儌乕僪丆僨僐儊僺僋僠儍丆儐乕僓僼僅儖僟
//		param->SetFileStoringType(ESmbDbxImodeFolder | ESmbDbxDecoMailFolder | ESmbDbxUserFolder);
//		break;
//	// 杮懱奼挘儊儌儕丆奜晹儊儌儕椞堟撪偺応崌
//	case ETypeMassJacketImage:
//	case ETypeMsJacketImage:
//	case ETypeSdJacketImage:
//	case ETypeMassLyricsImage:
//	case ETypeMsLyricsImage:
//	case ETypeSdLyricsImage:
//		// 僼傽僀儖庢摼尦庬暿愝掕: 僨僐儊僺僋僠儍, 僨乕僞岎姺丆儐乕僓僼僅儖僟
//		param->SetFileStoringType(ESmbDbxDecoMailFolder | ESmbDbxDataExchangeFolder | ESmbDbxUserFolder);
//		break;
//	default:
//		__ASSERT_ALWAYS(EFalse, PANIC(KErrArgument));
//		break;
//		}
	// 僼傽僀儖庢摼尦庬暿愝掕: i儌乕僪丆僨僐儊僺僋僠儍丆儐乕僓僼僅儖僟
	param->SetFileStoringType(ESmbDbxImodeFolder | ESmbDbxDecoMailFolder | ESmbDbxUserFolder);
//TRK6637 8/17 end

	// 奜晹儊儌儕慖戰愝掕: 杮懱慖戰(僨乕僞BOX)
	param->SetExtSelection(ESmbDbxDatabox);

//TRK6980 8/21 start
//MOD-START PTX824
//	// 曐懚儌乕僪巜掕: 忋彂偒儌乕僪(儊儌儕晄懌帪偵嶍彍傾僾儕傪婲摦)
	param->SetSaveMode(ESmbDbxDeleteSave);							
	// 曐懚儌乕僪巜掕: 曐懚儌乕僪(儊儌儕晄懌帪偵偼曐懚偣偢偵屇傃弌偟尦偵栠傞)
//	param->SetSaveMode(ESmbDbxSave);
//MOD-END PTX824							
//TRK6980 8/21 end

	// 曐懚懳徾僼傽僀儖偺僼儖僷僗愝掕
	param->SetRegistFileName(aFileName);						

	// 僆儕僕僫儖僼傽僀儖柤愝掕
//TRK11666 10/17 start
//	if (aOrigName.Length() > 0)
	TInt size = aOrigName.Size();
	if (size > 0 && size <= KSmbMusicAPFileMgrMaxLengthOfDbxFileName)
//TRK11666 10/17 end
		{
		// 僼傽僀儖柤挿偑婯掕斖埻撪偱偁傟偽丆僆儕僕僫儖僼傽僀儖柤傪愝掕偡傞
		param->SetRegistOrgName(aOrigName);							
		}
	
	// 庢摼尦傾僾儕働乕僔儑儞庬暿愝掕: i儌乕僪
	param->SetRegistSourceAp(ESmbDbxBrowserSource);

	// 僟僂儞儘乕僪尦URL愝掕: (枹掕媊)
	//	parma->SetRegistURL(...);					

	// 嵞惗惂尷: 側偟
	param->SetRegistLimitation(ESmbDbxLimitNone);

	// 僷乕僜僫儖僨乕僞戅旔忣曬愝掕: 戅旔懳徾
	param->SetRegistTakeShelter(ETrue);

	// 嵞攝晍幆暿巕愝掕: (愝掕偟側偄)
//TRK5550 8/3 start
//	param->SetRegistDistribution(ETrue);					
    // 夋憸僨乕僞偵娷傑傟傞嵞攝晍幆暿巕傪梡偄傞偨傔丆SetRegistDistribution()偵傛傞愝掕偼昁梫側偄
//TRK5550 8/3 end

//TRK5281 8/28 start
	// X-Dcm-Move忣曬偍傛傃X-Dcm-Additional忣曬愝掕
	param->SetXDcmMoveAndAdditional(aXDcmMove, aXDcmAdditional);
//TRK5281 8/28 end

	// 僀儊乕僕僐儞僥儞僣偺奿擺摿庩暿愝掕: (巜掕側偟)
	param->SetRegistPreservePlace(ESmbDbxExtraNone);

//TRK6845 9/12 start
	// 姰椆億僢僾傾僢僾旕昞帵愝掕: 旕昞帵
	param->SetDisableFinishedPopup();
//TRK6845 9/12 end

	// 暅婣愭傪愝掕偡傞 (捠忢偺SetReturnView偼偩傔)
	param->SetReturnView(CEikonEnv::Static()->EikAppUi()->Application()->AppDllUid(), aView.ViewId().iViewUid);
	TSmbDbxFolderSelectStartParamBuf paramBuf(*param);
	delete param;
	
	// 僨乕僞BOX僼傽僀儖曐懚傾僾儕傪婲摦偡傞
//	RLauncherSession& laSession = iAfEnv.LauncherSession();
	RSmbLaSession& laSession = iSmbAfEnv.SmbLaSession();

//TRK5992 8/10 start
//	return laSession.StartApp(KSmbDbxFolderSelectAppUid, KSmbDbxFolderSelectViewUid, KSmbDbxFolderSelectMsgUid, paramBuf);
	iCurrentChildAppUid = KSmbDbxFolderSelectAppUid;
//MOD-START PTX824
	TInt result = laSession.StartApp(iCurrentChildAppUid, KSmbDbxFolderSelectViewUid, KSmbDbxFolderSelectMsgUid, paramBuf);
	if(KErrNone != result)
		{
		ResetCurrentChildAppUid();
		OUTPUT_LOG1_ERROR("ERROR::laSession.StartApp():KSmbDbxFolderSelectViewUid::%d", result);
		}
	return result;
//MOD-END PTX824
//TRK5992 8/10 end
	}


/**
 * 僽儔僂僓傪恊婲摦偡傞丏
 *

⌨️ 快捷键说明

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