diff src/aci2/bmi/AUIWapMMS.c @ 120:3c2acfa1a72f

src/aci2/bmi: file renames to make filename case consistent
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 07 Oct 2016 03:46:05 +0000
parents src/aci2/bmi/auiwapmms.c@93999a60b835
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aci2/bmi/AUIWapMMS.c	Fri Oct 07 03:46:05 2016 +0000
@@ -0,0 +1,645 @@
+/*******************************************************************************
+
+					Texas Instrument - SH
+
+********************************************************************************                                                                              
+
+ This software product is the property of TI Ltd and may not be
+ disclosed to any third party without the express permission of the owner.                                 
+                                                                              
+********************************************************************************
+
+ $Project name:                                                   
+ $Project code:	                                                           
+ $Module:		
+ $File:		    AUIWapMMS.c
+ $Revision:		                                                      
+                                                                              
+ $Author:		TISH                                                         
+ $Date:		                                                          
+                                                                               
+********************************************************************************
+                                                                              
+ Description:
+  	The user interface for WAP MMS.
+                        
+********************************************************************************
+
+ $History: AUIWapMMS.c
+
+    xrashmic 27 Jan, 2006 MMI-SPR-OMAPS00053357     
+    To delete the please wait screen when we start receving a mms while we are trying to send one.
+ 
+     xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+     Sepearted the call back funtion for the sending and receving mms info dialog screns.
+ 
+     Jun 30 2005  REF:  MMI-SPR-30212  x0012849
+     Display 100% sent before displaying MMS sent.
+
+    Jun 30 2005  REF:  MMI-SPR-30213  x0012849
+    To avoid "connecting" dialog coming up while receiving MMS .
+
+     May 11 2005  REF:  MMI-SPR-29887  x0012849
+     To Implement the deferred MMS retrieval.
+
+    xreddymn Mar-05-2005 MMI-SPR-26144
+    Added changes for cancel sending MMS
+xreddymn May-15-2005 MMI-SPR-30962: Added changes to maintain WAP busy state
+    during MMS transactions.
+
+       Mar 22 2005  REF: MMI-SPR-29368  x0012849
+       Description :when receiving MMS. Between the message "receiving MMS" and "New MMS",
+       there is a short second that the screen will turn white. 
+       Solution : Instead of deleting and drawing a new window update the window contents.
+
+    xreddymn Mar-05-2005 MMI-SPR-26144
+    Added changes for cancel sending MMS
+
+       Feb 28 2005  REF: MMI-SPR-28222  x0012849
+       To avoid showing a dialog box saying New MMS received, when it is actually not there in inbox.
+      
+       xrashmic 08 Feb, 2005 MMI-SPR-27853
+       Error handling in sending MMS and also displaying the progress value
+
+	xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42
+	All the status screen, .i.e sending, receiving etc. are displayed separatly for the MMS module.
+	Previously the WAP screens were being used. 
+
+	29/09/03 - TISH - Created
+	   
+ $End
+
+*******************************************************************************/
+
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+
+#if defined (NEW_FRAME)
+
+#include "typedefs.h"
+#include "vsi.h"
+#include "pei.h"
+#include "custom.h"
+#include "gsm.h"
+
+#else  /* NEW_FRAME */
+
+#include "STDDEFS.H"
+#include "custom.h"
+#include "gsm.h"
+#include "vsi.h"
+
+#endif /* NEW_FRAME */
+
+#include "mfw_sys.h"
+
+#include "mfw_mfw.h"
+#include "mfw_win.h"
+#include "mfw_kbd.h"
+#include "mfw_edt.h"
+#include "mfw_tim.h"
+#include "mfw_phb.h"
+#include "mfw_sms.h"
+#include "mfw_icn.h"
+#include "mfw_mnu.h"
+#include "mfw_lng.h"
+#include "mfw_sat.h"
+#include "mfw_kbd.h"
+#include "mfw_nm.h"
+#include "mfw_cm.h"
+
+#include "dspl.h"
+
+#include "wapmic_types.h"
+
+#include "MmiMmi.h"
+#include "MmiMain.h"
+#include "MmiDummy.h"
+#include "MmiDialogs.h"
+#include "MmiLists.h"
+#include "mmiCall.h"
+
+#include "MmiMenu.h"
+#include "MmiSoftKeys.h"
+#include "MmiResources.h"
+
+#include "MmiBlkLangDB.h"
+#include "MmiBookUtils.h"
+//#include "MmiEditor.h"
+//#include "MmiEditor_i.h"
+#include "MmiBookShared.h"
+#include "ATBData.h"
+#include "ATBWapAUI.h"
+#include "mmiSmsMenu.h"
+#include "mmismssend.h"
+#include "AUIWapext.h"
+#include "AUIWap.h"
+//xrashmic 08 Feb, 2005 MMI-SPR-27853
+#include "MmiDialogs.h"
+
+#ifdef MMI_GPRS_ENABLED
+#include "MmiGprs.h"
+#endif
+
+#include "cus_aci.h"
+#include "prim.h"
+#ifndef PCM_2_FFS
+#include "pcm.h"
+#endif
+
+
+#include "mmiColours.h"
+#include "font_bitmaps.h"
+
+
+#if 0
+typedef signed int    INT16;
+typedef signed long     INT32;
+typedef unsigned long   UINT32;
+
+#include "capiclnt.h"
+
+#endif
+#ifdef FF_MMI_MMS 
+// Jun 23 2005  REF:  MMI-SPR-29887  x0012849
+UBYTE rtvprogressValue=0;  
+char AUI_MMS_rtv_progress_string[8];
+extern BOOL is_downloadcancelled;
+void AUI_mms_wap_start_cb(UBYTE result);
+//xrashmic 08 Feb, 2005 MMI-SPR-27853
+extern int progressValue;
+void AUI_mms_error_dialog(SHORT errorCode);
+// May 12 2005  REF:  MMI-SPR-29887  x0012849
+extern BOOL is_deferdownload;   
+
+/*******************************************************************************
+
+ $Function:    	AUI_mms_wap_start
+
+ $Description:	Start MMS
+ 				SPR#2088 - TISH - Added
+ 
+ $Returns:		None
+
+ $Arguments:	None
+ 
+*******************************************************************************/
+
+//xmzhou02 static void AUI_mms_wap_start_cb(UBYTE result)
+void AUI_mms_wap_start_cb(UBYTE result)
+{
+	T_WAP_DATA *data;
+	
+	TRACE_FUNCTION("AUI_mms_wap_start_cb");
+
+	if (!result)
+	{
+		TRACE_EVENT("*** Failed to start up for WAP PUSH ***");
+		return;
+	}
+
+	data = AUI_wap_data();
+
+    //to do
+	return;
+}
+void AUI_mms_wap_start()
+{
+
+#ifdef TRACE_AUIWAP
+	TRACE_FUNCTION("AUI_mms_wap_start()");
+#endif
+
+	AUI_wap_start(WAP_MMS, (T_WAP_CB)AUI_mms_wap_start_cb);
+
+	return;
+}
+
+// xreddymn Mar-05-2005 MMI-SPR-26144: Changes for cancel sending MMS
+void AUI_mms_cancel_cb(T_MFW_HND win, USHORT identifier, USHORT reason);
+void mms_post_error(void);
+void AUI_mms_status_notify(int status);
+char AUI_MMS_progress_string[8];
+// May 11 2005  REF:  MMI-SPR-29887  x0012849
+void AUI_mms_recieve_cancel_cb(T_MFW_HND win, USHORT identifier, USHORT reason); 
+
+/*******************************************************************************
+
+ $Function:    	AUI_mms_send_progress
+
+ $Description:	Displays progress for MMS send
+
+ $Returns:		None.
+
+ $Arguments:	progress: an integer value between 0 and 100
+*******************************************************************************/
+
+void AUI_mms_send_progress(int progress)
+{
+	progressValue=progress;
+//  AUI_mms_status_notify(MMS_SEND_PROGRESS);
+}
+
+/*******************************************************************************
+
+ $Function:    	AUI_mms_send_start
+
+ $Description:	Displays the initial "connecting" dialog
+
+ $Returns:		None.
+
+ $Arguments:	None.
+*******************************************************************************/
+
+void AUI_mms_send_start(void)
+{
+	progressValue=0;
+	AUI_mms_status_notify(MMS_SEND_START);
+}
+
+/*******************************************************************************
+
+ $Function:    	AUI_wap_net_send_ind
+
+ $Description:	Displays progress for MMS send
+
+ $Returns:		None.
+
+ $Arguments:	None.
+*******************************************************************************/
+
+void AUI_wap_net_send_ind(void)
+{
+	T_WAP_DATA 	*data = AUI_wap_data();
+	// xreddymn May-19-2005 MMI-SPR-29887: Call AUI_mms_status notify only
+	// during a MMS send operation
+	if( (data->mms_win != NULL) && ((MMS_TYPE_SEND_START == data->mms_win_type) || (MMS_TYPE_SEND_PROGRESS == data->mms_win_type)) )
+	{
+		AUI_mms_status_notify(MMS_SEND_PROGRESS);
+	}
+}
+
+// xreddymn May-15-2005 MMI-SPR-30962: external functions
+extern void MMS_set_WAP_busy(void);
+extern void MMS_reset_WAP_busy(void);
+extern void MMS_process_push_queue(void);
+
+/*******************************************************************************
+
+ $Function:    	AUI_mms_status_notify
+
+ $Description:	
+xrashmic 08 Feb, 2005 MMI-SPR-27853
+MMS send/rcv state is displayed to the user here
+All calls to AUI_wap_status_notify is routed to this function for MMS module
+xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42
+
+ $Returns:		None.
+
+ $Arguments:	 
+*******************************************************************************/
+void AUI_mms_status_notify(int status)
+{
+	T_WAP_DATA 		*data		= AUI_wap_data();
+    T_MFW_HND win_handle;
+    T_MFW_WIN      * win_data ;
+    T_dialog_info  * mms_info_dialog_data  ;
+    
+  	if (!data)
+	{
+		return;
+	}
+	
+	switch (status)
+	{
+              // May 11 2005  REF:  MMI-SPR-29887  x0012849
+              // Control comes to this case immediately after coming to know that the retrieval condition is deferred
+              case MMS_NOTIFICATION_PROGRESS:  
+                        TRACE_EVENT("MMS_NOTIFICATION_PROGRESS");
+                        data->mms_win_type = MMS_TYPE_NOTIFICATION_PROGRESS;
+			   break;		   
+              // May 11 2005  REF:  MMI-SPR-29887  x0012849
+              // Control comes to here once the Notification is responded 
+              case MMS_NOTIFICATION_RECEIVED:  
+                    TRACE_EVENT("MMS_NOTIFICATION_RECEIVED");
+                     if(MMS_TYPE_NOTIFICATION_PROGRESS == data->mms_win_type)
+                     {
+                             //xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+		              //Sepearted the call back funtion for the sending and receving mms info dialog screns.	
+          		       data->mms_win=information_dialog(TxtNew,TxtMMSNotification,NULL,NULL,TxtNull,TxtSoftBack,FOREVER,KEY_RIGHT,(T_VOID_FUNC)AUI_mmsrcv_cb);
+	        	       data->mms_win_type = MMS_TYPE_NOTIFICATION_RECEIVED; 
+                     }					 
+
+                     break;
+              case MMS_PLEASEWAIT:
+                        data->mms_win_type = MMS_TYPE_PLEASEWAIT;
+            		   data->mms_win=information_dialog(TxtPleaseWait,TxtNull,NULL,NULL,TxtNull,TxtNull,FOREVER,0,NULL);		
+                    break;
+      		case MMS_SEND_PROGRESS:	
+					// If user has canceled sending MMS, do not display any more dialogs
+                    if(data->mms_cancel) break;
+
+                    // xreddymn Mar-05-2005 MMI-SPR-26144
+                    // Handle the "connecting" dialog box
+                    if((MMS_TYPE_PLEASEWAIT == data->mms_win_type) || (MMS_TYPE_SEND_START == data->mms_win_type))
+                    {
+                         SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+                         data->mms_win_type = MMS_TYPE_NONE;
+                    }
+                    // xreddymn Mar-05-2005 MMI-SPR-26144
+                    // Display MMS send progress in percentage
+                    if(progressValue < 0)
+                    {
+                        progressValue = 0;
+                    }
+                    if(progressValue > 100)
+                    {
+                        progressValue = 100;
+                    }
+                    sprintf(AUI_MMS_progress_string, "%d", progressValue);
+                    strcat(AUI_MMS_progress_string, "%");
+	
+                     if(MMS_TYPE_NONE == data->mms_win_type)
+                    {
+                        data->mms_win=information_dialog(TxtMMSSendng, TxtNull, NULL, AUI_MMS_progress_string, TxtNull, TxtCancel, FOREVER, KEY_RIGHT|KEY_HUP, (T_VOID_FUNC)AUI_mms_cancel_cb);
+                        data->mms_win_type = MMS_TYPE_SEND_PROGRESS;
+	        	           win_data     = ((T_MFW_HDR *) data->mms_win)->data;
+                           mms_info_dialog_data         = (T_dialog_info *)win_data->user;
+                    }
+                     else if(MMS_TYPE_SEND_PROGRESS == data->mms_win_type)
+                    {
+                           win_data     = ((T_MFW_HDR *) data->mms_win)->data;
+                           mms_info_dialog_data         = (T_dialog_info *)win_data->user;
+                           dspl_Enable(0);
+                           winShow(data->mms_win);
+                           dspl_Enable(1);
+                   }
+                   break;
+		// xreddymn Feb-25-2005 MMI-SPR-26144: This is displayed while waiting for WAP to connect
+		case MMS_SEND_START:
+                   //  Jun 30 2005  REF:  MMI-SPR-30213  x0012849
+                   //  To avoid "connecting" dialog coming up while receiving MMS .
+                   if(MMS_TYPE_PLEASEWAIT == data->mms_win_type)
+                   {
+                       SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0); 
+                       data->mms_win=information_dialog(TxtConnecting,TxtNull,NULL,NULL,TxtNull,TxtNull,FOREVER,0,(T_VOID_FUNC)AUI_mms_cancel_cb);
+                       data->mms_win_type = MMS_TYPE_SEND_START;
+                   }
+                   break;					 
+		case MMS_SEND_SUCCESS:
+                         // xreddymn Mar-05-2005 MMI-SPR-26144: Handle "please wait" 
+                         // and "connecting" windows
+			dspl_Enable(0);
+			if((MMS_TYPE_SEND_PROGRESS == data->mms_win_type) || (MMS_TYPE_PLEASEWAIT == data->mms_win_type) || (MMS_TYPE_SEND_START == data->mms_win_type))
+			{
+                            // Jun 30 2005  REF:  MMI-SPR-30212  x0012849
+                           // Display 100% sent before displaying MMS sent.
+        			       progressValue=100;  
+                            sprintf(AUI_MMS_progress_string, "%d", progressValue);  
+                            strcat(AUI_MMS_progress_string, "%");
+				SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+                            data->mms_win=information_dialog(TxtMMSSendng, TxtNull, NULL, AUI_MMS_progress_string, TxtNull, TxtNull, ONE_SECS, TxtNull,NULL ); 
+				data->mms_win_type = MMS_TYPE_NONE;
+			}
+			data->mms_win_type = MMS_TYPE_SEND_SUCCESS;
+			//xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+                    //Sepearted the call back funtion for the sending and receving mms info dialog screns.	
+			data->mms_win = information_dialog(TxtMMS,TxtMMSSendSucess,NULL,NULL,TxtNull,TxtSoftBack,FOREVER,KEY_RIGHT,(T_VOID_FUNC)AUI_mmssend_cb);	
+			dspl_Enable(1);
+			break;
+		case MMS_RECEIVE_PROGRESS:	
+			//xrashmic 27 Jan, 2006 MMI-SPR-OMAPS00053357     
+			//To delete the please wait screen when we start receving a mms while we are trying to send one.
+			   if(MMS_TYPE_NONE != data->mms_win_type && MMS_TYPE_RECIEVE_PROGRESS != data->mms_win_type)
+	                 {
+	                         SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+	                         data->mms_win_type = MMS_TYPE_NONE;
+	                  }
+			TRACE_EVENT("MMS_RECEIVE_PROGRESS");
+                    // May 12 2005  REF:  MMI-SPR-29887  x0012849
+                    // When The MMS_RECEIVE_PROGRESS
+                    if(TRUE == is_deferdownload )						
+                    {
+                        // Jun 23 2005  REF:  MMI-SPR-29887  x0012849
+                        //Display the progress while retrieving MMS.
+		          if(FALSE == is_downloadcancelled)     
+                 	   {
+                            sprintf(AUI_MMS_rtv_progress_string, "%d", rtvprogressValue);  
+                            strcat(AUI_MMS_rtv_progress_string, "%");							
+                            if(MMS_TYPE_NONE == data->mms_win_type)
+                            {                     
+  		                 data->mms_win=information_dialog(TxtMMSRetrieving,TxtNull,NULL,AUI_MMS_rtv_progress_string,TxtNull,TxtCancel, FOREVER, KEY_RIGHT|KEY_HUP, (T_VOID_FUNC)AUI_mms_recieve_cancel_cb);		
+                               data->mms_win_type = MMS_TYPE_RECIEVE_PROGRESS;
+	        	          win_data     = ((T_MFW_HDR *) data->mms_win)->data;
+                               mms_info_dialog_data         = (T_dialog_info *)win_data->user;
+                             }
+                            else if(MMS_TYPE_RECIEVE_PROGRESS == data->mms_win_type)
+                            {
+                               win_data     = ((T_MFW_HDR *) data->mms_win)->data;
+                               mms_info_dialog_data         = (T_dialog_info *)win_data->user;
+                               dspl_Enable(0);
+                               winShow(data->mms_win);
+                               dspl_Enable(1);
+                            }
+		
+             	          }
+		       }
+                    else
+                    {			
+			  data->mms_win_type = MMS_TYPE_RECIEVE_PROGRESS;
+			  data->mms_win=information_dialog(TxtMMSDownloading,TxtMMSDots,NULL,NULL,TxtNull,TxtNull,FOREVER,0,NULL);		
+                    }
+			break;
+		case MMS_RECEIVE_SUCCESS:	
+			TRACE_EVENT("MMS_RECEIVE_SUCCESS");
+                    // May 12 2005  REF:  MMI-SPR-29887  x0012849
+                    // Instead of showing NewMMS, show MMS Retrieved.                     
+                     if(TRUE ==  is_deferdownload)  
+                    	{                    	
+		         if(MMS_TYPE_RECIEVE_PROGRESS == data->mms_win_type)
+        		   {
+        			SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+        			data->mms_win_type = MMS_TYPE_NONE;
+        		    }
+			    data->mms_win_type=MMS_TYPE_RECIEVE_SUCCESS;
+                          is_deferdownload=FALSE;
+  			     //xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+		            //Sepearted the call back funtion for the sending and receving mms info dialog screns.	
+			     data->mms_win = information_dialog(TxtMMSRetrieved, TxtNull, NULL, NULL, TxtNull, TxtNull, FIVE_SECS, 0, (T_VOID_FUNC)AUI_mmsrcv_cb);		
+                   	}
+		       else
+		       {		
+                    // Mar 22 2005  REF: MMI-SPR-29368  x0012849			
+                    //Instead of Destroying and drawing a new window to diaply new MMS , update the erlier window contents. 
+		     data->mms_win_type = MMS_TYPE_RECIEVE_SUCCESS;
+                     win_data     = ((T_MFW_HDR *) data->mms_win)->data;
+                     mms_info_dialog_data         = (T_dialog_info *)win_data->user;
+                     mms_info_dialog_data->TextId= TxtNewMMS;
+                     mms_info_dialog_data->TextId2 = TxtNull;
+			//xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+	              //Sepearted the call back funtion for the sending and receving mms info dialog screns.	
+                     mms_info_dialog_data->Callback=(T_VOID_FUNC)AUI_mmsrcv_cb;
+		     mms_info_dialog_data->Time = FOREVER;
+		     mms_info_dialog_data->KeyEvents = KEY_RIGHT;
+		     mms_info_dialog_data->RightSoftKey= TxtSoftBack;
+                     dspl_Enable(0);
+                     winShow(data->mms_win);
+                     dspl_Enable(1);		 
+		      	}
+		     break;
+		  //xrashmic 23 Feb, 2005 MMI-SPR-28222
+                // Added support to display the receive fail for MMS
+		case MMS_RECEIVE_FAIL:
+                    // May 12 2005  REF:  MMI-SPR-29887  x0012849
+                    // Instead of showing Receive Failed show Retrieve Failed                
+		 
+                    if((data->mms_win_type != MMS_TYPE_RECIEVE_FAILED) && (data->mms_win_type != MMS_TYPE_ERROR))
+                        {
+        			if(MMS_TYPE_RECIEVE_PROGRESS == data->mms_win_type)
+        			{
+        				SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+        				data->mms_win_type = MMS_TYPE_NONE;
+        			}
+                            data->mms_win_type = MMS_TYPE_RECIEVE_FAILED;
+                          if(TRUE == is_deferdownload)  
+                    	     {
+                    	         //xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+  		                //Sepearted the call back funtion for the sending and receving mms info dialog screns.	
+                    	          is_deferdownload=FALSE;
+        			  data->mms_win = information_dialog(TxtRetrieve, TxtFailed, NULL, NULL, TxtNull, TxtNull, FIVE_SECS, 0, (T_VOID_FUNC)AUI_mmsrcv_cb);
+                   	      }
+ 		            else 	
+ 		            	{
+				  	//xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+			              //Sepearted the call back funtion for the sending and receving mms info dialog screns.	
+	        			data->mms_win = information_dialog(TxtMMS, TxtMMSRcvFail, NULL, NULL, TxtNull, TxtSoftBack, FOREVER, KEY_RIGHT, (T_VOID_FUNC)AUI_mmsrcv_cb);		
+			      	}
+                        }
+                    // xreddymn May-15-2005 MMI-SPR-30962: Clear WAP busy state once MMS transaction is complete
+                    MMS_reset_WAP_busy();
+                    MMS_process_push_queue();
+                    break;		
+                //xrashmic 23 Feb, 2005 MMI-SPR-28222
+                // Added support to display the receive fail for MMS when MMS folder is full
+              case MMS_NO_MEMORY:
+                        if(data->mms_win_type != MMS_TYPE_RECIEVE_FAILED)
+                        {
+        			if(MMS_TYPE_RECIEVE_PROGRESS == data->mms_win_type)
+        			{
+        				SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+        				data->mms_win_type = MMS_TYPE_NONE;
+        			}
+                              data->mms_win_type = MMS_TYPE_RECIEVE_FAILED;
+				//xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+		              //Sepearted the call back funtion for the sending and receving mms info dialog screns.			  
+        			data->mms_win = information_dialog(TxtNewMMS, TxtErrorOutOfMem, NULL, NULL, TxtNull, TxtSoftBack, FOREVER, KEY_RIGHT, (T_VOID_FUNC)AUI_mmsrcv_cb);		
+                        }
+                break;
+		case MMS_SEND_FAIL:
+		case ATB_WAP_DEACTIVATING:
+		case ATB_WAP_ATTACH_FAILED:
+		case ATB_WAP_ERROR:
+		case ATB_WAP_ACTIVATE_FAILED:	
+			// xreddymn Feb-17-2005 MMI-SPR-26144: handle errors when sending MMS
+			mms_post_error();
+            dspl_Enable(0); // Disable screen refresh while we change dialogs
+            // xreddymn Mar-07-2005 MMI-SPR-26144: Modified this so that Error
+            //    dialog is displayed if FFS write failed when sending MMS
+			if(data->mms_cancel)
+			{
+				data->mms_cancel=0;
+				if((MMS_TYPE_SEND_PROGRESS==data->mms_win_type)||(MMS_TYPE_PLEASEWAIT==data->mms_win_type))
+			{
+				SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+				data->mms_win_type=MMS_TYPE_NONE;
+			}
+			}
+			else
+			{        
+                		AUI_mms_error_dialog(MMS_ERROR);
+            		}
+            // xreddymn May-15-2005 MMI-SPR-30962: Clear WAP busy state once MMS transaction is complete
+            MMS_reset_WAP_busy();
+            MMS_process_push_queue();
+            
+            dspl_Enable(1); // Enable screen refresh after invoking the new dialog
+            break;
+		default:
+			break;
+	}
+	return;
+}
+
+
+/*******************************************************************************
+
+ $Function:    	AUI_mms_error_dialog
+
+ $Description:	
+//xrashmic 08 Feb, 2005 MMI-SPR-27853
+The mms send/rcv failure are displayed here
+ All calls to AUI_error_dialog is routed to this function for MMS module
+//xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42
+
+ $Returns:		None.
+
+ $Arguments:	 
+*******************************************************************************/
+void AUI_mms_error_dialog(SHORT errorCode)
+{
+	T_WAP_DATA 		*data		= AUI_wap_data();
+	int txtId=TxtNull;
+	TRACE_EVENT("AUI_mms_error_dialog");
+
+	if (!data)
+	{
+		return;
+	}
+	
+	if(MMS_TYPE_SEND_PROGRESS == data->mms_win_type || MMS_TYPE_PLEASEWAIT == data->mms_win_type || MMS_TYPE_SEND_START == data->mms_win_type)
+	{
+		txtId=TxtMMSSendFail;
+	}
+	else if(data->mms_win_type == MMS_TYPE_RECIEVE_PROGRESS)
+	{
+		txtId=TxtMMSRcvFail;				
+	}
+	
+	if(MMS_TYPE_RECIEVE_PROGRESS == data->mms_win_type || MMS_TYPE_SEND_PROGRESS == data->mms_win_type || data->mms_win_type==MMS_TYPE_PLEASEWAIT || MMS_TYPE_SEND_START == data->mms_win_type)
+	{
+		SEND_EVENT(data->mms_win, DIALOG_DESTROY, 0, 0);	
+		data->mms_win_type = MMS_TYPE_NONE;
+	}
+	
+     // May 25 2005  REF:  MMI-SPR-29887  xrashmic
+     // Display Retrieve failed instead of recieve failed.
+	if(txtId != TxtNull && data->mms_win_type != MMS_TYPE_ERROR) 
+	{
+		data->mms_win_type = MMS_TYPE_ERROR;
+		if(TRUE == is_deferdownload && txtId==TxtMMSRcvFail)
+		{ 
+			is_deferdownload=FALSE;
+			//xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+		       //Sepearted the call back funtion for the sending and receving mms info dialog screns.
+			data->mms_win = information_dialog(TxtRetrieve, TxtFailed, NULL, NULL,
+				TxtNull, TxtNull, FIVE_SECS, 0, (T_VOID_FUNC)AUI_mmsrcv_cb);
+		}
+		else
+		{
+		       //xrashmic 23 Nov, 2005 MMI-SPR-OMAPS00047637
+		       //Sepearted the call back funtion for the sending and receving mms info dialog screns.
+			if(txtId == TxtMMSRcvFail)
+				data->mms_win=information_dialog(TxtMMS,txtId,NULL,NULL,TxtNull,TxtSoftBack,FOREVER,KEY_RIGHT,(T_VOID_FUNC)AUI_mmsrcv_cb);		
+			else
+				data->mms_win=information_dialog(TxtMMS,txtId,NULL,NULL,TxtNull,TxtSoftBack,FOREVER,KEY_RIGHT,(T_VOID_FUNC)AUI_mmssend_cb);		
+		}
+	}
+	return;
+
+}
+
+#endif
+