📄 mmisounds_v1.c
字号:
performed on the write operation
*******************************************************************************/
static void writeSettingsToPCM( U8 flush )
{
}
/*******************************************************************************
$Function: readSettingsFromPCM
$Description: inits global vars of sounds from PCM or
sets default values
$Returns: None
$Arguments: None
*******************************************************************************/
static void readSettingsFromPCM(void)
{
}
/*******************************************************************************
$Function: soundsCreate
$Description: Create a sounds context, with a window, keyboards, timers
etc.
$Returns: None
$Arguments: parent, handle of the parent window
*******************************************************************************/
static void soundsCreate(MfwHnd parent)
{
}
/*******************************************************************************
$Function: soundsDestroy
$Description: cleans up a context
$Returns: None
$Arguments: None
*******************************************************************************/
static void soundsDestroy(void)
{
}
/*******************************************************************************
$Function: getCallingMenu
$Description: handles transition to calling menu
a) on timeout,
b) during running timer when Clear, SoftKeyLeft
or SoftKeyRight is pressed
$Returns: MFW_EVENT_PASSED
$Arguments: e, event, tc, timer context
*******************************************************************************/
static int getCallingMenu(MfwEvt e, MfwTim *tc)
{
TRACE_FUNCTION( "BACK to invocating Menu" );
return 0;
}
/*******************************************************************************
$Function: winEvent
$Description: window event handler, only deals with the win visible
event, all others are ignored
$Returns: MFW_EVENT_PASSED or MFW_EVENT_CONSUMED depending on the
event
$Arguments: e, event, w, window handle
*******************************************************************************/
static int winEvent (MfwEvt e, MfwWin *w)
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: keyEventLong
$Description: keyboard event handler Long press
$Returns: MFW_EVENT_PASSED or MFW_EVENT_CONSUMED depending on the
event
$Arguments: e, event, k, keyboard handle
*******************************************************************************/
static int keyEventLong (MfwEvt e, MfwKbd *k)
{
PTRACE( sprintf( buf, "keycode in SOUND keyEvtLong %d", (int) k->code ); )
PTRACE( sprintf( buf, "mfwEvt in SOUND Long 0x%10x", e ); )
return MFW_EVENT_PASSED; /* give other handlers a chance */
}
/*******************************************************************************
$Function: keyEvent
$Description: keyboard event handler
$Returns: MFW_EVENT_PASSED or MFW_EVENT_CONSUMED depending on the
event
$Arguments: e, event, k, keyboard handle
*******************************************************************************/
static int keyEvent (MfwEvt e, MfwKbd *k)
{
PTRACE( sprintf( buf, "keycode in SOUND keyEvt %d", (int) k->code ); )
PTRACE( sprintf( buf, "mfwEvt in SOUND 0x%10x", e ); )
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: stepVibrator
$Description: Changes the state of the vibrator from vibrating to
not vibrating and then restarts the vibration timer
$Returns: None
$Arguments: None
*******************************************************************************/
static void stepVibrator( void )
{
TRACE_FUNCTION("Vibrator Ringing");
}
/*******************************************************************************
$Function: ringVibrator
$Description: generates the ringing vibrations as configured
$Returns: New setting of the vibrator counter
$Arguments: c, pointer to a vibrator counter
*******************************************************************************/
static int ringVibrator( UBYTE *c )
{
return 0;
}
/*******************************************************************************
$Function: VibratorTimerEvent
$Description: Vibrator timer event
$Returns: Event consumed, always
$Arguments: e, event, t, timer
*******************************************************************************/
static int VibratorTimerEvent ( MfwEvt e, MfwTim *t )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: volumeSettingTimeOut
$Description: The Ringer volume settings time out has occured and used has not selected
a volume setting.
$Returns: MFW_EVENT_CONSUMED always
$Arguments: e, event, tc timer context
*******************************************************************************/
static int volumeSettingTimeOut( MfwEvt e, MfwTim *tc )
{
T_MFW_HND win = mfw_parent(mfw_header());
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_idle * idle_data = (T_idle *)win_data->user;
//T_call * call_data = (T_call*)win_data->user;
TRACE_EVENT(">>>> volumeSettingTimeOut(), Vol Setiing Time out. ");
// stop running timer.
if (hRingerVolSettingTimeOut != NULL ) {
timStop(hRingerVolSettingTimeOut);
}
if(call_data.win_menu !=NULL && (call_data.call_direction == INCOMING))
{
bookMenuDestroy(call_data.win_menu);
/*
If volume settings dialog timed out while in the incoming call, allow the
ringer to continue ringing. MZ 9/4/01
*/
startPlayingMelody(getCurrentRingerSettings());
}
else if (idle_data->info_win != NULL )
{
bookMenuDestroy(idle_data->info_win);
}
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
Public Methods
*******************************************************************************/
/*******************************************************************************
$Function: restartVolSettingInactivityTimer
$Description: Restart the Volume settings timer.
$Returns: none
$Arguments: none
*******************************************************************************/
void restartVolSettingInactivityTimer(void)
{
if ( hRingerVolSettingTimeOut != NULL )
timStop( hRingerVolSettingTimeOut );
timStart(hRingerVolSettingTimeOut);
}
/*******************************************************************************
$Function: stopRingerVolTimeOut
$Description: Stop the ringer volume settings timer.
$Returns: none
$Arguments: none
*******************************************************************************/
void stopRingerVolSettingInactivityTimer(void)
{
if ( hRingerVolSettingTimeOut != NULL )
timStop( hRingerVolSettingTimeOut );
}
/*******************************************************************************
$Function: startRingerVolumeSettingTimer
$Description: Create and start the ringer voulme inactivity timer.
$Returns: none
$Arguments: none
*******************************************************************************/
void startRingerVolSettingInactivityTimer(T_MFW_HND parent_win)
{
T_MFW_HND win = mfw_parent(mfw_header());
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_idle * idle_data = (T_idle *)win_data->user;
//T_call * call_data = (T_call*)win_data->user;
TRACE_FUNCTION(">>>> startRingerVolSettingInactivityTime, Create and Start Vol timer ");
//Create 4 second ringer delay timer.
if(hRingerVolSettingTimeOut == NULL )
{
if(call_data.call_direction == INCOMING)
{
hRingerVolSettingTimeOut = timCreate(call_data.win, TIM4SECOND, (MfwCb)volumeSettingTimeOut);
}
else
{
hRingerVolSettingTimeOut = timCreate(idle_data->win, TIM4SECOND, (MfwCb)volumeSettingTimeOut);
}
}
if ( hRingerVolSettingTimeOut != NULL )
timStop( hRingerVolSettingTimeOut );
timStart(hRingerVolSettingTimeOut);
}
/*******************************************************************************
$Function: soundsRinger
$Description: prepares Ringer setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsRinger( MfwMnu *m, MfwMnuItem *i )
{
T_MFW_HND win;
T_MFW_HND parent_win = mfw_parent(mfw_header());
//recources_Init (win);
//Create 0.5 second ringer delay timer.
hRingerStartTimer = timCreate( 0, TIMHALFSECOND, (MfwCb)playCurrentSound);
win = buildMelodyMenu(parent_win);
if (win NEQ NULL)
{
SEND_EVENT (win, E_INIT, 0, 0);
}
// Start the 0.5 second ringer delay timer.
delayThenPlayMelody();
// soundExec();
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsVolume
$Description: prepares Volume setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsVolume( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: settingsVibrator
$Description: prepares Vibrator settings screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int settingsVibrator( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: settingsLanguages
$Description: prepares languages screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int settingsLanguages( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsNewMessage
$Description: prepares NewMessage setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsNewMessage( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsNewBroadcast
$Description: prepares Broadcast setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsNewBroadcast( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsBatteryLow
$Description: prepares BatteryLow setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsBatteryLow( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsCreditLow
$Description: prepares Credit setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsCreditLow( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsOrganiser
$Description: prepares Organiser setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsOrganiser( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsAlarm
$Description: prepares Alarm setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -