📄 mmienvironment.c
字号:
return;
StopPlayByReasonId(SMSPLAY);
CurrentMode = CurrentMode |ModeVoicememo;
break;
case MAINMENUVOICE:
if((CurrentMode & ModeAlarm)||(CurrentMode & ModeSms))
return;
if(((CurrentMode & ModeIncomCall)||(CurrentMode & ModeCall)) && call_win_flag)
//if(driverFlag & 0x00000001 == 0x00000001)
return;
keytone_volume= FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].KeypadVolume;
if( keytone_volume == 0 )
return;
SetMVol_DownLinkPGA(keytone_volume);
keytone_type= FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].KeypadTone;
if( keytone_type == 0 )
StartPlayingMelody2( KEYTONE_SINGLE, 0 ); //glowing: use the yamaha api
else
StartPlayingMelody2( KEYTONE_VOICE0 + index, 0); //glowing: use the yamaha api
break;
case POWERONPLAY:
if(!(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].OnRingtype & 0x80))
{
SetMVol_DownLinkPGA(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].OnVolume);
StartPlayingMelody2(FIRST_HALL_MELODY + FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].OnRingtype, 1);
}
break;
case POWEROFFPLAY:
if( !(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].OffRingtype & 0x80) )
{
SetMVol_DownLinkPGA(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].OffVolume);
StartPlayingMelody2(FIRST_HALL_MELODY + FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].OffRingtype, 1);
}
break;
#ifdef QQFUNC//hxl add for qq func switch,2003-3-24
case QQPLAY: //xsf add for QQ received 2003.03.18
if((CurrentMode & ModeIncomCall) ||(CurrentMode & ModeAlarm)||(CurrentMode & ModeCall)||(CurrentMode & ModeSms))
return;
if(FlashEnvironmentData.CurrentEnv == MEETING_ENV) //xsf add 2003.04.17
{
StartVibrator();
l_playing=SMSPLAYVIB;
//TIMCREATE_SETFLLAG( hRingVibStartTimer = timCreate( 0, TIM4SECOND, (MfwCb)stopvib2playmelody);)// 2004.4.1 wyj call no win
timStart( hRingVibStartTimer );
}
else
StartSpecialTone(6);
break;
#endif
case HALLON: // 2004.4.9 WYJ add
if( !(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].HallOnRingtype & 0x80))
{
SetMVol_DownLinkPGA(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].HallOnVolume);
StartPlayingMelody2(FIRST_HALL_MELODY + FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].HallOnRingtype, 1);
}
break;
case HALLOFF:
if(!(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].HallOffRingtype & 0x80))
{
SetMVol_DownLinkPGA(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].HallOffVolume);
StartPlayingMelody2(FIRST_HALL_MELODY + FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].HallOffRingtype, 1);
}
break;
case MAINMENU_VOICE:
if( FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].KeypadTone != 0)
{
SetMVol_DownLinkPGA(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].KeypadVolume);
StartPlayingMelody2( FIRST_MAINMENU_VOICE + index, 1 );
}
break;
default:
break;
}
/* 2004/06/14 sunsj modify for LED controller */
switch(reasonid)
{
case INCALLPLAY:
case INCALLPLAYGROUP:
case ALARMPLAY:
LEDStart(1);
break;
case SMSPLAY:
LEDStart(0);
break;
default:
break;
}
MMI_TRACE_EVENT(("<<<<talcon--2,StartPlayByReason,LedStartTimer:%p",LedStartTimer));
MMI_TRACE_EVENT(("<<<<talcon--2,StartPlayByReason,mfwRoot:%p(%p,%p,%p)",mfwRoot,mfwRoot->next,mfwRoot->type,mfwRoot->data));
break;
case MUTE_ENV: //静音模式
switch(reasonid)
{
case INCALL:
StopPlayByReasonId(INCALLPLAY);
CurrentMode = CurrentMode | ModeCall;
SetASpk_DownLinkPGA(FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].speakervolume);
break;
case INCALLPLAYGROUP: // 1
case INCALLPLAY:
if(CurrentMode & ModeCall) //in call
return;
CurrentMode = CurrentMode & (~ModeAlarm);
CurrentMode = CurrentMode & (~ModeRingmnu);
CurrentMode = CurrentMode | ModeIncomCall;
StopPlayByReasonId(SMSPLAY);
break;
case SMSPLAY: // 2
if((CurrentMode & ModeIncomCall) ||(CurrentMode & ModeAlarm)||(CurrentMode & ModeCall))
return;
StopPlayByReasonId(SMSPLAY);
break;
case ALARMPLAY: // 3
if(CurrentMode & ModeIncomCall)
return;
if(CurrentMode & ModeCall)
{
//StartSpecialTone(4);
return;
}
StopPlayByReasonId(SMSPLAY);
CurrentMode = CurrentMode | ModeAlarm;
break;
case MENURINGPLAY: // 4
if((CurrentMode & ModeIncomCall) ||(CurrentMode & ModeAlarm)||(CurrentMode & ModeCall)||(CurrentMode & ModeSms))
return;
StopPlayByReasonId(MENURINGPLAY);
CurrentMode = CurrentMode | ModeRingmnu;
break;
case MENUALARMPLAY: //5
if((CurrentMode & ModeIncomCall) ||(CurrentMode & ModeAlarm)||(CurrentMode & ModeCall)||(CurrentMode & ModeSms))
return;
StopPlayByReasonId(MENURINGPLAY);
CurrentMode = CurrentMode | ModeRingmnu;
break;
case MENUIDLEPLAY: //6
if((CurrentMode & ModeIncomCall) ||(CurrentMode & ModeAlarm)||(CurrentMode & ModeCall)||(CurrentMode & ModeSms))
return;
StopPlayByReasonId(MENURINGPLAY);
CurrentMode = CurrentMode | ModeRingmnu;
break;
case KEYPADTONE:
case NEEDCHARGE:
case MISSEDCALL:
case UNREADSMS:
case CONNECTTONE:
default:
break;
}
break;
default:
break;
}
}
/********************************************************************************/
/* */
/*Function Name: environment_check */
/*Purpose: environment_check flag funtiong for menu */
/*Prarmeter: struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *m i */
/*return : USHORT */
/* */
/*Author : xsf */
/*Date : Aug.13th,2002 2004.1.6 WYJ */
/********************************************************************************/
USHORT environment_check (struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi)
{
//if(melody_status==MELODY_BUSY)
//StopMelody2(oldringstr);
// StopPlayingMelody2(); //glowing: use the new api
//else if(tone_status==TONE_BUSY)
//if(tone_status==TONE_BUSY)
//StopTone();
//if(vibra_status==VIBRA_BUSY)
// StopVibrator();
//if(hRingVibStartTimer != NULL)
// timDelete(hRingVibStartTimer);
static int aCursor = 0;
//只在菜单光标切换时做 2004.2.9 WYJ
if(m->lCursor[m->level] != aCursor)
{
MC_StopVibra(); // 2004.4.16 WYJ add
aCursor = m->lCursor[m->level];
if(isKeyRing && !((int)mi->str>=TxtSmsRing1 && (int)mi->str<=TxtSmsRing5) )
{
StopPlayingMelody2( );
isKeyRing = 0;
}
}
if(((int)mi->str==TxtMissedCallTone || (int)mi->str==TxtUnreadSMSTone) && ( m->lCursor[m->level] >= 6)) //add 2003.01.06
driverFlag|=0x04;
else //xsf add for KCD_LEFT 2003.01.14
driverFlag&=0xFFFFFFFB;
// if(((int)mi->str==TxtAnyKeyAnswer) && ( FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].Anykeyanswerflag))
if(((int)mi->str==TxtAnyKeyAnswer) && ( FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].Anykeyanswerflag))/*2004/5/17, wangyan add*/
return FLAGFUNC_TRUE_ICON;
// else if(((int)mi->str==TxtAnswerTone) && ( FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].connecttone))
else if(((int)mi->str==TxtAnswerTone) && ( FlashEnvironmentData.EnviroProfile[FlashEnvironmentData.CurrentEnv].connecttone))/*2004/5/17, wangyan add*/
return FLAGFUNC_TRUE_ICON;
else if(((int)mi->str==TxtMissedCallTone) && ( FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].MissedcallTone))
return FLAGFUNC_TRUE_ICON;
else if(((int)mi->str==TxtKeypadTones) && ( FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadTone))
return FLAGFUNC_TRUE_ICON;
else if(((int)mi->str==TxtUnreadSMSTone) && ( FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].UnreadSMSTone))
return FLAGFUNC_TRUE_ICON;
else if(((int)mi->str==TxtSmsVibra) && (FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmprompt==VIBRA))
return FLAGFUNC_TRUE_ICON;
//else if(((int)mi->str==TxtRingPrompt) && (FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmprompt==RING))
// return FLAGFUNC_TRUE_ICON;
//else if(((int)mi->str==TxtStart) && (FlashEnvironmentData.CurrentEnv== Gu8_Envio_num))
else if(((int)mi->str==TxtActivate) && (FlashEnvironmentData.CurrentEnv== Gu8_Envio_num)) //wuyj
return FLAGFUNC_TRUE_ICON;
else
return FLAGFUNC_FALSE_ICON;
}
/* 2003/12/08 sunsj add */
void SetKeypadToneRing(MfwMnu* m, MfwMnuItem* i)
{
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadTone= 1;
if(FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadVolume < 1)
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadVolume = 3;
flash_environmentwrite();
mnuUpdate(m);
//SetMVol_DownLinkPGA(4);
//StartTonebypara(2);
}
/* 2003/12/08 sunsj add */
void SetKeypadToneSpcial(MfwMnu* m, MfwMnuItem* i)
{
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadTone = 2;
if(FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadVolume < 1)
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadVolume = 3;
flash_environmentwrite();
mnuUpdate(m);
//SetMVol_DownLinkPGA(4);
//StartTonebypara(2);
}
/* 2004.1.4 WYJ add key sound mute option */
void setKeypadMute(MfwMnu* m, MfwMnuItem* i)
{
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadTone = 0;
flash_environmentwrite();
mnuUpdate(m);
}
USHORT checkKeypadMute( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi )
{
if ( FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].KeypadTone==0 )
return FLAGFUNC_TRUE_ICON;
else
return FLAGFUNC_FALSE_ICON;
}
// 2004.5.10 WYJ add
void SetOnMenu(MfwMnu* m, MfwMnuItem* i)
{
isOnRing = 1;
}
void SetOffMenu(MfwMnu* m, MfwMnuItem* i)
{
isOnRing = 0;
}
// end of 2004.5.10 WYJ add
//-----------------------2004.1.13 WYJ-------------------------
/*******************************************************/
/*Function Name: SetOnRingMute
/*Purpose: Off ring mute
/*Prarmeter:
/*return :
/*Author : WYJ
/*Date : 2004.1.15
/*******************************************************/
void SetOnRingMute(MfwMnu* m, MfwMnuItem* i)
{
isOnRing = 1;
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].OnRingtype |= 0x80;
mnuUpdate (m);
flash_environmentwrite();
}
/*******************************************************/
/*Function Name: SetOffRingMute
/*Purpose: Off ring mute
/*Prarmeter:
/*return :
/*Author : WYJ
/*Date : 2004.1.15
/*******************************************************/
void SetOffRingMute(MfwMnu* m, MfwMnuItem* i)
{
isOnRing = 0;
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].OffRingtype |= 0x80;
mnuUpdate (m);
flash_environmentwrite();
}
/*******************************************************/
/*Function Name: OnOff_check
/*Purpose: flag check function for on/off menu
/*Prarmeter:
/*return :
/*Author : WYJ
/*Date : 2004.1.15
/*******************************************************/
USHORT OnOff_check( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi )
{
if(gPlayKeytoneFlag == 0)
gPlayKeytoneFlag = 1;
if(isOnRing == 1) //开机 2004.5.10 WYJ modify
{
if(((int)mi->str==TxtSpecialRing) &&(!(FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].OnRingtype & 0x80)))
return FLAGFUNC_TRUE_ICON;
else if (((int)mi->str==TxtSmsMute) &&(FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].OnRingtype & 0x80))
return FLAGFUNC_TRUE_ICON;
else
return FLAGFUNC_FALSE_ICON;
}
else if(isOnRing == 0) //关机 2004.5.10 WYJ modify
{
if(((int)mi->str==Txt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -