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

📄 smbmusicaplibissettingfunc.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
void SmbMusicAPLibIsSettingFunc::GetSettingContentsIdsL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, RArray<TInt>& aContentsIdArray )
	{
	TBool ret(EFalse);
//抂枛儌乕僪偵娭學側偔弶婜壔偟側偄偲偄偗側偄偨傔	
//ADD-START PTX824
	//抂枛儌乕僪傪僠僃僢僋
//	TIsSettingHyperMultiMode hyperMultiMode = EIsSettingHyperMultiModeNone;
//	hyperMultiMode = IsSettingHyperMultiMode(aPropAgent);
//	switch(hyperMultiMode)
//		{
//		case EIsSettingHyperMultiModeNone:
//		case EIsSettingHyperMultiModeANumber:
//		case EIsSettingHyperMultiModeDualNumber:
			//B僫儞僶乕埲奜偼壓婰偺張棟偑懕偔
//			break;
//		case EIsSettingHyperMultiModeBNumber:
//		default:
			//B僫儞僶乕帪偼張棟側偟
//			return;
//		}
//ADD-END PTX824

	TUid uid;
	uid.iUid = KMusicAPLibUid;
//MOD-START PTX824
//	CSmbSettingUtility utility;
	CSmbSettingUtility* utility = new (ELeave) CSmbSettingUtility();
	CleanupStack::PushL(utility);
//MOD-END PTX824
	CSmbSettingUtility::TSettingContentsResult retUtil = CSmbSettingUtility::ESettingAbnormalEnd;
	CSmbSettingUtility::TSettingUtilContentsStr contentInfo;

	// 壒惡揹榖乗拝怣壒

	// 愝掕抣庢摼
	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_TelRecv, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
	if(CSmbSettingUtility::ESettingNormalEnd == retUtil)	// 庢摼惉岟
		{
		if(contentInfo.iFileType == ESmbDbxMusicFile)
			{
				if(contentInfo.iContensID >= 0) // 僐儞僥儞僣ID偑桳岠偐偳偆偐
				{
				ret = SearchArray(aContentsIdArray, contentInfo.iContensID);
				if(!ret)
					{
					aContentsIdArray.Append(contentInfo.iContensID);
					}
				}
			}
		}
	

	// TV揹榖亅拝怣壒
	
	// 愝掕抣庢摼
	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_TvRecv, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
	if(CSmbSettingUtility::ESettingNormalEnd == retUtil)	// 庢摼惉岟
		{
		if(contentInfo.iFileType == ESmbDbxMusicFile)
			{
				if(contentInfo.iContensID >= 0) // 僐儞僥儞僣ID偑桳岠偐偳偆偐
				{
				ret = SearchArray(aContentsIdArray, contentInfo.iContensID);
				if(!ret)
					{
					aContentsIdArray.Append(contentInfo.iContensID);
					}
				}
			}
		}
		

	// i儌乕僪儊乕儖乗庴怣拞壒
	
	// 愝掕抣庢摼
//DEL-START PTX824
//	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_MailRecv, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
//DEL-END PTX824
//ADD-START PTX824
	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_MailComplete, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
//ADD-END PTX824
	if(CSmbSettingUtility::ESettingNormalEnd == retUtil)	// 庢摼惉岟
		{
		if(contentInfo.iFileType == ESmbDbxMusicFile)
			{
				if(contentInfo.iContensID >= 0) // 僐儞僥儞僣ID偑桳岠偐偳偆偐
				{
				ret = SearchArray(aContentsIdArray, contentInfo.iContensID);
				if(!ret)
					{
					aContentsIdArray.Append(contentInfo.iContensID);
					}
				}
			}
		}
		
		
	// PoC乗拝怣壒
	
	// 愝掕抣庢摼
	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_PocRecv, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
	if(CSmbSettingUtility::ESettingNormalEnd == retUtil)	// 庢摼惉岟
		{
		if(contentInfo.iFileType == ESmbDbxMusicFile)
			{
				if(contentInfo.iContensID >= 0) // 僐儞僥儞僣ID偑桳岠偐偳偆偐
				{
				ret = SearchArray(aContentsIdArray, contentInfo.iContensID);
				if(!ret)
					{
					aContentsIdArray.Append(contentInfo.iContensID);
					}
				}
			}
		}
		

	// 儊僢僙乕僕R乗庴怣拞壒
	
	// 愝掕抣庢摼
//DEL-START PTX824
//	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_MsgRRecv, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
//DEL-END PTX824
//ADD-START PTX824
	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_MsgRComplete, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
//ADD-END PTX824
	if(CSmbSettingUtility::ESettingNormalEnd == retUtil)	// 庢摼惉岟
		{
		if(contentInfo.iFileType == ESmbDbxMusicFile)
			{
				if(contentInfo.iContensID >= 0) // 僐儞僥儞僣ID偑桳岠偐偳偆偐
				{
				ret = SearchArray(aContentsIdArray, contentInfo.iContensID);
				if(!ret)
					{
					aContentsIdArray.Append(contentInfo.iContensID);
					}
				}
			}
		}
		

	// 儊僢僙乕僕F乗庴怣拞壒

	// 愝掕抣庢摼
//DEL-START PTX824
//	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_MsgFRecv, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
//DEL-END PTX824
//ADD-START PTX824
	retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_MsgFComplete, uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
//ADD-END PTX824
	if(CSmbSettingUtility::ESettingNormalEnd == retUtil)	// 庢摼惉岟
		{
		if(contentInfo.iFileType == ESmbDbxMusicFile)
			{
				if(contentInfo.iContensID >= 0) // 僐儞僥儞僣ID偑桳岠偐偳偆偐
				{
				ret = SearchArray(aContentsIdArray, contentInfo.iContensID);
				if(!ret)
					{
					aContentsIdArray.Append(contentInfo.iContensID);
					}
				}
			}
		}
	
//ADD-START PTX824
	CleanupStack::PopAndDestroy(utility);
//ADD-END PTX824	
		
	}

/**
*  揹榖挔偵愝掕偝傟偰偄傞僐儞僥儞僣ID庢摼
*
*  @param[in]  aContentsIdArray  僐儞僥儞僣ID堦棗
*  @return 側偟
*/
void SmbMusicAPLibIsSettingFunc::GetPhonebookSettingContentsIdsL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, RArray<TInt>& aContentsIdArray )
	{
	// DLL儘乕僪
	TFileName dll;
	dll = KPAAddressbookEngDll;
	RLibrary lib;
	User::LeaveIfError(lib.Load(dll));
	CleanupClosePushL(lib);				// lib

	// CPAManager僋儔僗惗惉
	TLibraryFunction entry = lib.Lookup(1);
	CPAManager* manager = NULL;
	manager = reinterpret_cast<CPAManager*>(entry());
	if(NULL == manager)
		{
		User::Leave(KErrAccessDenied);
		}
	CleanupStack::PushL(manager);		// manager

	CPAItemArray* array;
	array = manager->CreateItemArrayL();
	CleanupStack::PushL(array);			// array

	array->SetViewDef(CPAGroup::EMs);	// 嶲徠愭巜掕
	
//ADD-START PTX824
	//抂枛儌乕僪傪僠僃僢僋仌揹榖挔僄儞僕儞偵僙僢僩
	TIsSettingHyperMultiMode hyperMultiMode = EIsSettingHyperMultiModeNone;
	hyperMultiMode = IsSettingHyperMultiMode(aPropAgent);
	switch(hyperMultiMode)
		{
		case EIsSettingHyperMultiModeNone:
			array->SetHmnModeAttr(CPEContactDataBase::EMDisable);
			break;
		case EIsSettingHyperMultiModeANumber:
			array->SetHmnModeAttr(CPEContactDataBase::EAMode);
			break;
		case EIsSettingHyperMultiModeDualNumber:
			array->SetHmnModeAttr(CPEContactDataBase::ENMode);
			break;
		case EIsSettingHyperMultiModeBNumber:
			array->SetHmnModeAttr(CPEContactDataBase::EBMode);
			break;
		default:
			break;
		}
//ADD-END PTX824

	// 庢摼
	const RArray<TInt>& contentArray = array->GetContentsIdsL(KPAContentsIdMusic, KPAContentsInAddressbook);

	TBool ret(EFalse);
	
	// 堦棗偵捛壛
	for(TInt i = 0; i < contentArray.Count(); i++)
		{
		if(contentArray[i] > 0)  // 僐儞僥儞僣ID偑桳岠偐偳偆偐
			{
			ret = SearchArray(aContentsIdArray, contentArray[i]);
			if(!ret)
				{
				aContentsIdArray.Append(contentArray[i]);
				}
			}	
		}

	CleanupStack::PopAndDestroy(3);	// lib, manager, array

	}

