MMS Applications consist of MMS Viewer, MMS Settings, MMS Templates and Some other basic MMS operations like send MMS, Call to MMS Sender, Delete MMS etc.
MMS can be viewed in two ways
– Lite Viewer(Can view few content of MMS)
– Full Viewer(Can view Whole content of MMS)
MMS Viewer will be open in stop mode first which will change to Play mode, if press play button. All Playable media like Video, audio can be played in play mode only. Can switch between slides.
Can view and save, objects and attachments stored in MMS.
Can View and Use, Details (Number, email addresses ,URLs).
MMS Settings contain various mms settings like Sending, compose and reteival settings.
MMS Multimedia Messaging Service
UMMS Unified MMS
UM Unified Message
UC Unified Composer
1. MMS Dialog
Conversation list shows sent/received messages’ dialog to/from a contact/group
On conversation list , MmsLiteViewer helps to show MMS dialog
There was no single componnent that can fulfill all the requirements of MMS dialog, lead to creation of MmsLiteViewer
MmsLiteViewer shows the thumbnail of either image on first slide of MMS or first frame of video on first slide of MMS or default MMS image if neither is present
MmsLiteViewer also helps to show subject of the MMS. In case of MMS notification download size is also shown and In case of Java MMS , size of MMS is shown
For MMS notification, MmsLiteViewer also shows either a download button or downloading animation if notification is currently in downloading state
For outbox MMS, MMS LiteViewer also shows either a resend button or sending animation if MMS is currently in sending state
MmsLiteViewer is used currently only by UM to show the MMS Dialog on conversation list
2.File Structure
venusmmi/app/Cosmos/Message Application source code
venusmmi/app/Cosmos/Message/res Application resource file
MainLCD/Default/Message Image files
3.options
MMS_SUPPORT XML_SUPPORT = TRUE
WAP_SUPPORT = TRUE Enable MMS for all Modules
__MMI_MMS_2__ If defined(OBIGO_Q03C_MMS_V02) && defined(__MMI_MMS_BGSR_SUPPORT__)
Enable MMS in MMI
__MMI_MMS_COPY_TO_ARCHIVE_SUPPORT__ If defined(__MMI_MMS_2__) && defined(__COSMOS_MMI_PACKAGE__) Enable for support MMS can be copied to Archive box
4.Block
UMMS Service is responsible for preparing and maintaining data for MMS. For many quick operations like mms send, mms save also this service is used. This internally deals with MMS Task.
Venus MMS application interacts with MDI task to play audio, for video display it uses VappVideoPlayerComponent, which internally uses MDI to play video.
Venus XML loader is used by MMS to create and layout all needed components by reading them from a xml file created at venusmmi/app/Cosmos/Message/res/vapp_mms.xml
VappMmsViewerPage is used to draw various types of mms like read report, delivery report and actual mms.
VappMmsViewObjectsPage is used to show all objects present in MMS.
VappMmsUseDetailsPage is used to show all details(phone numbers, email addresses and URL address present in opened slide), in one page
VappMMSReportsPage is used to show all reports associated with a MMS like read reports sent, delivery reports received etc.
VappMMSSettingPage is basic mms settings page, uses VcpGroupList menu to draw this page.
MMS Viewer page is created by UM or MMS Preview CUI, any application which wants to launch mms viewer page without launching mms preview cui, can use below code method.
VappMmsViewerPage *mmsViewerPage;
VFX_OBJ_CREATE_EX(mmsViewerPage, VappMmsViewerPage, getMainScr(), (MODE_STOP, msgId));/*msgId is key to launch a mms*/
getMainScr()->pushPage(0, mmsViewerPage);
VappMmsViewerCp uses VappMsgViewerCp to display loading and stop loading.
VappMmsViewerData maintains one object per one page, and keeps all information about message(sender, slides, image path etc.) .
VcpTextView is kept one instance per one VappMmsViewerCp and displays image/video + text.
VappMmsAudioPlay is used to play audio embedded in mms. It uses mdi interfaces to play/pause/stop audio
VfxControl – Framework class.Please see framework DD for the same
VcpVarHeightMenuCell - Component class, please see related component DD for it
VappMsgViewerCp - UM class, please see related UM DD
VappMsgDialogCell - UM class, please see related UM DD
VappMsgDialogCellCp - UM class, please see related UM DD
VappMMSLiteViewer – Instance of this class is used to show one MMS Dialog and all related components
m_frame - Frame containing all Lite viewer objects
m_s_frame – Photo frame is used to show either thumbnail of first slide image or first frame of video on first slide or default MMS image if neither is present.
m_txt_subject - MMS subject Text
m_txt_size - MMS size information
m_button – Button used as download button in case of MMS notification or resend buton in case of resending MMS
m_indicator - Used to show Activity indicator either for MMS notification or MMS sending/resending
getTimestamp(): VfxU32 – Provide timestamp for MMS
forceUpdate(): void - Update the Lite viewer in blocking
isMsgInValid(): VfxBool - Returns True if message is invalid
setSize(w:VfxS32, h:VfxS32): void - Set Lite viewer size and update in blocking
onClickResend(obj:VfxObject, id: VfxId ): void – Callback for resend button
onClickDownload(obj: VfxObject, id: VfxId): void - Callback for download button
m_msg_id – Unique Identifier for a MMS
m_download – Download button
m_indicator – Activity indicator shown when downloading starts
draw() – Draws details viewer
onClickDownload() – Callback of download button press