/*=========================================================================== This function draws the splash screen and brings up the main window after the splash timer runs out. ===========================================================================*/ void TS_DrawSplash(CTopSoupApp * pme,AECHAR* prompt,int msTimeout,PFNNOTIFY on_splashOver,void* pUser) { if( NULL == prompt ) return; if (pme->m_pWin) CTopSoupApp_DisableWin(pme); { IImage * pi = ISHELL_LoadResImage(pme->a.m_pIShell, NAVIGATE_RES_FILE, IDP_OBJECT_PROMPT); IStatic * pInfoStatic = NULL; if (pi) { AEERect rect; AEEImageInfo info; int16 x,y; IIMAGE_GetInfo(pi,&info); x = ( pme->m_rectWin.dx - info.cx ) / 2; y = pme->m_rectWin.y + ( pme->m_rectWin.dy - info.cy ) / 2; SETAEERECT(&rect,x,y,info.cx,info.cy); TS_DrawImage(pi, &rect, TRUE); ISHELL_CreateInstance(pme->a.m_pIShell, AEECLSID_STATIC, (void **)&pInfoStatic); ISTATIC_SetRect(pInfoStatic, &rect); ISTATIC_SetProperties(pInfoStatic, ST_MIDDLETEXT | ST_CENTERTEXT | ST_NOSCROLL); TS_FitStaticText(pme->a.m_pIDisplay, pInfoStatic, AEE_FONT_LARGE, prompt); TS_RELEASEIF(pi); TS_RELEASEIF(pInfoStatic); } // start the timer. if ( on_splashOver ) ISHELL_SetTimer(pme->a.m_pIShell, msTimeout, (PFNNOTIFY)on_splashOver, pUser); else ISHELL_SetTimer(pme->a.m_pIShell, msTimeout, (PFNNOTIFY)CTopSoupApp_onSplashDrawOver, pme); } }
/*============================================================================= FUNCTION: CDialerApp_SetupRecallDlg_Init DESCRIPTION: Initializes the controls for Calling dialog PARAMETERS: *pMe: CDialerApp object pointer RETURN VALUE: boolean: Returns TRUE if successful COMMENTS: SIDE EFFECTS: SEE ALSO: =============================================================================*/ boolean CDialerApp_SetupRecallDlg_Init(CDialerApp *pMe) { #if defined(FEATURE_WCDMA) || defined(FEATURE_GSM) IDialog *pActiveDlg; IStatic *pIStatic; IMenuCtl *pISoftKeyMenu; AEERect StaticRect; AEERect MenuRect; AECHAR *pszRecall = NULL; PRINT_FUNCTION_NAME(); // error checking if(pMe == NULL) { return FALSE; } pActiveDlg = CDialerApp_GetActiveDlg(pMe); // error checking if (pActiveDlg == NULL) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; } // Get controls in dialog pIStatic = (IStatic*) IDIALOG_GetControl(pActiveDlg, IDC_STATIC_SETUP_RECALL); pISoftKeyMenu = (IMenuCtl*)IDIALOG_GetControl(pActiveDlg, IDC_SK_SETUP_RECALL); if((pIStatic == NULL) || (pISoftKeyMenu == NULL)) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; // error } // init buffer pszRecall = (AECHAR*) MALLOC ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR)); if(pszRecall == NULL) { DIALER_ERR("No memory", 0,0,0); return FALSE; } // Update the softkey menu (void) IMENUCTL_DeleteAll(pISoftKeyMenu); (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_OK, IDL_SK_SETUP_RECALL, NULL, 0); (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_CANCEL, IDL_SK_SETUP_RECALL_CANCEL, NULL, 0); SetDefaultSoftkeyLook(pMe->a.m_pIShell, pISoftKeyMenu); // Set Static control size ISTATIC_GetRect(pIStatic, &StaticRect); IMENUCTL_GetRect(pISoftKeyMenu, &MenuRect); SETAEERECT(&StaticRect, 10, 10, pMe->m_rc.dx-20, pMe->m_rc.dy-MenuRect.dy-20); // Static Info Properties ISTATIC_SetRect(pIStatic, &StaticRect); ISTATIC_SetActive(pIStatic, FALSE); ISTATIC_SetProperties(pIStatic, ST_MIDDLETEXT | ST_CENTERTEXT | ST_NOSCROLL); (void) ISHELL_LoadResString(pMe->a.m_pIShell, DIALERAPP_RES_FILE, IDS_SETUP_RECALL, pszRecall, ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR))); (void) ISTATIC_SetText(pIStatic, pszRecall, NULL, AEE_FONT_BOLD, AEE_FONT_NORMAL); (void) IDIALOG_SetFocus(pActiveDlg, IDC_SK_SETUP_RECALL); FREEIF(pszRecall); return TRUE; #else return FALSE; #endif // defined(FEATURE_WCDMA) || defined(FEATURE_GSM) }
/*============================================================================= FUNCTION: CDialerApp_RecallDlg_Init DESCRIPTION: Initializes the controls for Calling dialog PARAMETERS: *pMe: CDialerApp object pointer RETURN VALUE: boolean: Returns TRUE if successful COMMENTS: SIDE EFFECTS: SEE ALSO: =============================================================================*/ boolean CDialerApp_RecallDlg_Init(CDialerApp *pMe) { #if defined(FEATURE_WCDMA) || defined(FEATURE_GSM) IDialog *pActiveDlg; IStatic *pIStatic; IMenuCtl *pISoftKeyMenu; AEERect StaticRect; AEERect MenuRect; AECHAR *pszRecall = NULL; AECHAR *pszName = NULL; CRecallDlgInfo *pDlgInfo = NULL; PRINT_FUNCTION_NAME(); // error checking if(pMe == NULL) { return FALSE; } pActiveDlg = CDialerApp_GetActiveDlg(pMe); // error checking if (pActiveDlg == NULL) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; } pDlgInfo = (CRecallDlgInfo*) CDialerApp_GetActiveDlgInfo(pMe); // Get controls in dialog pIStatic = (IStatic*) IDIALOG_GetControl(pActiveDlg, IDC_STATIC_RECALL); pISoftKeyMenu = (IMenuCtl*)IDIALOG_GetControl(pActiveDlg, IDC_SK_RECALL); if((pIStatic == NULL) || (pISoftKeyMenu == NULL)) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; // error } // init buffer pszRecall = (AECHAR*) MALLOC ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR)); if(pszRecall == NULL) { DIALER_ERR("No memory", 0,0,0); return FALSE; } pszName = (AECHAR*) MALLOC ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR)); if(pszName == NULL) { DIALER_ERR("No memory", 0,0,0); FREEIF(pszRecall); return FALSE; } // Update the softkey menu (void) IMENUCTL_DeleteAll(pISoftKeyMenu); if(AEECM_IS_VOICECALL_CONNECTED(pMe->m_pICM)) { (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_HOLD_N_ACCEPT, IDL_RECALL_SK_HOLD_N_ACCEPT, NULL, 0); (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_REL_N_ACCEPT, IDL_RECALL_SK_REL_N_ACCEPT, NULL, 0); } else { (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_CALL, IDL_RECALL_SK_CALL, NULL, 0); } (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_CANCEL, IDL_RECALL_SK_CANCEL, NULL, 0); SetDefaultSoftkeyLook(pMe->a.m_pIShell, pISoftKeyMenu); // Set Static control size ISTATIC_GetRect(pIStatic, &StaticRect); IMENUCTL_GetRect(pISoftKeyMenu, &MenuRect); SETAEERECT(&StaticRect, 10, 10, pMe->m_rc.dx-20, pMe->m_rc.dy-MenuRect.dy-20); // Static Info Properties ISTATIC_SetRect(pIStatic, &StaticRect); ISTATIC_SetActive(pIStatic, FALSE); ISTATIC_SetProperties(pIStatic, ST_MIDDLETEXT | ST_CENTERTEXT | ST_NOSCROLL); // Display name or number if(CheckAEEReturnStatus(ICM_GetCallInfo(pMe->m_pICM,pDlgInfo->callID, &(pMe->m_CallInfo), sizeof(AEECMCallInfo))) == TRUE) { CDialerApp_FormatNumberDisplayString(pMe, &(pMe->m_CallInfo), pszName, DIALERAPP_MAX_STR_SIZE, pMe->m_bNVAutoHyphen); (void) ISTATIC_SetText(pIStatic, pszName, NULL, AEE_FONT_BOLD, AEE_FONT_NORMAL); if(WSTRLEN(pMe->m_CallInfo.other_party_no) != 0) { if(pMe->m_bNVAutoHyphen == TRUE) { AECHAR *pszHyphen = CDialerApp_HyphenateNumberString( pMe->m_CallInfo.other_party_no); if(WSTRCMP(pszHyphen, pszName) != 0) { // want the phone number if it is not null and already being displayed (void) ISTATIC_SetTextEx(pIStatic, (byte*) "\n", NULL, TRUE); (void) ISTATIC_SetTextEx(pIStatic, (byte*) pszHyphen, NULL, TRUE); } FREEIF(pszHyphen); } else { if(WSTRCMP(pMe->m_CallInfo.other_party_no, pszName) != 0) { // want the phone number if it is not null and already being displayed (void) ISTATIC_SetTextEx(pIStatic, (byte*) "\n", NULL, TRUE); (void) ISTATIC_SetTextEx(pIStatic, (byte*) pMe->m_CallInfo.other_party_no, NULL, TRUE); } } } } (void) ISHELL_LoadResString(pMe->a.m_pIShell, DIALERAPP_RES_FILE, IDS_AVAILABLE, pszRecall, ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR))); (void) ISTATIC_SetTextEx(pIStatic, (byte*) pszRecall, NULL, TRUE); (void) IDIALOG_SetFocus(pActiveDlg, IDC_SK_RECALL); FREEIF(pszRecall); FREEIF(pszName); return TRUE; #else return FALSE; #endif // defined(FEATURE_WCDMA) || defined(FEATURE_GSM) }
/*============================================================================= FUNCTION: CDialerApp_CallingDlg_Init DESCRIPTION: Initializes the controls for Calling dialog PARAMETERS: *pMe: CDialerApp object pointer RETURN VALUE: boolean: Returns TRUE if successful COMMENTS: SIDE EFFECTS: SEE ALSO: =============================================================================*/ boolean CDialerApp_CallingDlg_Init(CDialerApp *pMe) { IDialog *pActiveDlg; IStatic *pIStatic; IMenuCtl *pISoftKeyMenu; AEERect StaticRect; AEERect MenuRect; AECHAR *pszTitle = NULL; PRINT_FUNCTION_NAME(); // error checking if(pMe == NULL) { return FALSE; } pActiveDlg = CDialerApp_GetActiveDlg(pMe); // error checking if (pActiveDlg == NULL) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; } // Get controls in dialog pIStatic = (IStatic*) IDIALOG_GetControl(pActiveDlg, IDC_STATIC_CALLING); pISoftKeyMenu = (IMenuCtl*)IDIALOG_GetControl(pActiveDlg, IDC_SK_CALLING); if((pIStatic == NULL) || (pISoftKeyMenu == NULL)) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; // error } // init buffer pszTitle = (AECHAR*) MALLOC ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR)); if(pszTitle == NULL) { DIALER_ERR("No memory", 0,0,0); return FALSE; } // load the title #ifdef FEATURE_TTY if(CheckAEEReturnStatus(ICM_GetCallInfo(pMe->m_pICM, pMe->m_byCurrOrigCall, &(pMe->m_CallInfo), sizeof(AEECMCallInfo))) == FALSE) { DIALER_ERR("ICM_GetCallInfo FAILED", 0, 0, 0); return FALSE; } if( pMe->m_CallInfo.bTTYcall ) { (void) ISHELL_LoadResString(pMe->a.m_pIShell, DIALERAPP_RES_FILE, IDS_CALLING_TTY, pszTitle, ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR))); } else { (void) ISHELL_LoadResString(pMe->a.m_pIShell, DIALERAPP_RES_FILE, IDS_CALLING, pszTitle, ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR))); } #else (void) ISHELL_LoadResString(pMe->a.m_pIShell, DIALERAPP_RES_FILE, IDS_CALLING, pszTitle, ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR))); #endif // Update the softkey menu (void) IMENUCTL_DeleteAll(pISoftKeyMenu); (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_END, IDL_SK_CALLING_END, NULL, 0); SetDefaultSoftkeyLook(pMe->a.m_pIShell, pISoftKeyMenu); // Set Static control size ISTATIC_GetRect(pIStatic, &StaticRect); IMENUCTL_GetRect(pISoftKeyMenu, &MenuRect); SETAEERECT(&StaticRect, 10, 10, pMe->m_rc.dx-20, pMe->m_rc.dy-MenuRect.dy-20); // Static Info Properties ISTATIC_SetRect(pIStatic, &StaticRect); ISTATIC_SetActive(pIStatic, FALSE); ISTATIC_SetProperties(pIStatic, ST_MIDDLETEXT | ST_UNDERLINE | ST_CENTERTITLE | ST_CENTERTEXT | ST_NOSCROLL); (void) ISTATIC_SetText(pIStatic, pszTitle, NULL, AEE_FONT_BOLD, AEE_FONT_NORMAL); (void) IDIALOG_SetFocus(pActiveDlg, IDC_SK_CALLING); // set timer for emergency calls "searching" if(CheckAEEReturnStatus(ICM_GetCallInfo(pMe->m_pICM, pMe->m_byCurrOrigCall, &(pMe->m_CallInfo), sizeof(AEECMCallInfo))) == TRUE) { if(pMe->m_CallInfo.call_type == AEECM_CALL_TYPE_EMERGENCY) { (void) ISHELL_SetTimer(pMe->a.m_pIShell, 1000, (PFNNOTIFY) CDialerApp_CallingDlg_DisplayRefresh, (void*) pMe); } } FREE(pszTitle); #ifdef FEATURE_UI_SECONDARY_DISP_SUPPORT #error code not present #endif return CDialerApp_CallingDlg_DisplayRefresh(pMe); }
/*============================================================================= FUNCTION: CDialerApp_SSRequestDlg_Init DESCRIPTION: Initializes the controls for SS Request dialog PARAMETERS: *pMe: CDialerApp object pointer RETURN VALUE: boolean: Returns TRUE if successful COMMENTS: SIDE EFFECTS: SEE ALSO: =============================================================================*/ boolean CDialerApp_SSRequestDlg_Init(CDialerApp *pMe) { #if defined(FEATURE_WCDMA) || defined(FEATURE_GSM) IDialog *pActiveDlg; IStatic *pIStatic; IMenuCtl *pISoftKeyMenu; AEERect StaticRect; AEERect MenuRect; AECHAR *pszStrBeg = NULL; AECHAR *pszStrEnd = NULL; AECHAR *pszBuf = NULL; AECHAR szFormat[] = {'%','s',' ','%','s','\0'}; CSSRequestDlgInfo *pDlgInfo = NULL; uint16 wIDSOp; PRINT_FUNCTION_NAME(); // error checking if(pMe == NULL) { return FALSE; } pActiveDlg = CDialerApp_GetActiveDlg(pMe); // error checking if (pActiveDlg == NULL) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; } pDlgInfo = (CSSRequestDlgInfo*) CDialerApp_GetActiveDlgInfo(pMe); if(pDlgInfo == NULL) { DIALER_ERR("NULL Pointer", 0,0,0); return FALSE; } // Get controls in dialog pIStatic = (IStatic*) IDIALOG_GetControl(pActiveDlg, IDC_STATIC_SSREQUEST); pISoftKeyMenu = (IMenuCtl*)IDIALOG_GetControl(pActiveDlg, IDC_SK_SSREQUEST); if((pIStatic == NULL) || (pISoftKeyMenu == NULL)) { DIALER_ERR("Null pointer", 0,0,0); return FALSE; // error } // init buffer pszBuf = (AECHAR*) MALLOC ((DIALERAPP_MAX_STR_SIZE+DIALERAPP_MAX_NOTIF_BUFFER_SIZE)*sizeof(AECHAR)); pszStrBeg = (AECHAR*) MALLOC ((DIALERAPP_MAX_NOTIF_BUFFER_SIZE)*sizeof(AECHAR)); pszStrEnd = (AECHAR*) MALLOC ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR)); if((pszBuf == NULL) || (pszStrBeg == NULL) || (pszStrEnd == NULL)) { DIALER_ERR("No memory", 0,0,0); FREEIF(pszBuf); FREEIF(pszStrBeg); FREEIF(pszStrEnd); return FALSE; } switch(pDlgInfo->ssCode) { case AEESUPPSVC_CLIP: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CLIP; break; case AEESUPPSVC_CLIR: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CLIR; break; case AEESUPPSVC_COLP: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_COLP; break; case AEESUPPSVC_COLR: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_COLR; break; case AEESUPPSVC_ALL_FORWARDING_SS: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_ALL_FORWARDING_SS; break; case AEESUPPSVC_CFU: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CFU; break; case AEESUPPSVC_ALL_CONDFWD_SS: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_ALL_CONDFWD_SS; break; case AEESUPPSVC_CFB: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CFB; break; case AEESUPPSVC_CFNRY: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CFNRY; break; case AEESUPPSVC_CFNRC: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CFNRC; break; case AEESUPPSVC_CW: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CW; break; case AEESUPPSVC_ALL_CALL_RSTRCT_SS: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_ALL_CALL_RSTRCT_SS; break; case AEESUPPSVC_BARRING_OUTGOING_CALLS: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_BARRING_OUTGOING_CALLS; break; case AEESUPPSVC_BAOC: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_BAOC; break; case AEESUPPSVC_BOIC: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_BOIC; break; case AEESUPPSVC_BOIC_EXHC: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_BOIC_EXHC; break; case AEESUPPSVC_BARRING_OF_INCOMING_CALLS: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_BARRING_OF_INCOMING_CALLS; break; case AEESUPPSVC_BAIC: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_BAIC; break; case AEESUPPSVC_BICROAM: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_BICROAM; break; case AEESUPPSVC_CCBS: wIDSOp = IDS_SUPPSYS_SS_CODE_E_TYPE_CCBS; break; default: wIDSOp = IDS_SS; break; } (void) ISHELL_LoadResString(pMe->a.m_pIShell, DIALERAPP_RES_FILE, wIDSOp, pszStrBeg, ((DIALERAPP_MAX_NOTIF_BUFFER_SIZE)*sizeof(AECHAR))); (void) ISHELL_LoadResString(pMe->a.m_pIShell, DIALERAPP_RES_FILE, IDS_REQUESTING, pszStrEnd, ((DIALERAPP_MAX_STR_SIZE)*sizeof(AECHAR))); WSPRINTF(pszBuf, (sizeof(AECHAR)*(DIALERAPP_MAX_NOTIF_BUFFER_SIZE+DIALERAPP_MAX_STR_SIZE)), szFormat, pszStrBeg, pszStrEnd); // Update the softkey menu (void) IMENUCTL_DeleteAll(pISoftKeyMenu); (void) IMENUCTL_AddItem(pISoftKeyMenu, DIALERAPP_RES_FILE, IDS_CANCELSSREQUEST, IDL_SK_SSREQUEST_CANCEL, NULL, 0); SetDefaultSoftkeyLook(pMe->a.m_pIShell, pISoftKeyMenu); // Set Static control size ISTATIC_GetRect(pIStatic, &StaticRect); IMENUCTL_GetRect(pISoftKeyMenu, &MenuRect); SETAEERECT(&StaticRect, 10, 10, pMe->m_rc.dx-20, pMe->m_rc.dy-MenuRect.dy-20); // Static Info Properties ISTATIC_SetRect(pIStatic, &StaticRect); ISTATIC_SetActive(pIStatic, FALSE); ISTATIC_SetProperties(pIStatic, ST_MIDDLETEXT | ST_CENTERTEXT | ST_NOSCROLL); // check if alpha should be displayed if(WSTRLEN(pDlgInfo->szAlpha) > 0) { (void) ISTATIC_SetText(pIStatic, NULL, pDlgInfo->szAlpha, AEE_FONT_BOLD, AEE_FONT_BOLD); } else { (void) ISTATIC_SetText(pIStatic, NULL, pszBuf, AEE_FONT_BOLD, AEE_FONT_BOLD); } (void) IDIALOG_SetFocus(pActiveDlg, IDC_SK_SSREQUEST); FREE(pszBuf); FREE(pszStrBeg); FREE(pszStrEnd); return TRUE; #else return FALSE; #endif /* defined(FEATURE_WCDMA) || defined(FEATURE_GSM) */ }