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

📄 smbmusicaplibissettingfunc.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
	
	CSmbAlmsetEngAlarmContentsInterface* alarmEng;
	alarmEng = SmbAlmsetEngAlarmContentsInterfaceFactory::CreateAlarmContentsInterfaceL();
	CleanupStack::PushL(alarmEng);

	TBool ret(EFalse);
	ret = alarmEng->IsUsedL(aContentsId, ESmbAlmsetEngMusic);

	CleanupStack::PopAndDestroy(alarmEng);
	
	return ret;
	}

/**
*  僗働僕儏乕儖傾儔乕儉偵愝掕偝傟偰偄傞偐
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 僗働僕儏乕儖傾儔乕儉愝掕忬嫷乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::IsSettingScheduleAlermInfoL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, TInt aContentsId )
	{
//DEL-START PTX824	
	// 僐儞僥儞僣庬暿
//	TSmbPGSchedulerAlarmSoundType alarmType = SmbPGScheduler::SchedulerAlarmSoundTypeL(aPropAgent);
	
	// 寢壥敾掕
//	TBool ret(EFalse);
	
//	if(ESmbPGScheduleAlarmMusic == alarmType)	// 僐儞僥儞僣庬暿敾掕
//		{
		// 僐儞僥儞僣ID
//		TInt contentId = SmbPGScheduler::SchedulerAlarmSoundL(aPropAgent);
//		if(aContentsId == contentId)	// 僐儞僥儞僣ID敾掕
//			{
//			ret = ETrue;
//			}
//		}
//DEL-END PTX824	
//ADD-START PTX824
	CSmbSchEngAlarmUtility* utility = CSmbSchEngAlarmUtility::NewL(aPropAgent);
	CleanupStack::PushL(utility);

	// 寢壥敾掕
	TBool ret(EFalse);
	// 僐儞僥儞僣庬暿
	TSmbSchEngAlarmSoundType alarmType = utility->SchedulerAlarmSoundTypeL();
	
	if(ESmbSchEngAlarmSoundTypeMusic == alarmType)
		{		
		// 僐儞僥儞僣ID
		TInt contentId = utility->SchedulerAlarmSoundL();
		if(aContentsId == contentId)	// 僐儞僥儞僣ID敾掕
			{
			ret = ETrue;
			}
		}		
	CleanupStack::PopAndDestroy(utility);
//ADD-END PTX824
	return ret;
	}

/**
*  儅儖僠僫儞僶乕拝怣偵愝掕偝傟偰偄傞
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 儅儖僠僫儞僶乕拝怣愝掕忬嫷乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::IsSettingMultiNumberInfoL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, TInt aContentsId )
	{
	// 愝掕抣庢摼
	TPGAdditionNumberRingTonesData ringTones;
//MOD-START PTX824
	TRAPD(error, PGPropAgentSound::GetAdditionNumberRingTonesL(aPropAgent, ringTones));
	if(KErrNone != error)
		{
		//儘僌傪弌椡
		_LIT(KMusicAPLibIsSettingFuncFunc2, "LEAVE::PGPropAgentSound::GetAdditionNumberRingTonesL() = %d");
		SmbMusicAPLibLog(1, ELogLevelHigh, KMusicAPLibIsSettingFuncFunc2, error);
		return EFalse;
		}
//MOD-END PTX824

	for(TInt i = 0; i < 2; i++)
		{
		// 僒僀儗儞僩偺応崌丄EFalse
		if(EFalse != ringTones.iItems[i].iRingTone)
			{
			// 儅儖僠僫儞僶乕拝怣壒
			if(ESmbPGAdditionNumberRingToneKindMusic == ringTones.iItems[i].iContentsKind)	// 僼儖妝嬋
				{
				if(aContentsId == ringTones.iItems[i].iRingToneType)
					{
					return ETrue;
					}
				}
			}
		}	
	return EFalse;
	}

/**
*  拝怣愝掕偵愝掕偝傟偰偄傞偐
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aSettingKind  拝怣愝掕偺拝怣壒庬暿
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 拝怣愝掕忬嫷乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::IsSettingSetInfoL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, SmbMusicAPLibIsSettingFunc::TIsSettingKind aSettingKind, TInt aContentsId, TBool aMode /*= ETrue*/ )
	{
	TBool ret(EFalse);
//ADD-START PTX824
//CQ-TRK11494 MOD-START PTX824
	//抂枛儌乕僪偑桳岠側応崌
//	if(aMode)
	//抂枛儌乕僪偑桳岠側応崌偐偮壒惡拝怣傑偨偼TV揹榖拝怣壒偺応崌
	if((aMode) && ((EIsSettingKindTelRecvMelody == aSettingKind) || (EIsSettingKindTvRecvMelody == aSettingKind)))
//CQ-TRK11494 MOD-END PTX824
		{
		//抂枛儌乕僪傪僠僃僢僋
		TIsSettingHyperMultiMode hyperMultiMode = EIsSettingHyperMultiModeNone;
		hyperMultiMode = IsSettingHyperMultiMode(aPropAgent);
		switch(hyperMultiMode)
			{
			case EIsSettingHyperMultiModeNone:
			case EIsSettingHyperMultiModeANumber:
			case EIsSettingHyperMultiModeDualNumber:
				//B僫儞僶乕埲奜偼壓婰偺張棟偑懕偔
				break;
			case EIsSettingHyperMultiModeBNumber:
			default:
				//B僫儞僶乕帪偼張棟側偟
				return ret;
			}
		}	
//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;
	
	switch(aSettingKind)
		{
		case EIsSettingKindTelRecvMelody:		// 壒惡揹榖乗拝怣壒
			{
			retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_TelRecv,
										uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
			break;
			}
					
			
		case EIsSettingKindTvRecvMelody:		// TV揹榖亅拝怣壒
			{
			retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_TvRecv,
										uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
			break;
			}		
		
		case EIsSettingKindPocRecvMelody:		// PoC乗拝怣壒
			{
			retUtil = utility->GetMelodyIDL(aPropAgent, CSmbSettingUtility::ESetCKind_PocRecv,
										uid, contentInfo, CSmbSettingUtility::ESettingCheckKindNone);
			break;
			}
	
	
		case EIsSettingKindMailRecvMelody:	// 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
			break;
			}
		

		case EIsSettingKindMsgRRecvMelody:	// 儊僢僙乕僕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
			break;
			}

		case EIsSettingKindMsgFRecvMelody:	// 儊僢僙乕僕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
			break;
			}
			
		default:
			{
			retUtil = CSmbSettingUtility::ESettingAbnormalEnd;
			break;
			}
				
		}
	
	// 愝掕抣庢摼惉岟
	if(CSmbSettingUtility::ESettingNormalEnd == retUtil)
		{
		// 僐儞僥儞僣庬暿敾掕
		if(ESmbDbxMusicFile == contentInfo.iFileType)
			{
			// 僐儞僥儞僣ID敾掕
			if(aContentsId == contentInfo.iContensID)
				{
				ret = ETrue;
				}
			}
		}
//ADD-START PTX824
	CleanupStack::PopAndDestroy(utility);
//ADD-END PTX824	
	return ret;
	}

/**
*  揹榖挔偵愝掕偝傟偰偄傞偐
*
*  @param[in]  aContentsId  僐儞僥儞僣ID
*  @return 揹榖挔愝掕忬嫷乮桳丗ETrue丆柍丗EFalse乯
*/
TBool SmbMusicAPLibIsSettingFunc::IsSettingPhonebookInfoL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, const TInt& aContentsId, TBool aMode /*= ETrue*/  )
	{
	// CPAManager僋儔僗惗惉
	TFileName dll;
	dll = KPAAddressbookEngDll;

	RLibrary lib;
	User::LeaveIfError(lib.Load(dll));
	CleanupClosePushL(lib);
	TLibraryFunction entry = lib.Lookup(1);

	CPAManager* manager = NULL;
	manager = reinterpret_cast<CPAManager*>(entry());
	if(NULL == manager)
		{
		User::Leave(KErrAccessDenied);
		}
	CleanupStack::PushL(manager);

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

	array->SetViewDef(CPAGroup::EMs);		// 杮懱巜掕

	// 巊梡桳柍僠僃僢僋
	TBool ret(EFalse);
	
//ADD-START PTX824
//CQ-TRK7538-START PTX824
	if(aMode)
		{
		//抂枛儌乕僪傪僠僃僢僋仌揹榖挔僄儞僕儞偵僙僢僩
		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;
			}		
		}
	else
		{
		//儌乕僪偵娭學側偄応崌偼僨儏傾儖儌乕僪偱庢摼
		array->SetHmnModeAttr(CPEContactDataBase::ENMode);
		}
//CQ-TRK7538-END PTX824
//ADD-END PTX824

	ret = array->IsUseContents(KPAContentsIdMusic, aContentsId, KPAContentsInAddressbook);

	CleanupStack::PopAndDestroy(3);

	return ret;
	}

/**
*  傾儔乕儉偵愝掕偝傟偰偄傞僐儞僥儞僣ID庢摼
*
*  @param[in]  aContentsIdArray  僐儞僥儞僣ID堦棗
*  @return 側偟
*/
void SmbMusicAPLibIsSettingFunc::GetAlermSettingContentsIdsL( RArray<TInt>& aContentsIdArray )
	{
	// 僄儞僕儞惗惉
	CSmbAlmsetEngAlarmContentsInterface* alarmEng;
	alarmEng = SmbAlmsetEngAlarmContentsInterfaceFactory::CreateAlarmContentsInterfaceL();
	CleanupStack::PushL(alarmEng);

	// 堦棗庢摼
	const RArray<TInt>& contentId = alarmEng->GetContentsTypesL(ESmbAlmsetEngMusic);

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

	CleanupStack::PopAndDestroy(alarmEng);
	}

/**
*  僗働僕儏乕儖傾儔乕儉偵愝掕偝傟偰偄傞僐儞僥儞僣ID庢摼
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aContentsIdArray  僐儞僥儞僣ID堦棗
*  @return 側偟
*/
void SmbMusicAPLibIsSettingFunc::GetScheduleAlermSettingContentsIdsL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, RArray<TInt>& aContentsIdArray )
	{
//DEL-START PTX824
	// 僐儞僥儞僣庬暿
//	TSmbPGSchedulerAlarmSoundType alarmType = SmbPGScheduler::SchedulerAlarmSoundTypeL(aPropAgent);
	
//	if(ESmbPGScheduleAlarmMusic == alarmType)
//		{
		
//		TBool ret(EFalse);
		
		// 僐儞僥儞僣ID
//		TInt contentId = SmbPGScheduler::SchedulerAlarmSoundL(aPropAgent);
//		if(contentId > 0)	// 僐儞僥儞僣ID敾掕
//			{
//			ret = SearchArray(aContentsIdArray, contentId);
//			if(!ret)
//				{
//				aContentsIdArray.Append(contentId);
//				}
//			}
//		}
//DEL-END PTX824	
//ADD-START PTX824
	CSmbSchEngAlarmUtility* utility = CSmbSchEngAlarmUtility::NewL(aPropAgent);
	CleanupStack::PushL(utility);
	// 僐儞僥儞僣庬暿
	TSmbSchEngAlarmSoundType alarmType = utility->SchedulerAlarmSoundTypeL();
	
	if(ESmbSchEngAlarmSoundTypeMusic == alarmType)
		{
		// 寢壥敾掕
		TBool ret(EFalse);
			
		// 僐儞僥儞僣ID
		TInt contentId = utility->SchedulerAlarmSoundL();
		if(contentId >= 0)	// 僐儞僥儞僣ID敾掕
			{
			ret = SearchArray(aContentsIdArray, contentId);
			if(!ret)
				{
				aContentsIdArray.Append(contentId);
				}
			}
		}	
	CleanupStack::PopAndDestroy(utility);
//ADD-END PTX824
	}

/**
*  儅儖僠僫儞僶乕偵愝掕偝傟偰偄傞僐儞僥儞僣ID庢摼
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aContentsIdArray  僐儞僥儞僣ID堦棗
*  @return 側偟
*/
void SmbMusicAPLibIsSettingFunc::GetMultiNumberSettingContentsIdsL( DCM_NAMESPACE::RPGPropAgent& aPropAgent, RArray<TInt>& aContentsIdArray )
	{
	// 愝掕抣庢摼
	TPGAdditionNumberRingTonesData ringTones;
//MOD-START PTX824
	TRAPD(error, PGPropAgentSound::GetAdditionNumberRingTonesL(aPropAgent, ringTones));
	if(KErrNone != error)
		{
		_LIT(KMusicAPLibIsSettingFuncFunc3, "LEAVE::PGPropAgentSound::GetAdditionNumberRingTonesL() = %d");
		SmbMusicAPLibLog(2, ELogLevelHigh, KMusicAPLibIsSettingFuncFunc3, error);
		return;
		}
//MOD-END PTX824

	TBool ret(EFalse);
	
	// 僒僀儗儞僩偺応崌丄EFalse
	if(EFalse != ringTones.iItems[0].iRingTone)
		{
		for(TInt i = 0; i < 2; i++)
			{
			// 儅儖僠僫儞僶乕拝怣壒
			if(ESmbPGAdditionNumberRingToneKindMusic == ringTones.iItems[i].iContentsKind)	// 僼儖妝嬋
				{	
				ret = SearchArray(aContentsIdArray, ringTones.iItems[i].iRingToneType);
				if(!ret)
					{
					aContentsIdArray.Append(ringTones.iItems[i].iRingToneType);
					}	
				}
			}
		}
	}

/**
*  拝怣愝掕偵愝掕偝傟偰偄傞僐儞僥儞僣ID庢摼
*
*  @param[in]  aPropAgent  僾儘僷僥傿僄乕僕僃儞僩
*  @param[in]  aContentsIdArray  僐儞僥儞僣ID堦棗
*  @return 側偟
*/

⌨️ 快捷键说明

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