⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jbrowsermmiserviceinbox.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_brw_index_current_highlighted_item = (U8) GetHighlightedItem();
    mmi_brw_entry_service_inbox_options();
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_delete_all_push_messages
 * DESCRIPTION
 *  Deletes the entire recent page list
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_delete_all_push_messages(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 msg_counter;
    JC_UINT32 brw_total_msg_count;
    JC_UINT32 brw_unread_msg_count;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* added by Vivek */
    HideStatusIcon(STATUS_ICON_WAP);

    mmi_brw_get_push_statistics(&brw_total_msg_count, &brw_unread_msg_count);

    for (msg_counter = 0; msg_counter < brw_total_msg_count; msg_counter++)
    {
        mmi_brw_delete_push_msg(0);
    }

    /* Added by Vivek - 13072006 */
    mmi_brw_push_free_service_value_struct(&g_current_service_message);

    /* Edited By Vivek - 5 July 2006 */
    /* DisplayPopup((PU8) GetString(STR_GLOBAL_DONE), IMG_GLOBAL_DELETED, 1, UI_POPUP_NOTIFYDURATION_TIME, SUCCESS_TONE); */
    /* Edited by Vivek - 02082006. Now instead of displaying the image IMG_GLOBAL_DELETED
       we are displaying IMG_GLOBAL_ACTIVATED as we are doing in other part of browser */
    DisplayPopup((PU8) GetString(STR_GLOBAL_DONE), IMG_GLOBAL_ACTIVATED, 1, UI_POPUP_NOTIFYDURATION_TIME, SUCCESS_TONE);

    if (IsScreenPresent(SCR_ID_BRW_SERVICE_INBOX))
    {
        DeleteUptoScrID(SCR_ID_BRW_SERVICE_INBOX);
    }
    else    /* when message is deleted from idle screen */
    {
        mmi_brw_entry_service_inbox();
        DeleteScreenIfPresent(SCR_ID_BRW_PUSH_MESSAGE_READ_OPTIONS);
        DeleteScreenIfPresent(SCR_ID_BRW_NEW_PUSH_MESSAGE_IND);
        DeleteScreenIfPresent(SCR_ID_BRW_READ_SERVICE_MESSAGE);
    }

    /* Save to persistant storage */
    mmi_brw_save_current_push_info();
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_entry_service_inbox_options_back
 * DESCRIPTION
 *  Back function for service inbox options screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_entry_service_inbox_options_back(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* Added by Vivek - 13072006 */
    mmi_brw_push_free_service_value_struct(&g_current_service_message);
    GoBackHistory();
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_entry_service_inbox_options
 * DESCRIPTION
 *  Entry function for service inbox options screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_entry_service_inbox_options(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 UC_list_of_items[3];
    U8 *guiBuffer;
    S32 num_of_items;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_ID_BRW_SERVICE_INBOX_OPTIONS, NULL, mmi_brw_entry_service_inbox_options, NULL);

    guiBuffer = GetCurrGuiBuffer(SCR_ID_BRW_SERVICE_INBOX_OPTIONS);

    num_of_items = GetNumOfChild(MENU_ID_BRW_PUSH_MSG_OPTIONS);
    GetSequenceStringIds(MENU_ID_BRW_PUSH_MSG_OPTIONS, UC_list_of_items);
    SetParentHandler(MENU_ID_BRW_PUSH_MSG_OPTIONS);
    RegisterHighlightHandler(ExecuteCurrHiliteHandler);

    ShowCategory15Screen(
        STR_ID_BRW_OPTION,
        GetRootTitleIcon(SERVICES_WAP_MENU_ID),
        STR_GLOBAL_OK,
        0,
        STR_GLOBAL_BACK,
        0,
        num_of_items,
        UC_list_of_items,
        (U16*) gIndexIconsImageList,
        LIST_MENU,
        0,
        guiBuffer);

    SetRightSoftkeyFunction(mmi_brw_entry_service_inbox_options_back, KEY_EVENT_UP);
    SetKeyHandler(mmi_brw_entry_service_inbox_options_back, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_read_arrived_push_message_exit
 * DESCRIPTION
 *  Exit Function to read arrived push message form idle screen
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_read_arrived_push_message_exit(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (NULL != g_read_arrived_message_buffer)
    {
        jdd_MemFree(g_read_arrived_message_buffer);
        g_read_arrived_message_buffer = NULL;
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_read_arrived_push_message
 * DESCRIPTION
 *  Entry Function to read arrived push message form idle screen
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_read_arrived_push_message(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U32 brw_total_msg_count = 0;
    U32 brw_unread_msg_count = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_brw_get_push_statistics(&brw_total_msg_count, &brw_unread_msg_count);

    if (1 == brw_unread_msg_count)
    {
        g_brw_index_current_highlighted_item = 0;
        mmi_brw_entry_read_push_message();
    }
    else
    {
        mmi_brw_entry_service_inbox();
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_new_push_msg_ind
 * DESCRIPTION
 *  Function to check the status whether new message is recieved
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
U8 mmi_brw_new_push_msg_ind(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    return g_brw_cntx.push_msg_rcvd_flag;
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_new_push_msg_ind_on_idlescreen
 * DESCRIPTION
 *  Entry Function to display screen for push message arrived indication
 *  on idle-screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_new_push_msg_ind_on_idlescreen(void)   /* added by puneet */
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    S8 buf[4] = {0};
    S8 pOutBuffer[8] = {0};
    S8 message_string[40] = {0};
    U32 brw_total_msg_count = 0;
    U32 brw_unread_msg_count = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_brw_get_push_statistics(&brw_total_msg_count, &brw_unread_msg_count);

    if (SCR_ID_BRW_NEW_PUSH_MESSAGE_IND == GetActiveScreenId())
    {
        DeleteNHistory(1);
    }

    if (0 == brw_unread_msg_count)
    {
        DisplayIdleScreen();
        return;
    }

    if (brw_unread_msg_count < 10)
    {
        sprintf(buf, "%01d", brw_unread_msg_count);
    }
    else
    {
        sprintf(buf, "%02d", brw_unread_msg_count);
    }

    AnsiiToUnicodeString(pOutBuffer, buf);
    pfnUnicodeStrcpy((S8*) message_string, pOutBuffer);
    pfnUnicodeStrcat((S8*) message_string, " ");
    pfnUnicodeStrcat((S8*) message_string, GetString(STR_ID_BRW_SERVICE_MESSAGE_RCVD));

    EntryNewScreen(SCR_ID_BRW_NEW_PUSH_MESSAGE_IND, NULL, mmi_brw_new_push_msg_ind_on_idlescreen, NULL);
    ShowStatusIcon(STATUS_ICON_WAP);

    if (0 == g_keylock_context.gKeyPadLockFlag)
    {
    ShowCategory154Screen(
        0,
        0,
        STR_ID_BRW_READ,
        IMG_GLOBAL_YES,
        STR_GLOBAL_BACK,
        IMG_GLOBAL_BACK,
            (PU8) message_string,
        0,
            IMG_NEW_MESSAGE_NOTIFICATION_MSG,
        NULL);

    g_brw_cntx.push_msg_rcvd_flag = MMI_FALSE;

    if (1 == brw_unread_msg_count)
    {
        SetLeftSoftkeyFunction(mmi_brw_read_arrived_push_message, KEY_EVENT_UP);
    }
    else
    {
        SetLeftSoftkeyFunction(mmi_brw_entry_service_inbox, KEY_EVENT_UP);
    }

    SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
}
    else /* Keypad is locked */
    {
        extern void EntryScrAfterPessingRSK(void);
        extern void EntryScrKeyPadLockOnPessingAnyKey(void);

        ShowCategory154Screen(
            0,
            0,
            g_keylock_context.KeyLockLSKStringID,
            g_keylock_context.KeyLockLSKIconID,
            g_keylock_context.KeyLockRSKStringID,
            g_keylock_context.KeyLockRSKIconID,
            (PU8) message_string,
            0,
            IMG_NEW_MESSAGE_NOTIFICATION_MSG,
            NULL);

        #if defined(__MMI_KEYPAD_LOCK_PROMPT_TEXT__)
            SetGroupKeyHandler(
                EntryScrKeyPadLockOnPessingAnyKey,
                (PU16) PresentAllKeys,
                (U8) TOTAL_KEYS,
                (U16) KEY_EVENT_DOWN);
        #endif /* defined(__MMI_KEYPAD_LOCK_PROMPT_TEXT__) */ 

        #if defined(__MMI_TOUCH_SCREEN__) && (!defined(__MMI_TOUCH_SCREEN_WITH_NUMERIC_KEY__) || defined(__MMI_SLIDE__)) //KP Jerry add "!defined(__MMI_TOUCH_SCREEN_WITH_NUMERIC_KEY__)" on 2007-3-26

			#ifdef __MMI_KEYPAD_LOCK_PROMPT_TEXT__
				#if defined(__MMI_KEYPAD_LOCK_PATTERN_1__) || defined(__MMI_KEYPAD_LOCK_PATTERN_3__) || defined(__MMI_KEYPAD_LOCK_PATTERN_4__)     //KP Jerry add "__MMI_KEYPAD_LOCK_PATTERN_3__" on 2007-3-27
					SetRightSoftkeyFunction(EntryScrKeyPadLockOnPessingAnyKey, KEY_EVENT_DOWN);
				#endif

				#ifdef __MMI_KEYPAD_LOCK_PATTERN_2__
					SetLeftSoftkeyFunction(EntryScrKeyPadLockOnPessingAnyKey, KEY_EVENT_DOWN);
				#endif 
			#else
				ClearKeyHandler(KEY_LSK, KEY_EVENT_DOWN);
				ClearKeyHandler(KEY_LSK, KEY_EVENT_UP);
				ClearKeyHandler(KEY_RSK, KEY_EVENT_DOWN);
				ClearKeyHandler(KEY_RSK, KEY_EVENT_UP);
			#endif /* __MMI_KEYPAD_LOCK_PROMPT_TEXT__ */ 
			SetKeyHandler(EntryScrAfterPessingRSK, KEY_SEND, KEY_EVENT_DOWN);

        #else /* __MMI_TOUCH_SCREEN__ && !__MMI_TOUCH_SCREEN_WITH_NUMERIC_KEY__ */ //KP Jerry add "!__MMI_TOUCH_SCREEN_WITH_NUMERIC_KEY__" on 2007-3-26 

			#if defined(__MMI_KEYPAD_LOCK_PATTERN_1__) || defined(__MMI_KEYPAD_LOCK_PATTERN_3__) || defined(__MMI_KEYPAD_LOCK_PATTERN_4__)     //KP Jerry add "__MMI_KEYPAD_LOCK_PATTERN_3__" on 2007-3-27
				SetRightSoftkeyFunction(EntryScrAfterPessingRSK, KEY_EVENT_DOWN);
			#endif 

			#ifdef __MMI_KEYPAD_LOCK_PATTERN_2__
				SetLeftSoftkeyFunction(EntryScrAfterPessingRSK, KEY_EVENT_DOWN);
			#endif 
     
       #endif /* __MMI_TOUCH_SCREEN__ && !__MMI_TOUCH_SCREEN_WITH_NUMERIC_KEY__ */ //KP Jerry add "!__MMI_TOUCH_SCREEN_WITH_NUMERIC_KEY__" on 2007-3-26 

        ClearKeyHandler(KEY_END, KEY_EVENT_DOWN);
        #ifdef __MMI_TOUCH_SCREEN__
            mmi_idle_pen_block(); 
        #endif
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_brw_entry_new_push_msg_ind
 * DESCRIPTION
 *  Entry Function to display screen for push message arrived indication
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_entry_new_push_msg_ind(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
           
    mmi_brw_new_push_msg_ind_on_idlescreen();
    g_brw_cntx.push_msg_rcvd_flag = MMI_FALSE;
}

#endif /* __MMI_UNIFIED_MESSAGE__ */ 
#endif /* defined (JATAAYU_SUPPORT) && defined (WAP_SUPPORT) */ 

#endif /* _MMI_JBROWSERMMISERVICEINBOX_C */ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -