view src/ui3/bmi/mmiMmi.h @ 660:293c7db5f10f

bmi3: fixed the mysterious "mute on first call" bug When UI-enabled fw boots on a previously blank (no /mmi/* files) FFS for the first time, the output_volume member of the persistent UI settings structure was left uninitialized, corresponding to the earpiece volume being set to mute, which is an invalid setting. Because of other quirks in the far-from-finished UI code, this volume setting takes effect only when the first call is answered, producing the odd behaviour seen at the user level. The current fix is to set the blank-FFS default for output_volume to volume level 4, which is the same -6 dB Iota volume as the ACI default.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 14 May 2020 02:50:41 +0000
parents 6a4d9f47793e
children
line wrap: on
line source

#ifndef _MMIMMI_H_
#define _MMIMMI_H_ 1

/*******************************************************************************

					CONDAT (UK)

********************************************************************************

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.
                                                                              
********************************************************************************

 $Project name:	Basic MMI                                                      
 $Project code:	BMI (6349)                                                           
 $Module:		MMI
 $File:		    MmiMmi.h
 $Revision:		1.0                                                       
                                                                              
 $Author:		Condat(UK)                                                         
 $Date:		    25/10/00                                                      
                                                                               
********************************************************************************
                                                                              
 Description:

    This provides the root mofule for the basic MMI
                        
********************************************************************************
 $History: MmiMmi.h

	25/10/00			Original Condat(UK) BMI version.	
	   
 $End

*******************************************************************************/
#include "MmiResources.h" //for screen size
#include "mfw_win.h"	//for MfwWinAttr definition


/*******************************************************************************
                                                                              
                    Type definitions
                                                                              
*******************************************************************************/


typedef void ( *MmiState )( int, void( * ) ( ) );


										

/*******************************************************************************
                                                                              
                    Definitions provided by the root module
                                                                              
*******************************************************************************/

/* Identifier ranges for applications. These are used to isolate
   particular message numbers for particular applications, hence
   preventing a rogue message being handled incorrectly.
*/
#define MenuDummy		  0
#define ExtrasDummy		 50
#define StartDummy		100
#define IdleDummy		200
#define GlobalDummy		300
#define ServicesDummy	400
#define SoundsDummy		500
#define TimeDateDummy	600
#define PhbkDummy		700
#define OrganiserDummy	800
#define CallDummy		900
#define PinsDummy		1000
#define SatDummy		1100
#define DialogsDummy	1200
#define MsgsDummy		1300



/* Define window areas
*/
//The following values are incorrect - but do I fix them?
#define LCD_SX SCREEN_SIZE_X
#define LCD_SY SCREEN_SIZE_Y



/* Define charging states
*/
#define GlobalDefault            0x00
#define GlobalCharging           0x01
#define GlobalBatteryPower       0x02
#define GlobalMobileOn           0x04
#define GlobalDisplayFlag        0x08




/*******************************************************************************
                                                                              
							Global data elements
                                                                              
*******************************************************************************/

/* Root module attribute structures
*/
extern MfwWinAttr g_MainWin;
extern MfwWinAttr g_IconWin;
extern MfwWinAttr g_KeyWin;

/* Display screen sizes
*/
extern U16 mmiScrX, mmiScrY;

/* Mode for the phone
*/
extern UBYTE globalMobileMode;



/*******************************************************************************
                                                                              
							Public Prototypes
                                                                              
*******************************************************************************/

void mmi_main (void);                   /* initial entry point      */
void mmiInit (void);                    /* init MMI                 */
void mmiExit (void);                    /* exit MMI                 */


										
/*******************************************************************************
                                                                              
                                End Of File
                                                                              
*******************************************************************************/

#endif