/**
*  傾儔乕儉愝掕儕僙僢僩
*
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 愝掕抣曄峏桳柍乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::ResetIfSetAlermL( TInt aContentsId )
	{
	TBool ret(EFalse); 			// 愝掕忬嫷
	TBool result(EFalse); 		// 愝掕抣曄峏寢壥
	
	CSmbAlmsetEngAlarmContentsInterface* alarmEng;
	alarmEng = SmbAlmsetEngAlarmContentsInterfaceFactory::CreateAlarmContentsInterfaceL();
	CleanupStack::PushL(alarmEng);
	
	// 愝掕忬嫷庢摼
	ret = IsSettingAlermInfoL(aContentsId);
	if(ret)  // 愝掕偝傟偰偄傞応崌
		{
		result = alarmEng->ResetL(aContentsId, ESmbAlmsetEngMusic);  // 愝掕抣儕僙僢僩
		}
	
	CleanupStack::PopAndDestroy(alarmEng);
	
	return result;
	}

/**
*  僗働僕儏乕儖傾儔乕儉愝掕儕僙僢僩
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 愝掕抣曄峏桳柍乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::ResetIfSetScheduleAlermL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, TInt aContentsId )
	{
//DEL-START PTX824
//	if(IsSettingScheduleAlermInfoL(aPropAgent, aContentsId))
//		{
//		SmbPGScheduler::ResetSchedulerAlarmSoundTypeL(aPropAgent);
//		SmbPGScheduler::ResetSchedulerAlarmSoundL(aPropAgent);
//		return ETrue;
//		}
//DEL-END PTX824
//ADD-START PTX824
	if(IsSettingScheduleAlermInfoL(aPropAgent, aContentsId))
		{
		CSmbSchEngAlarmUtility* utility = CSmbSchEngAlarmUtility::NewL(aPropAgent);
		CleanupStack::PushL(utility);
		utility->ResetAlarmSoundContentsL();
		CleanupStack::PopAndDestroy(utility);
		return ETrue;
		}		
//ADD-END PTX824
	return EFalse;
	}

/**
*  儅儖僠僫儞僶乕愝掕儕僙僢僩
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 愝掕抣曄峏桳柍乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::ResetIfSetMultiNumberL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, TInt aContentsId )
	{
	TBool result(EFalse); 		// 愝掕抣曄峏寢壥
	
	// 愝掕抣庢摼
	TPGAdditionNumberRingTonesData ringTones;
//MOD-START PTX824
	TRAPD(error, PGPropAgentSound::GetAdditionNumberRingTonesL(aPropAgent, ringTones));
	if(KErrNone != error)
		{
		_LIT(KMusicAPLibIsSettingFuncFunc4, "LEAVE::PGPropAgentSound::GetAdditionNumberRingTonesL() = %d");
		SmbMusicAPLibLog(3, ELogLevelHigh, KMusicAPLibIsSettingFuncFunc4, error);
		return EFalse;
		}
//MOD-END PTX824

	// 僒僀儗儞僩偺応崌丄EFalse
	if(EFalse != ringTones.iItems[0].iRingTone)
		{
		// 儅儖僠僫儞僶乕拝怣壒1
		if(ESmbPGAdditionNumberRingToneKindMusic == ringTones.iItems[0].iContentsKind)	// 僼儖妝嬋
			{
			if(aContentsId == ringTones.iItems[0].iRingToneType)
				{
//MOD-START PTX824
				TRAPD(error, PGPropAgentSound::ResetAdditionNumberOneRingToneL(aPropAgent));
				if(KErrNone != error)
					{
					//儘僌傪弌椡
					_LIT(KMusicAPLibIsSettingFuncFunc1, "LEAVE::PGPropAgentSound::ResetAdditionNumberOneRingToneL() = %d");
					SmbMusicAPLibLog(0, ELogLevelHigh, KMusicAPLibIsSettingFuncFunc1, error);
					return EFalse;
					}
//MOD-END PTX824
				result = ETrue;
				}
			}
		// 儅儖僠僫儞僶乕拝怣壒2
		if(ESmbPGAdditionNumberRingToneKindMusic == ringTones.iItems[1].iContentsKind)	// 僼儖妝嬋
			{
			if(aContentsId == ringTones.iItems[1].iRingToneType)
				{
//MOD-START PTX824
				TRAPD(error, PGPropAgentSound::ResetAdditionNumberTwoRingToneL(aPropAgent));
				if(KErrNone != error)
					{
					//儘僌傪弌椡
					_LIT(KMusicAPLibIsSettingFuncFunc5, "LEAVE::PGPropAgentSound::ResetAdditionNumberTwoRingToneL() = %d");
					SmbMusicAPLibLog(4, ELogLevelHigh, KMusicAPLibIsSettingFuncFunc5, error);
					return EFalse;
					}
//MOD-END PTX824
				result = ETrue;
				}
			}
		}
		
	return result;
	}

/**
*  拝怣愝掕儕僙僢僩
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aSettingKind  拝怣愝掕偺拝怣壒庬暿
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 愝掕抣曄峏桳柍乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::ResetIfSettingL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, SmbMusicAPLibIsSettingFunc::TIsSettingKind aSettingKind, TInt aContentsId )
	{
//MOD-START PTX824
//	CSmbSettingUtility utility;
	CSmbSettingUtility* utility = new (ELeave) CSmbSettingUtility();
	CleanupStack::PushL(utility);
//MOD-END PTX824
	TBool ret(EFalse);

	switch(aSettingKind)
		{
		case EIsSettingKindTelRecvMelody:		// 壒惡揹榖乗拝怣壒
//MOD-START PTX824
			//抂枛儌乕僪偵娭學側偔儕僙僢僩偡傞昁梫偑偁傞偨傔乮A僫儞僶乕乯
			if(IsSettingSetInfoL( aPropAgent, aSettingKind, aContentsId, EFalse ))
//MOD-END PTX824
				{
				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_TelRecv);
				ret = ETrue;
				}
//ADD-START PTX824
			//抂枛儌乕僪偵娭學側偔儕僙僢僩偡傞昁梫偑偁傞偨傔乮B僫儞僶乕乯
			if(IsSettingBNumberSetInfoL( aPropAgent, aSettingKind, aContentsId, EFalse ))
				{
				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_TelRecv, CSmbSettingUtility::ESettingHmnModeB);
				ret = ETrue;
				}
//ADD-END PTX824
			break;
			
		case EIsSettingKindTvRecvMelody:		// TV揹榖亅拝怣壒
//MOD-START PTX824
			//抂枛儌乕僪偵娭學側偔儕僙僢僩偡傞昁梫偑偁傞偨傔乮A僫儞僶乕乯
			if(IsSettingSetInfoL( aPropAgent, aSettingKind, aContentsId, EFalse ))
//MOD-END PTX824
				{
				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_TvRecv);
				ret = ETrue;
				}
//ADD-START PTX824
			//抂枛儌乕僪偵娭學側偔儕僙僢僩偡傞昁梫偑偁傞偨傔乮B僫儞僶乕乯
			if(IsSettingBNumberSetInfoL( aPropAgent, aSettingKind, aContentsId, EFalse ))
				{
				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_TvRecv, CSmbSettingUtility::ESettingHmnModeB);
				ret = ETrue;
				}
//ADD-END PTX824
			break;
			
		case EIsSettingKindPocRecvMelody:		// PoC亅拝怣壒
			if(IsSettingSetInfoL( aPropAgent, aSettingKind, aContentsId ))
				{
				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_PocRecv);
				ret = ETrue;
				}
			break;
			
		case EIsSettingKindMailRecvMelody:	// i儌乕僪儊乕儖亅庴怣拞壒
			if(IsSettingSetInfoL( aPropAgent, aSettingKind, aContentsId ))
				{
//MOD-START PTX824
//				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_MailRecv);
				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_MailComplete);
//MOD-END PTX824
				ret = ETrue;
				}
			break;
			
		case EIsSettingKindMsgRRecvMelody:	// 儊僢僙乕僕R亅庴怣拞壒
			if(IsSettingSetInfoL( aPropAgent, aSettingKind, aContentsId ))
				{
//MOD-START PTX824
//				utility->DefaultMelodySettingL(aPropAgent, CSmbSettingUtility::ESetCKind_MsgRRecv);

⌨️ 快捷键说明

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