Exemple #1
0
iBOOL i51PortCreateFrontEnd ()
{

	//	author : Jelo 
	//	since : 2011.10.19
	// 	(C) PKIG Tech. Co., Ltd.
    
    i51AdeOsLog(i51_LOG_SC, "PORT : i51PortCreateFrontEnd , S");
    
    i51EntryScreen();

    i51SetInputNotify();

    if(l_InI51){
        i51AdeOsLog(i51_LOG_SC, "PORT : i51PortCreateFrontEnd , resume notify");
        #if defined(__MMI_BACKGROUND_CALL__)
        if(srv_ucm_is_background_call())
        //if(srv_ucm_query_call_count(SRV_UCM_ACTIVE_STATE, SRV_UCM_CALL_TYPE_ALL, NULL) != 0 )
        {
            i51AdeOsLog(i51_LOG_SC, "PORT : i51PortCreateFrontEnd , Have background dial");
            i51KernelExit( i51_KERNEL_EXIT_DAP );
            return iFALSE;
        }
        #endif
        i51KernelSendEvent(i51_MSG_RESUME, 0);
    }else
         i51AdeOsLog(i51_LOG_SC, "PORT : i51PortCreateFrontEnd , fontend app will run");
    
    l_InI51 = iTRUE;

    i51AdeOsLog(i51_LOG_SC, "PORT : i51PortCreateFrontEnd , E");
	return iTRUE ;
	
}
/*****************************************************************************
 * FUNCTION
 *  mmi_rmgr_format_notify_timeout_hdlr
 * DESCRIPTION
 *  Post formatting notification handler
 * PARAMETERS
 *  void
 *  para(?)             [IN]        Additional parameter
 *  notify_flag(?)      [IN]        MMI_FMGR_NOTIFY_DRV_POST_FORMAT
 * RETURNS
 *  MMI_BOOL: always return true
 *****************************************************************************/
void mmi_rmgr_format_notify_timeout_hdlr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MMI_BOOL block_screen = MMI_FALSE;
     mmi_id g_id;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/

#ifdef __MMI_UCM__
    if (srv_ucm_query_call_count(SRV_UCM_CALL_STATE_ALL, SRV_UCM_CALL_TYPE_NO_CSD, NULL) > 0)
    {
        block_screen = MMI_TRUE;

    #ifdef __MMI_BACKGROUND_CALL__
        if (srv_ucm_is_background_call())
        {
            block_screen = MMI_FALSE;
        }
    #endif /* __MMI_BACKGROUND_CALL__ */ 
    }

    if (block_screen)
    {
        return;
    }
#endif /* __MMI_UCM__ */ 

   
   mmi_frm_nmgr_notify_by_app(MMI_SCENARIO_ID_DEFAULT, MMI_EVENT_NON_TONE, mmi_rmgr_format_popup_handler, NULL);
   //mmi_rmgr_list_ro_entry_delete();
}
MMI_BOOL CALLCC UcmService::is_background_call(void)
{
    //MMI_PRINT(MOD_MRE, TRACE_GROUP_1, "[MRE] UcmService::is_background_call");
#ifdef __MMI_BACKGROUND_CALL__
    return srv_ucm_is_background_call();
#else
    return MMI_FALSE;
#endif      
}
/*****************************************************************************
 * FUNCTION
 *  mmi_fmsr_power_on
 * DESCRIPTION
 *  Power on the FM radio and playing
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmsr_power_on(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_fmsr_cntx.rec.state != FMSR_STATE_IDLE)
    {
        /* Enter error screen */
        return;
    }
#ifdef __MMI_BACKGROUND_CALL__
    if (srv_ucm_is_background_call())
    {
        return;
    }
#endif /* __MMI_BACKGROUND_CALL__ */ 

    if (!mdi_check_device_ownership())
    {
        /* Enter error screen */
        return;
    }
    else
    {
        /* Stop all aduo and begin to record */
        mdi_audio_stop_all();

        mdi_audio_set_volume(AUD_VOLUME_FMR, g_fmsr_cntx.rec.volume);
        mdi_fmr_power_on_with_path(
            MDI_DEVICE_SPEAKER_BOTH /* MDI_DEVICE_SPEAKER2 */ ,
            (mdi_ext_callback) mmi_fmsr_mdi_callback,
            NULL);
        mdi_fmr_set_freq(g_fmsr_cntx.rec.freqency);
        g_fmsr_cntx.rec.state = FMSR_STATE_READY;
    }
}
Exemple #5
0
int i51EntryDo(void)
{
	//	author : Miki
	//	since : 2011.8.30
	// 	(C) PKIG Tech. Co., Ltd.
    #if defined(__MMI_BACKGROUND_CALL__)
    if(srv_ucm_is_background_call())
    //if( srv_ucm_query_call_count(SRV_UCM_ACTIVE_STATE, SRV_UCM_CALL_TYPE_ALL, NULL) != 0 )
    {
        //需要先停止打电话!
        #ifdef __I51_APP_LANG_EN__
        U16 s2[]= L"Please hang up the phone!";
        #else
        U16 s2[9+1] = { 0x9700,0x8981,0x5148,0x505c,0x6b62,0x6253,0x7535,0x8bdd,0xff01,0x0000};
        #endif
        DisplayPopup((PU8)s2, IMG_GLOBAL_WARNING, 0, 3000, 0);
        return 1;
    }
    #endif
    if(mdi_audio_get_state() == MDI_AUDIO_PLAY)
//    if( mdi_audio_is_playing(MDI_AUDIO_PLAY_ANY) )
    {   
        //需要先关闭音乐播放程序!
        #ifdef __I51_APP_LANG_EN__
        U16 s1[]= L"Please Stop the Music !";
        #else
        U16 s1[12+1] = { 0x9700,0x8981,0x5148,0x5173,0x95ed,0x97f3,0x4e50,0x64ad,0x653e,0x7a0b,0x5e8f,0xff01,0x0000};        
        #endif
        DisplayPopup((PU8)s1, IMG_GLOBAL_WARNING, 0, 3000, 0);       
        return 1 ;
    }

    i51AdeOsLog( 0 ,"PORT : i51EntryDo , MEM left:%d",i51AdeOsGetTotallMemoryLeft());
    
    return 0;
}
/*****************************************************************************
 * FUNCTION
 *  mmi_fmsr_start_record
 * DESCRIPTION
 *  Start to record FM radio
 * PARAMETERS
 *  filename        [IN]        The record file name
 *  format          [IN]        The record file format
 *  quality         [IN]        The record file quality
 * RETURNS
 *  void
 *****************************************************************************/
BOOL mmi_fmsr_start_record(UI_string_type filename, U8 format, U8 quality)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 file_format;
    mdi_result result;

#ifdef __DRM_SUPPORT__
    {
        FS_HANDLE handle;
        BOOL is_permitted = FALSE;

        /*----------------------------------------------------------------*/
        /* Code Body                                                      */
        /*----------------------------------------------------------------*/
        if ((handle = DRM_open_file((PU16) filename, FS_READ_ONLY, DRM_PERMISSION_NONE)) >= FS_NO_ERROR)
        {
            if (DRM_get_object_method(handle, NULL) == DRM_METHOD_NONE)
            {
                is_permitted = TRUE;
            }
            DRM_close_file(handle);
        }
        else if (handle < -1)   /* file open error. but not DRM related problem */
        {
            is_permitted = TRUE;
        }

        if (!is_permitted)
        {
            mmi_fmsr_record_error_hdlr(DRM_NOT_PERMIT_TO_APPEND);
            return FALSE;
        }
    }
#endif /* __DRM_SUPPORT__ */ 

#ifdef __MMI_BACKGROUND_CALL__
    if (srv_ucm_is_background_call())
    {
        return FALSE;
    }
#endif /* __MMI_BACKGROUND_CALL__ */ 

    switch (format)
    {
    #if !defined(__FMRADIO_I2S_SUPPORT__) || defined(__I2S_AMR_RECORD__)
        case FMSR_FORMAT_AMR:
            file_format = MEDIA_AMR;
            break;
    #endif 
    #if !defined(__FMRADIO_I2S_SUPPORT__) || defined(__I2S_WAV_RECORD__)
        case FMSR_FORMAT_WAV:
            file_format = MEDIA_WAV_DVI_ADPCM;
            break;
    #endif 
    #if !defined(__FMRADIO_I2S_SUPPORT__) || defined(__I2S_AWB_RECORD__)
    #if defined(AMRWB_ENCODE) && defined(AMRWB_DECODE)
        case FMSR_FORMAT_AWB:
            file_format = MEDIA_AMR_WB;
            break;
#endif 
    #endif /* defined(AMRWB_ENCODE) && defined(AMRWB_DECODE) */ 
    #if defined(__I2S_DAF_RECORD__)
        case FMSR_FORMAT_DAF:
            file_format = MDI_FORMAT_DAF;
            break;
    #endif 
        default:
            file_format = MEDIA_AMR;
            break;

    }

    result = mdi_fmr_start_record(filename, file_format, quality);

    if (result == MDI_AUDIO_SUCCESS)
    {
        g_fmsr_cntx.rec.is_start_duration = TRUE;
        g_fmsr_cntx.rec.state = FMSR_STATE_RECORD;
        return TRUE;
    }
    /* Record request fail, need to stop FM radio playing */
    else if (g_fmsr_cntx.rec.state == FMSR_STATE_READY)
    {
        /* Do not show message in the FM radio stop callback. */
        g_fmsr_cntx.rec.is_show_msg = FALSE;
        mmi_fmsr_power_off();
    }

    /* Show error message for the error cause */
    g_fmsr_cntx.rec.is_show_msg = TRUE;
    mmi_fmsr_record_error_hdlr(result);
    return FALSE;

}