📄 mmipins.c
字号:
}
switch ( event )
{
case SIM_NLOCK_REQ:
case SIM_NSLOCK_REQ:
case SIM_SPLOCK_REQ:
case SIM_CLOCK_REQ:
main_call_mess(win,event);
break;
case SIM_PLOCK:
check_nlock_to_clock(win,event);
break;
case SIM_NLOCK:
check_splock_to_clock(win,event);
break;
case SIM_SPLOCK:
check_nslock_to_clock(win,event);
break;
case SIM_NSLOCK:
check_sim_clock(win,event);
break;
case SIM_CLOCK:
if ( sim_unlock_sim_lock(MFW_SIM_CLOCK,(UBYTE *)pin_data->pin)EQ MFW_SIM_CLOCK )/* unlock code */
{
main_call_mess(win,SIM_UNLOCK_OK); /* finish sim unlock procedure */
}
else if ( sim_unlock_sim_lock(MFW_SIM_CLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_UNLOCK_ERR )
{
main_call_mess(win,SIM_LOCK_ERR);
}
break;
default:
break;
}
}
/*******************************************************************************
$Function: check_plock_to_clock
$Description: sim lock check from PLOCK to CLOCK
$Returns: void
$Arguments: window, window handler event
*******************************************************************************/
static void check_plock_to_clock(T_MFW_HND win,USHORT event)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_pin * pin_data = (T_pin *)win_data->user; // pin main data
TRACE_FUNCTION("MmiPins:check_plock_to_clock");
if ( sim_check_sim_Plock() EQ MFW_SIM_BLOCKED )
{
main_call_mess(win,SIM_LOCK_ALL);
}
else if ( sim_check_sim_Plock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_PLOCK_REQ);
}
else if ( sim_check_sim_Nlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_NLOCK_REQ);
}
else if ( sim_check_sim_SPlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_SPLOCK_REQ);
}
else if ( sim_check_sim_NSlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_NSLOCK_REQ);
}
else if ( sim_check_sim_Clock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_CLOCK_REQ);
}
else
{
switch ( event )
{
case PIN_OK:
/*
*** registration in full service mode case: PIN was not necessary
*/
/* SH - show welcome screen*/
//xsf remarked 2002.10.08 showwelcome(idle_get_window());
//nm_registration (NM_AUTOMATIC, 0, FALSE);
//GW-SPR#1035-Added STK Changes
/* NM, 110702
this destroy the only ONE SIM-handler which we have
after switching on !!
It should be at least one SIM-handler activ all the time
pin_destroy(pin_data->pin_win);// finish main pin dialog
*/
TRACE_EVENT("pin_destroy 5");
//begin of xsf change 2002.10.09
if ( CheckPassWord(PRO_ON) || CheckPassWord(PRO_SIMLOCK) )
{
if ( CheckPassWord(PRO_ON) )
{
hostkey_init(0); //xsf 2002.05.15
}
else if ( CheckPassWord(PRO_SIMLOCK) )
{
if ( FlashHostkeyData.SimLockFlag==0 )
{
showwelcome(idle_get_window());
//Pin1OKOrNoPin1(); //xsf add 2002.10.09
//network_start_full_service ();
ReadSimIMSI();
}
else
JudgeSim();
}
}
else
{
/* SH - show welcome screen */
showwelcome(idle_get_window());
//Pin1OKOrNoPin1(); //xsf add 2002.10.09
//network_start_full_service ();
}
//end of xsf add 2002.10.09
break;
case PIN_OK_INFO:
main_call_mess(win,PIN_OK_INFO);
break;
case PUK1_UNBL_SUCC:
main_call_mess(win,event);
break;
default:
break;
}
}
}
/*******************************************************************************
$Function: check_nlock_to_clock
$Description: sim lock check from NLOCK to CLOCK
$Returns: void
$Arguments: window, window handler event
*******************************************************************************/
static void check_nlock_to_clock(T_MFW_HND win,USHORT event)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_pin * pin_data = (T_pin *)win_data->user; // pin main data
TRACE_FUNCTION("MmiPins:check_nlock_to_clock");
if ( sim_unlock_sim_lock(MFW_SIM_PLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_PLOCK )/* P unlock code ok */
{
if ( sim_check_sim_Nlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_NLOCK_REQ); //check N unlock code
}
else if ( sim_check_sim_SPlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_SPLOCK_REQ); //check SP unlock code
}
else if ( sim_check_sim_NSlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_NSLOCK_REQ); //check NS unlock code
}
else if ( sim_check_sim_Clock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_CLOCK_REQ); //check C unlock code
}
else /* finish sim unlock procedure */
{
main_call_mess(win,SIM_UNLOCK_OK);
}
}
else if ( sim_unlock_sim_lock(MFW_SIM_PLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_UNLOCK_ERR )
{
main_call_mess(win,SIM_LOCK_ERR);
}
}
/*******************************************************************************
$Function: check_splock_to_clock
$Description: sim lock check from SPLOCK to CLOCK
$Returns: void
$Arguments: window, window handler event
*******************************************************************************/
static void check_splock_to_clock(T_MFW_HND win,USHORT event)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_pin * pin_data = (T_pin *)win_data->user; // pin main data
TRACE_FUNCTION("MmiPins:check_splock_to_clock");
if ( sim_unlock_sim_lock(MFW_SIM_NLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_NLOCK )
{
if ( sim_check_sim_SPlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_SPLOCK_REQ); //check SP unlock code
}
else if ( sim_check_sim_NSlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_NSLOCK_REQ); //check NS unlock code
}
else if ( sim_check_sim_Clock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_CLOCK_REQ); //check C unlock code
}
else /* finish sim unlock procedure */
{
main_call_mess(win,SIM_UNLOCK_OK); /* finish sim unlock procedure */
}
}
else if ( sim_unlock_sim_lock(MFW_SIM_NLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_UNLOCK_ERR )
{
main_call_mess(win,SIM_LOCK_ERR);
}
}
/*******************************************************************************
$Function: check_nslock_to_clock
$Description: sim lock check from NSLOCK to CLOCK
$Returns: void
$Arguments: window, window handler event
*******************************************************************************/
static void check_nslock_to_clock(T_MFW_HND win,USHORT event)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_pin * pin_data = (T_pin *)win_data->user; // pin main data
TRACE_FUNCTION("MmiPins:check_nslock_to_clock");
if ( sim_unlock_sim_lock(MFW_SIM_SPLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_SPLOCK )/* unlock code ok */
{
if ( sim_check_sim_NSlock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_NSLOCK_REQ); //check NS unlock code
}
else if ( sim_check_sim_Clock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_CLOCK_REQ); //check C unlock code
}
else /* finish sim unlock procedure */
{
main_call_mess(win,SIM_UNLOCK_OK); /* finish sim unlock procedure */
}
}
else if ( sim_unlock_sim_lock(MFW_SIM_SPLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_UNLOCK_ERR )
{
main_call_mess(win,SIM_LOCK_ERR);
}
}
/*******************************************************************************
$Function: check_sim_clock
$Description: sim lock check CLOCK
$Returns: void
$Arguments: window, window handler event
*******************************************************************************/
static void check_sim_clock(T_MFW_HND win,USHORT event)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_pin * pin_data = (T_pin *)win_data->user; // pin main data
TRACE_FUNCTION("MmiPins:check_sim_lock");
if ( sim_unlock_sim_lock(MFW_SIM_NSLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_NSLOCK )/* unlock code ok */
{
if ( sim_check_sim_Clock() EQ MFW_SIM_LOCKED )
{
main_call_mess(win,SIM_CLOCK_REQ); //check C unlock code
}
else /* finish sim unlock procedure */
{
main_call_mess(win,SIM_UNLOCK_OK); /* finish sim unlock procedure */
}
}
else if ( sim_unlock_sim_lock(MFW_SIM_NSLOCK,(UBYTE *)pin_data->pin) EQ MFW_SIM_UNLOCK_ERR )
{
main_call_mess(win,SIM_LOCK_ERR);
}
}
/*******************************************************************************
$Function: main_call_mess
$Description: help function for message dialog
$Returns: void
$Arguments: window, window handler event
*******************************************************************************/
static void main_call_mess(T_MFW_HND win, USHORT event)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_pin * pin_data = (T_pin *)win_data->user; // pin main data
T_MFW_HND pin_mess_win;
TRACE_EVENT("MmiPins: main_call_mess");
animation_complete = 1; //GANCHH 2002/9/4 make power off availabe in pin input
pin_mess_win = pin_mess_create(pin_data->pin_win);
if ( pin_mess_win )
{
SEND_EVENT(pin_mess_win,event,0,pin_data);
}
}
/*******************************************************************************
$Function: main_call_edit
$Description: help function for editor dialog
$Returns: void
$Arguments: window, window handler event
*******************************************************************************/
static void main_call_edit(T_MFW_HND win,USHORT event)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_pin * pin_data = (T_pin *)win_data->user; // pin main data
T_MFW_HND pin_edt_win;
HUPKeyOrigin=1;//ganchh for power off while no sim card
animation_complete=1;
pin_edt_win = pin_edt_create(pin_data->pin_win);
if ( pin_edt_win )
{
SEND_EVENT(pin_edt_win,event,0,pin_data);
}
}
/*******************************************************************************
$Function: pin_edt_create
$Description: Creation of an instance for the PIN Editor dialog.
Type of dialog : SINGLE_DYNAMIC
$Returns: void
$Arguments: parent window
*******************************************************************************/
T_MFW_HND pin_edt_create (T_MFW_HND parent_window)
{
T_pin_edt * data = (T_pin_edt *)ALLOC_MEMORY (sizeof (T_pin_edt));
T_MFW_WIN * win;
data->pin_edt_win = win_create (parent_window, 0, MfwWinVisible, (T_MFW_CB)pin_edt_win_cb);
TRACE_FUNCTION("pin_edt_create");
if ( data->pin_edt_win EQ 0 )
return 0;
/*
* Create window handler
*/
pin_edit_windows = data->pin_edt_win;
data->mmi_control.dialog = (T_DIALOG_FUNC)pin_editor;
data->mmi_control.data = data;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -