phoneapp/phoneuiview/src/cphonemenucontroller.cpp
changeset 0 5f000ab63145
child 9 8871b09be73b
equal deleted inserted replaced
-1:000000000000 0:5f000ab63145
       
     1 /*
       
     2 * Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: Implementation of CPhoneMenuController class.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 #include "cphonemenucontroller.h"
       
    21 #include "tphonecommandparam.h"
       
    22 #include "tphonecmdparaminteger.h"
       
    23 #include "tphonecmdparamdynmenu.h"
       
    24 #include "tphonecmdparamboolean.h"
       
    25 #include "phoneconstants.h"
       
    26 #include "phonelogger.h"
       
    27 #include "tphonecmdparamincallindicatordata.h"
       
    28 #include "cphonepubsubproxy.h"
       
    29 #include "cphonecenrepproxy.h"
       
    30 
       
    31 
       
    32 #include <eikenv.h>
       
    33 #include <eikappui.h>
       
    34 #include <eikapp.h>
       
    35 #include <eikmenub.h> 
       
    36 #include <eikspane.h> 
       
    37 #include <featmgr.h>
       
    38 #include <ctsydomainpskeys.h>
       
    39 #include "phoneui.hrh"
       
    40 #include <phoneappvoipcommands.hrh>
       
    41 #include <phoneui.rsg>
       
    42 #include <telephonyvariant.hrh>
       
    43 
       
    44 #include <hwrmdomainpskeys.h>
       
    45 
       
    46 #include <AiwServiceHandler.h>
       
    47 
       
    48 // ================= MEMBER FUNCTIONS =======================
       
    49 
       
    50 // -----------------------------------------------------------------------------
       
    51 // CPhoneMenuController::CPhoneMenuController
       
    52 // C++ default constructor can NOT contain any code, that
       
    53 // might leave.
       
    54 // -----------------------------------------------------------------------------
       
    55 //
       
    56 CPhoneMenuController::CPhoneMenuController( CEikonEnv& aEikEnv ): 
       
    57     iMenuResourceId( 0 ),
       
    58     iOkMenuResourceId( 0 ),
       
    59     iEikEnv( aEikEnv )
       
    60     {
       
    61     }
       
    62 
       
    63 // -----------------------------------------------------------------------------
       
    64 // CPhoneMenuController::ConstructL
       
    65 // Symbian 2nd phase constructor can leave.
       
    66 // -----------------------------------------------------------------------------
       
    67 //
       
    68 void CPhoneMenuController::ConstructL()
       
    69     {
       
    70     iMenu = iEikEnv.AppUiFactory()->MenuBar();
       
    71         
       
    72     if ( FeatureManager::FeatureSupported( KFeatureIdMultimediaSharing ) )
       
    73         {
       
    74         __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> Going to instantiate CAiwServiceHandler");
       
    75         //If multimedia sharing is supported, initialise instance to AIW handler
       
    76         //and attach menu interest.        
       
    77         iServiceHandler = CAiwServiceHandler::NewL();  
       
    78         
       
    79          // Attach menu service interests to AIW framework.
       
    80         iServiceHandler->AttachMenuL( R_PHONEUI_CALLHANDLING_INCALL_OPTIONS_MENU,
       
    81             R_PHONEUI_AIWSHARE_INTEREST );
       
    82         __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> AIW Menu attached");       
       
    83         }
       
    84     
       
    85     CPhonePubSubProxy::Instance()->NotifyChangeL(
       
    86                                          KPSUidHWRM, KHWRMGripStatus, this );
       
    87     }
       
    88 
       
    89 // -----------------------------------------------------------------------------
       
    90 // CPhoneMenuController::NewL
       
    91 // Two-phased constructor.
       
    92 // -----------------------------------------------------------------------------
       
    93 //
       
    94 CPhoneMenuController* CPhoneMenuController::NewL( CEikonEnv& aEikEnv )
       
    95     {   
       
    96     CPhoneMenuController* self = new( ELeave ) CPhoneMenuController( aEikEnv );
       
    97 
       
    98     CleanupStack::PushL( self );
       
    99     self->ConstructL();
       
   100     CleanupStack::Pop( self );
       
   101     
       
   102     return self;
       
   103     }
       
   104 
       
   105 // Destructor
       
   106 CPhoneMenuController::~CPhoneMenuController()
       
   107     {
       
   108     delete iServiceHandler;      
       
   109     }
       
   110 
       
   111 // ---------------------------------------------------------
       
   112 // CPhoneMenuController::CloseMenuBar()
       
   113 // ---------------------------------------------------------
       
   114 //
       
   115 void CPhoneMenuController::CloseMenuBar()
       
   116     {
       
   117     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::CloseMenuBar()" );
       
   118     iMenu->StopDisplayingMenuBar();
       
   119     }
       
   120 
       
   121 // ---------------------------------------------------------
       
   122 // CPhoneMenuController::OpenMenuBar()
       
   123 // ---------------------------------------------------------
       
   124 //
       
   125 void CPhoneMenuController::OpenMenuBarL()
       
   126     {
       
   127     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::OpenMenuBarL()" );
       
   128     iMenu->SetMenuTitleResourceId( iMenuResourceId );
       
   129     iMenu->TryDisplayMenuBarL();
       
   130     }
       
   131 
       
   132 // ---------------------------------------------------------
       
   133 // CPhoneMenuController::SetMenubarL
       
   134 // Set the Menubar to the specified setting
       
   135 // (other items were commented in a header).
       
   136 // ---------------------------------------------------------
       
   137 //
       
   138 void CPhoneMenuController::OpenMenuBarL( TPhoneCommandParam* aCommandParam )
       
   139     {
       
   140     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::OpenMenuBarL()" );
       
   141     // Check is the given parameter valid
       
   142     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdInteger )
       
   143         {
       
   144         TPhoneCmdParamInteger* menuResource = 
       
   145             static_cast<TPhoneCmdParamInteger*>( aCommandParam );
       
   146 
       
   147         iMenuResourceId = menuResource->Integer();
       
   148         ShowTaskSwapper( iMenuResourceId );
       
   149 
       
   150         iMenu->SetMenuTitleResourceId( iMenuResourceId );
       
   151         iMenu->TryDisplayMenuBarL();
       
   152         }
       
   153     }
       
   154 
       
   155 // -----------------------------------------------------------------------------
       
   156 // CPhoneMenuController::IsSwivelClosed
       
   157 // This function checks from PubSubProxy that is
       
   158 // Swivel closed or not in product.
       
   159 // 
       
   160 // -----------------------------------------------------------------------------
       
   161 //
       
   162 TBool CPhoneMenuController::IsSwivelClosed() const
       
   163     {
       
   164     if( CPhoneCenRepProxy::Instance()->
       
   165             IsTelephonyFeatureSupported( KTelephonyLVFlagSwivelInDevice ))
       
   166         {
       
   167         return CPhonePubSubProxy::Instance()->Value(
       
   168                                          KPSUidHWRM, KHWRMGripStatus ) == EPSHWRMGripClosed;        
       
   169         }
       
   170     else
       
   171         {
       
   172         return EFalse;
       
   173         }
       
   174 
       
   175     } 
       
   176 
       
   177 // ---------------------------------------------------------
       
   178 // CPhoneMenuController::DynInitMenuBar
       
   179 // ---------------------------------------------------------
       
   180 //
       
   181 void CPhoneMenuController::DynInitMenuBar( 
       
   182     TPhoneCommandParam* /*aCommandParam*/ )
       
   183     {
       
   184     }
       
   185 
       
   186 // ---------------------------------------------------------
       
   187 // CPhoneMenuController::DynInitMenuPaneL
       
   188 // ---------------------------------------------------------
       
   189 //
       
   190 void CPhoneMenuController::DynInitMenuPaneL( TPhoneCommandParam* aCommandParam )
       
   191     {
       
   192     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::DynInitMenuPaneL()" );
       
   193     TPhoneCmdParamDynMenu* menu = 
       
   194         static_cast<TPhoneCmdParamDynMenu*>( aCommandParam );
       
   195 
       
   196     TInt resourceId = menu->ResourceId();
       
   197     
       
   198     __PHONELOG1( 
       
   199         EBasic, 
       
   200         EPhonePhoneapp, 
       
   201         "CPhoneMenuController::DynInitMenuPaneL() - ResourceId = %d)", 
       
   202         resourceId );
       
   203  
       
   204     CEikMenuPane*  menuPane= 
       
   205         reinterpret_cast<CEikMenuPane*>( menu->DynMenu() );
       
   206  
       
   207     RArray<TInt> menuItemArray;
       
   208     CleanupClosePushL( menuItemArray );
       
   209 
       
   210     TInt menuItemCount = menuPane->NumberOfItemsInPane();
       
   211     __PHONELOG1( 
       
   212         EBasic, 
       
   213         EPhonePhoneapp, 
       
   214         "CPhoneMenuController::DynInitMenuPaneL() - MenuItemCount = %d)", 
       
   215         menuItemCount );
       
   216  
       
   217     // Menu items to array
       
   218     for ( TInt i( 0 ); i < menuItemCount; i++ )
       
   219         {
       
   220         menuItemArray.Append( menuPane->MenuItemCommandId( i ) );
       
   221         }
       
   222     TBool onScreenDialer = FeatureManager::FeatureSupported( 
       
   223                                     KFeatureIdOnScreenDialer );  
       
   224                                            
       
   225     // Menu items to be deleted 
       
   226     for ( TInt i( 0 ); i < menuItemArray.Count(); i++ )
       
   227         {
       
   228         switch( menuItemArray[ i ] )
       
   229             {
       
   230             case EPhoneInCallCmdDialer:
       
   231                 if ( !onScreenDialer )
       
   232                     {
       
   233                     menuPane->DeleteMenuItem( menuItemArray[ i ] );    
       
   234                     }
       
   235                 break;
       
   236             case EPhoneInCallCmdLockKeypad:
       
   237                 if ( onScreenDialer || iHoldFlag )
       
   238                     {
       
   239                     menuPane->DeleteMenuItem( menuItemArray[ i ] );     
       
   240                     }
       
   241                 break;
       
   242             case EPhoneInCallCmdLockScreen:
       
   243                 if ( !onScreenDialer || iHoldFlag )
       
   244                     {
       
   245                     menuPane->DeleteMenuItem( menuItemArray[ i ] );     
       
   246                     }
       
   247                 break;
       
   248             case EPhoneNumberAcqCmdCall:
       
   249                 if ( onScreenDialer && iNumberEntryEmpty )
       
   250                     {
       
   251                     menuPane->DeleteMenuItem( menuItemArray[ i ] ); 
       
   252                     }
       
   253                 else if ( iServiceCodeFlag )
       
   254                     {
       
   255                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   256                     }
       
   257                 break;
       
   258                 
       
   259             case EPhoneNumberAcqCmdVideoCall:
       
   260                 if ( iServiceCodeFlag && 
       
   261                      FeatureManager::FeatureSupported( 
       
   262                          KFeatureIdVideocallMenuVisibility ))
       
   263                     {
       
   264                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   265                     }
       
   266                 else if( !( FeatureManager::FeatureSupported( 
       
   267                         KFeatureIdCsVideoTelephony ) ) )
       
   268                     {
       
   269                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   270                     }
       
   271                 break;
       
   272  
       
   273             case EPhoneNumberAcqCmdSendMessage:            
       
   274                 if ( iNumberEntryEmpty )
       
   275                     {
       
   276                     menuPane->DeleteMenuItem( menuItemArray[ i ] ); 
       
   277                     }
       
   278                 break;                    
       
   279                                 
       
   280             case EPhoneNumberAcqCmdSendCommand:
       
   281                 if ( !iServiceCodeFlag || iNumberEntryEmpty )
       
   282                     {
       
   283                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   284                     }
       
   285                 break;
       
   286                 
       
   287             case EPhoneNumberAcqCmdToggleNeAlphaMode:
       
   288                 if ( iAlphaMode )
       
   289                     {
       
   290                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   291                     }
       
   292                 break;
       
   293                          
       
   294             case EPhoneNumberAcqCmdToggleNeNumericMode:
       
   295                 if ( !iAlphaMode )
       
   296                     {
       
   297                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   298                     }
       
   299                 break;
       
   300                 
       
   301                 
       
   302             case EPhoneInCallCmdGoToIdle:
       
   303                 if ( iNEVisible )
       
   304                     {
       
   305                     menuPane->DeleteMenuItem( menuItemArray[ i ] );    
       
   306                     }
       
   307                 break;
       
   308                 
       
   309             case EPhoneInCallCmdMute:
       
   310                 if ( iMuteFlag )
       
   311                     {
       
   312                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   313                     }
       
   314                 break;
       
   315                 
       
   316             case EPhoneInCallCmdUnmute:
       
   317                 if ( !iMuteFlag )
       
   318                     {
       
   319                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   320                     }
       
   321                 break;
       
   322                 
       
   323             case EPhoneInCallCmdHold: // fall through
       
   324             case EPhoneInCallCmdConferenceHold:
       
   325                 if ( iHoldFlag && !iConferenceAndSingleFlag )
       
   326                     {
       
   327                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   328                     }
       
   329                 break;
       
   330                 
       
   331             case EPhoneInCallCmdDtmfListQuery:
       
   332                 if ( ( iHoldFlag && !iAllowDtmfOptionsFlag ) || iHideVideoCallDTMFVisibility )
       
   333                     {
       
   334                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   335                     }
       
   336                 break;
       
   337                 
       
   338             case EPhoneInCallCmdSwitchToVideo:
       
   339                 if( !iPhoneNumberAvailableInPhoneEngine  ||
       
   340                     !( FeatureManager::FeatureSupported( 
       
   341                             KFeatureIdCsVideoTelephony ) ) )
       
   342                     {
       
   343                     menuPane->DeleteMenuItem( menuItemArray[ i ] );                    
       
   344                     }
       
   345                  break;
       
   346             case EPhoneInCallCmdSwitchToVoice:
       
   347                 if( !iPhoneNumberAvailableInPhoneEngine )
       
   348                     {
       
   349                     menuPane->DeleteMenuItem( menuItemArray[ i ] );                    
       
   350                     }
       
   351                 break;
       
   352                 
       
   353             case EPhoneCallComingCmdSoftReject:
       
   354                 if ( !iSoftRejectFlag )
       
   355                     {
       
   356                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   357                     }
       
   358                 break;
       
   359                 
       
   360             case EPhoneCallComingCmdAnswerHandPortableVideo:
       
   361                 if ( iWiredAccAvailableFlag || IsSwivelClosed() )
       
   362                     {
       
   363                     menuPane->DeleteMenuItem( menuItemArray[ i ] );        
       
   364                     }
       
   365                 break;   
       
   366                   
       
   367             case EPhoneCallComingCmdAnswerHandPortable:
       
   368                 if ( !iBTAccAvailableFlag )
       
   369                     {
       
   370                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   371                     }
       
   372                  break;
       
   373                  
       
   374             case EPhoneInCallCmdConferenceUnhold: // fall through
       
   375             case EPhoneInCallCmdUnhold:
       
   376                 if ( !iHoldFlag )
       
   377                     {
       
   378                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   379                     }
       
   380                 break;
       
   381                 
       
   382             case EPhoneInCallCmdCreateConference:
       
   383                 // Remove conference submenu item if:
       
   384                 // 1. Specific flag is set (calls are different type) OR
       
   385                 // 2. We are in Conference And Single state where the conference call is on hold and there
       
   386                 //    are maximum amount of participants in conference call (can't add single to the conference) OR
       
   387                 // 3. Conference call is on hold and we are in some other conference state than Conference And Single
       
   388                 if ( iRemoveConfrenceOptionsFlag || ( iHoldFlag && iConferenceAndSingleFlag && iMaxConfMembersFlag ) ||
       
   389                      ( iHoldFlag && !iConferenceAndSingleFlag ) )
       
   390                     {
       
   391                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   392                     }
       
   393                 break;
       
   394                                 
       
   395             case EPhoneInCallCmdJoin:
       
   396                  if( iMaxConfMembersFlag || iRemoveConfrenceOptionsFlag )
       
   397                     {
       
   398                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   399                     }
       
   400                 break;
       
   401                 
       
   402             case EPhoneInCallCmdReplace:
       
   403                 if ( !iReplace )
       
   404                     {
       
   405                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   406                     }
       
   407                 break;
       
   408                 
       
   409             case EPhoneInCallCmdActivateIhf:
       
   410                 if ( iWiredAccFlag || iIhfFlag )
       
   411                     {
       
   412                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   413                     }
       
   414                 break;
       
   415                 
       
   416             case EPhoneInCallCmdDeactivateIhf:
       
   417                 if ( iWiredAccFlag || !iIhfFlag || IsSwivelClosed() )
       
   418                     {
       
   419                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
       
   420                     }
       
   421                 break;
       
   422                 
       
   423             case EPhoneInCallCmdBtHandsfree:
       
   424                 if ( iBTAccTmpUnFlag && !iWiredAccFlag  )
       
   425                     {
       
   426                     // None
       
   427                     }
       
   428                 else
       
   429                     {
       
   430                     menuPane->DeleteMenuItem( menuItemArray[i] );
       
   431                     }    
       
   432                 break;
       
   433 
       
   434             case EPhoneInCallCmdHandset:
       
   435                 if ( iBTAccFlag && !iWiredAccFlag )
       
   436                     {
       
   437                     if ( IsSwivelClosed() )
       
   438                         {
       
   439                         menuPane->DeleteMenuItem( menuItemArray[i] );
       
   440                         }
       
   441                     }
       
   442                  else
       
   443                     {
       
   444                     menuPane->DeleteMenuItem( menuItemArray[i] );
       
   445                     }   
       
   446                 break; 
       
   447 
       
   448             case EPhoneDialerCallHandling:
       
   449                 {
       
   450                 // no active call
       
   451                 if ( onScreenDialer && !iCallInProgress )
       
   452                     {
       
   453                     menuPane->DeleteMenuItem( menuItemArray[i] );                    
       
   454                     }                
       
   455                 }
       
   456                 break;
       
   457             case EPhoneDialerCmdLog:
       
   458                 {
       
   459                 if ( onScreenDialer && !iNumberEntryEmpty  )
       
   460                     {
       
   461                     menuPane->DeleteMenuItem( menuItemArray[i] );                    
       
   462                     }                
       
   463                 }
       
   464                 break;
       
   465             case EPhoneDialerCmdContacts:
       
   466                 {
       
   467                 if ( onScreenDialer && !iNumberEntryEmpty   )
       
   468                     {
       
   469                     menuPane->DeleteMenuItem( menuItemArray[i] );                    
       
   470                     }                
       
   471                 }
       
   472                 break;
       
   473 
       
   474             case EPhoneNumberAcqCmdAddToContacts:
       
   475                 {
       
   476                 if ( onScreenDialer && iNumberEntryEmpty   )
       
   477                     {
       
   478                     menuPane->DeleteMenuItem( menuItemArray[i] );                    
       
   479                     }                
       
   480                 }
       
   481                 break;
       
   482             case EPhoneDialerCmdSpeedDial:
       
   483                 {
       
   484                 if ( onScreenDialer && !iNumberEntryEmpty )
       
   485                     {
       
   486                     menuPane->DeleteMenuItem( menuItemArray[i] );                         
       
   487                     }
       
   488                 }
       
   489                 break;
       
   490             case EPhoneCmdDtmfOk:
       
   491                 {
       
   492                 if ( onScreenDialer && iNumberEntryEmpty )
       
   493                     {
       
   494                     menuPane->DeleteMenuItem( menuItemArray[i] );                     
       
   495                     }
       
   496                 }
       
   497                 break;
       
   498            case EPhoneInCallCmdPrivate:
       
   499                 {
       
   500                 if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) &&
       
   501                     iHoldFlag && 
       
   502                     iConferenceParticipantsListOpenFlag )
       
   503                     {
       
   504                     menuPane->DeleteMenuItem( menuItemArray[i] );                      
       
   505                     }
       
   506                 }
       
   507                 break;
       
   508             case EPhoneDialerCmdTouchInput:
       
   509                 {
       
   510                 if ( !FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
       
   511                     {
       
   512                     menuPane->DeleteMenuItem( menuItemArray[i] );      
       
   513                     }
       
   514                 }
       
   515                 break;
       
   516             case EPhoneVideoSharing:
       
   517                 {
       
   518                 if( !FeatureManager::FeatureSupported( KFeatureIdMultimediaSharing ) )
       
   519                     {
       
   520                     menuPane->DeleteMenuItem( menuItemArray[i] );      
       
   521                     }
       
   522                 }
       
   523                 break;
       
   524                 
       
   525             default:
       
   526                 break;                                                                                                
       
   527              
       
   528             }
       
   529         }
       
   530     
       
   531     CleanupStack::PopAndDestroy(); // CleanupClosePushL
       
   532     
       
   533     if ( FeatureManager::FeatureSupported( KFeatureIdMultimediaSharing ) )
       
   534         {
       
   535         if( iServiceHandler->HandleSubmenuL( *menuPane ) )
       
   536             {
       
   537             // AIW handled this
       
   538             __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> AIW handled this sub menu");
       
   539             return;                
       
   540             }
       
   541             
       
   542         if( iServiceHandler->IsAiwMenu( resourceId ) )
       
   543             {
       
   544             __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> Resource is in AIW menu");
       
   545             iServiceHandler->InitializeMenuPaneL( 
       
   546                 *menuPane, 
       
   547                 resourceId, 
       
   548                 EPhoneVideoSharing, 
       
   549                 iServiceHandler->InParamListL() );                
       
   550             __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> AIW menu initialized");
       
   551             }        
       
   552         }
       
   553     }
       
   554 
       
   555 // ---------------------------------------------------------
       
   556 // CPhoneMenuController::AddMenuPaneL
       
   557 // ---------------------------------------------------------
       
   558 //
       
   559 void CPhoneMenuController::AddMenuPaneL(
       
   560     TInt /*aPaneResourceId*/,
       
   561     CEikMenuPane* /*aMenuPane*/,
       
   562     TBool /*aAddSeparator*/ )
       
   563     { 
       
   564     }
       
   565 
       
   566 // ---------------------------------------------------------
       
   567 // CPhoneMenuController::SetMuteFlag
       
   568 // ---------------------------------------------------------
       
   569 //
       
   570 void CPhoneMenuController::SetMuteFlag( TPhoneCommandParam* aCommandParam )
       
   571     {
       
   572     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetMuteFlag()" );
       
   573     // Check is the given parameter valid
       
   574     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   575         {
       
   576         TPhoneCmdParamBoolean* muteFlag = 
       
   577             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   578 
       
   579         iMuteFlag = muteFlag->Boolean();
       
   580         }
       
   581     }
       
   582 
       
   583 // ---------------------------------------------------------
       
   584 // CPhoneMenuController::SetIhfFlag
       
   585 // ---------------------------------------------------------
       
   586 //
       
   587 void CPhoneMenuController::SetIhfFlag( TPhoneCommandParam* aCommandParam )
       
   588     {
       
   589     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetIhfFlag()" );
       
   590     // Check is the given parameter valid
       
   591     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   592         {
       
   593         TPhoneCmdParamBoolean* ihfFlag = 
       
   594             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   595 
       
   596         iIhfFlag = ihfFlag->Boolean();
       
   597         }
       
   598     }
       
   599 
       
   600 // ---------------------------------------------------------
       
   601 // CPhoneMenuController::SetHoldFlag
       
   602 // ---------------------------------------------------------
       
   603 //
       
   604 void CPhoneMenuController::SetHoldFlag( TPhoneCommandParam* aCommandParam )
       
   605     {
       
   606     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetHoldFlag()" );
       
   607     // Check is the given parameter valid
       
   608     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   609         {
       
   610         TPhoneCmdParamBoolean* holdFlag = 
       
   611             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   612 
       
   613         iHoldFlag = holdFlag->Boolean();
       
   614         }
       
   615     }
       
   616     
       
   617 // ---------------------------------------------------------
       
   618 // CPhoneMenuController::GetHoldFlag
       
   619 // ---------------------------------------------------------
       
   620 //
       
   621 void CPhoneMenuController::GetHoldFlag( 
       
   622     TPhoneCommandParam* aCommandParam )
       
   623     {
       
   624     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::GetHoldFlag()" );
       
   625     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   626         {
       
   627         TPhoneCmdParamBoolean* booleanValue = 
       
   628             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   629         booleanValue->SetBoolean( iHoldFlag );
       
   630         }
       
   631     }
       
   632 
       
   633 // ---------------------------------------------------------
       
   634 // CPhoneMenuController::SetConferenceAndSingleFlag
       
   635 // ---------------------------------------------------------
       
   636 //
       
   637 void CPhoneMenuController::SetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam )
       
   638     {
       
   639     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetConferenceAndSingleFlag()" );
       
   640     // Check is the given parameter valid
       
   641     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   642         {
       
   643         TPhoneCmdParamBoolean* conferenceAndSingleFlag = 
       
   644             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   645 
       
   646         iConferenceAndSingleFlag = conferenceAndSingleFlag->Boolean();
       
   647         }
       
   648     }
       
   649     
       
   650 // ---------------------------------------------------------
       
   651 // CPhoneMenuController::GetConferenceAndSingleFlag
       
   652 // ---------------------------------------------------------
       
   653 //
       
   654 void CPhoneMenuController::GetConferenceAndSingleFlag( 
       
   655     TPhoneCommandParam* aCommandParam )
       
   656     {
       
   657     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::GetConferenceAndSingleFlag()" );
       
   658     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   659         {
       
   660         TPhoneCmdParamBoolean* booleanValue = 
       
   661             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   662         booleanValue->SetBoolean( iConferenceAndSingleFlag );
       
   663         }
       
   664     }
       
   665 
       
   666 // ---------------------------------------------------------
       
   667 // CPhoneMenuController::SetSoftRejectFlag
       
   668 // ---------------------------------------------------------
       
   669 //
       
   670 void CPhoneMenuController::SetSoftRejectFlag(
       
   671     TPhoneCommandParam* aCommandParam )
       
   672     {
       
   673     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetSoftRejectFlag()" );
       
   674     // Check is the given parameter valid
       
   675     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   676         {
       
   677         TPhoneCmdParamBoolean* softRejectFlag = 
       
   678             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   679 
       
   680         iSoftRejectFlag = softRejectFlag->Boolean();
       
   681         }
       
   682     }
       
   683     
       
   684 // ---------------------------------------------------------
       
   685 // CPhoneMenuController::GetSoftRejectFlag
       
   686 // ---------------------------------------------------------
       
   687 //
       
   688 void CPhoneMenuController::GetSoftRejectFlag(
       
   689     TPhoneCommandParam* aCommandParam )
       
   690     {
       
   691     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::GetSoftRejectFlag()" );
       
   692     // Check is the given parameter valid
       
   693     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   694         {
       
   695         TPhoneCmdParamBoolean* softRejectFlag = 
       
   696             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   697 
       
   698         softRejectFlag->SetBoolean( iSoftRejectFlag );
       
   699         }
       
   700     }
       
   701     
       
   702 // ---------------------------------------------------------
       
   703 // CPhoneMenuController::SetServiceCodeFlag
       
   704 // ---------------------------------------------------------
       
   705 //
       
   706 void CPhoneMenuController::SetServiceCodeFlag( 
       
   707     TPhoneCommandParam* aCommandParam )
       
   708     {
       
   709     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetServiceCodeFlag()" );
       
   710     // Check is the given parameter valid
       
   711     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   712         {
       
   713         TPhoneCmdParamBoolean* serviceCodeFlag = 
       
   714             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   715 
       
   716         iServiceCodeFlag = serviceCodeFlag->Boolean();
       
   717         }
       
   718     }
       
   719     
       
   720 // ---------------------------------------------------------
       
   721 // CPhoneMenuController::SetWiredAccFlag
       
   722 // ---------------------------------------------------------
       
   723 //
       
   724 void CPhoneMenuController::SetWiredAccFlag( TPhoneCommandParam* aCommandParam )
       
   725     {
       
   726     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetWiredAccFlag()" );
       
   727     // Check is the given parameter valid
       
   728     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   729         {
       
   730         TPhoneCmdParamBoolean* accFlag = 
       
   731             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   732 
       
   733         iWiredAccFlag = accFlag->Boolean();
       
   734         }
       
   735     }
       
   736 
       
   737 // ---------------------------------------------------------
       
   738 // CPhoneMenuController::SetWiredAccAvailableFlag
       
   739 // ---------------------------------------------------------
       
   740 //
       
   741 void CPhoneMenuController::SetWiredAccAvailableFlag( TPhoneCommandParam* aCommandParam )
       
   742     {
       
   743     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetWiredAccAvailableFlag()" );
       
   744     // Check is the given parameter valid
       
   745     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   746         {
       
   747         TPhoneCmdParamBoolean* accFlag = 
       
   748             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   749 
       
   750         iWiredAccAvailableFlag = accFlag->Boolean();
       
   751         
       
   752         }
       
   753     }
       
   754 
       
   755 // ---------------------------------------------------------
       
   756 // CPhoneMenuController::SetMaxConfMembersFlag
       
   757 // ---------------------------------------------------------
       
   758 //
       
   759 void CPhoneMenuController::SetMaxConfMembersFlag( TBool aIsMaxConfMembers )
       
   760     {
       
   761     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetMaxConfMembersFlag()" );
       
   762     iMaxConfMembersFlag = aIsMaxConfMembers;
       
   763     }
       
   764 
       
   765 // ---------------------------------------------------------
       
   766 // CPhoneMenuController::SetBTAccFlag
       
   767 // ---------------------------------------------------------
       
   768 //
       
   769 void CPhoneMenuController::SetBTAccFlag( TPhoneCommandParam* aCommandParam )
       
   770     {
       
   771     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetBTAccFlag()" );
       
   772     // Check is the given parameter valid
       
   773     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   774         {
       
   775         TPhoneCmdParamBoolean* accFlag = 
       
   776             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   777 
       
   778         iBTAccFlag = accFlag->Boolean();
       
   779         iBTAccTmpUnFlag = iBTAccAvailableFlag && !iBTAccFlag;
       
   780         }
       
   781     }
       
   782 
       
   783 // ---------------------------------------------------------
       
   784 // CPhoneMenuController::SetBTAccAvailableFlag
       
   785 // ---------------------------------------------------------
       
   786 //
       
   787 void CPhoneMenuController::SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam )
       
   788     {
       
   789     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetBTAccAvailableFlag()" );
       
   790     // Check is the given parameter valid
       
   791     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   792         {
       
   793         TPhoneCmdParamBoolean* accFlag = 
       
   794             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   795 
       
   796         iBTAccAvailableFlag = accFlag->Boolean();
       
   797         iBTAccTmpUnFlag = iBTAccAvailableFlag && !iBTAccFlag;
       
   798         }
       
   799     }
       
   800 
       
   801 // ---------------------------------------------------------
       
   802 // CPhoneMenuController::SetNEVisibleFlag
       
   803 // ---------------------------------------------------------
       
   804 //
       
   805 void CPhoneMenuController::SetNEVisibleFlag( TBool aVisible )
       
   806     {
       
   807     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetNEVisibleFlag()" );
       
   808     iNEVisible = aVisible;
       
   809     }
       
   810 
       
   811 // ---------------------------------------------------------
       
   812 // CPhoneMenuController::SetReplaceFlag
       
   813 // ---------------------------------------------------------
       
   814 //
       
   815 void CPhoneMenuController::SetReplaceFlag( TBool aReplace )
       
   816     {
       
   817     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetReplaceFlag()" );
       
   818     iReplace = aReplace;
       
   819     }
       
   820 
       
   821 // ---------------------------------------------------------
       
   822 // CPhoneMenuController::SetPhoneNumberAvailableInPhoneEngine
       
   823 // ---------------------------------------------------------
       
   824 //
       
   825 void CPhoneMenuController::SetPhoneNumberAvailableInPhoneEngine( 
       
   826     TPhoneCommandParam* aCommandParam )
       
   827     {
       
   828     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetPhoneNumberAvailableInPhoneEngine()" );
       
   829     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   830         {
       
   831         TPhoneCmdParamBoolean* phoneNumberAvailable = 
       
   832             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
       
   833 
       
   834         iPhoneNumberAvailableInPhoneEngine = phoneNumberAvailable->Boolean();
       
   835         }
       
   836     }
       
   837 
       
   838 // -----------------------------------------------------------------------------
       
   839 // CPhoneMenuController::ShowTaskSwapper
       
   840 // 
       
   841 // Decide if TaskSwapper is to be shown in menu.
       
   842 // -----------------------------------------------------------------------------
       
   843 //
       
   844 void CPhoneMenuController::ShowTaskSwapper( TInt aResourceId ) const
       
   845     {
       
   846     if ( aResourceId == R_PHONEUI_NUMBERACQ_OK_MENUBAR ||
       
   847          aResourceId == R_PHONEUI_INCOMINGVIDEOCALL_MENUBAR || 
       
   848          aResourceId == R_PHONEUI_INCOMINGCALL_MENUBAR ||
       
   849          aResourceId == R_PHONEUI_INCOMINGCALL_MENUBAR_WITH_NUMBERENTRY ||
       
   850          aResourceId == R_PHONEUI_INCOMINGVIDEOCALL_MENUBAR_WITH_NUMBERENTRY ||
       
   851          aResourceId == R_PHONEUI_WAITING_LOCK_MENUBAR ||
       
   852          aResourceId == R_PHONEUI_TWOSINGLES_WAITING_LOCK_MENUBAR  )
       
   853         {
       
   854         iMenu->SetMenuType( CEikMenuBar::EMenuOptionsNoTaskSwapper );
       
   855         }
       
   856     else
       
   857         {
       
   858         iMenu->SetMenuType( CEikMenuBar::EMenuOptions );
       
   859         }
       
   860     }    
       
   861 
       
   862 // ---------------------------------------------------------
       
   863 // CPhoneMenuController::SendAiwCommandL
       
   864 // ---------------------------------------------------------
       
   865 //
       
   866 void CPhoneMenuController::SendAiwCommandL( TPhoneCommandParam* aCommandParam )
       
   867     {
       
   868     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SendAiwCommandL()" );
       
   869     if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdInteger )
       
   870         {
       
   871         TPhoneCmdParamInteger* command =
       
   872             static_cast<TPhoneCmdParamInteger*>( aCommandParam );
       
   873         CAiwGenericParamList& in = iServiceHandler->InParamListL();
       
   874         iServiceHandler->ExecuteMenuCmdL( command->Integer(),
       
   875                                           in,
       
   876                                           iServiceHandler->OutParamListL() );                
       
   877         }
       
   878     }
       
   879 
       
   880 
       
   881 // ---------------------------------------------------------------------------
       
   882 // CPhoneMenuController::SetContextMenu
       
   883 // ---------------------------------------------------------------------------
       
   884 //
       
   885 void CPhoneMenuController::SetContextMenu( TPhoneCommandParam* aCommandParam )
       
   886     {
       
   887     __LOGMETHODSTARTEND( EPhoneUIView, 
       
   888                          "CPhoneMenuController::SetContextMenu" );
       
   889     if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdInteger )
       
   890         {
       
   891         TPhoneCmdParamInteger* command =
       
   892                static_cast<TPhoneCmdParamInteger*>( aCommandParam );
       
   893         iMenu->SetContextMenuTitleResourceId( command->Integer() );
       
   894         
       
   895         }
       
   896     
       
   897     }
       
   898 
       
   899 // ---------------------------------------------------------
       
   900 // CPhoneMenuController::SetRemoveConfrenceOptionsFlag
       
   901 // ---------------------------------------------------------
       
   902 //
       
   903 void CPhoneMenuController::SetRemoveConfrenceOptionsFlag( TBool aRemoveConfrenceOptions )
       
   904     {
       
   905     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetRemoveConfrenceOptionsFlag()" );
       
   906     iRemoveConfrenceOptionsFlag = aRemoveConfrenceOptions;
       
   907     }
       
   908     
       
   909 // ---------------------------------------------------------
       
   910 // CPhoneMenuController::SetNumberEntryEmptyFlag
       
   911 // ---------------------------------------------------------
       
   912 //    
       
   913 void CPhoneMenuController::SetNumberEntryEmptyFlag( TBool aNumberEntryEmpty )
       
   914     {
       
   915     iNumberEntryEmpty = aNumberEntryEmpty;
       
   916     }
       
   917 
       
   918 // ---------------------------------------------------------
       
   919 // CPhoneMenuController::SetCallInProgressFlag
       
   920 // ---------------------------------------------------------
       
   921 // 
       
   922 void CPhoneMenuController::SetCallInProgressFlag( TPhoneCommandParam* aCommandParam )
       
   923     {
       
   924     TPhoneCmdParamIncallIndicatorData* param =
       
   925         static_cast<TPhoneCmdParamIncallIndicatorData*>( aCommandParam );
       
   926 
       
   927     TInt callState = param->CallState();    
       
   928     switch ( callState )
       
   929         {
       
   930         case EPSCTsyCallStateAlerting:
       
   931         case EPSCTsyCallStateRinging:
       
   932         case EPSCTsyCallStateDialling:
       
   933         case EPSCTsyCallStateAnswering:
       
   934         case EPSCTsyCallStateConnected:
       
   935         case EPSCTsyCallStateHold: 
       
   936             {
       
   937             //call in progress
       
   938             iCallInProgress = ETrue;
       
   939             break;
       
   940             }                 
       
   941         default:
       
   942             {
       
   943             iCallInProgress = EFalse;
       
   944              //call not in progress
       
   945             break;
       
   946             } 
       
   947         }
       
   948     }
       
   949     
       
   950 // ---------------------------------------------------------
       
   951 // CPhoneMenuController::IsMenuBarVisible()
       
   952 // ---------------------------------------------------------
       
   953 //
       
   954 TBool CPhoneMenuController::IsMenuBarVisible()
       
   955     {
       
   956     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::IsMenuBarVisible()" );
       
   957     return iMenu->IsDisplayed();
       
   958     }
       
   959 
       
   960 // ---------------------------------------------------------
       
   961 // CPhoneMenuController::SetConferenceParticipantsListVisibleFlag()
       
   962 // ---------------------------------------------------------
       
   963 //
       
   964 void CPhoneMenuController::SetConferenceParticipantsListVisibleFlag( 
       
   965                                         TPhoneCommandParam* aCommandParam )
       
   966     {
       
   967     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   968         {
       
   969         TPhoneCmdParamBoolean* participantsListOpenFlag = 
       
   970             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );  
       
   971         iConferenceParticipantsListOpenFlag = participantsListOpenFlag->Boolean();
       
   972         }    
       
   973     }
       
   974 
       
   975 //-------------------------------------------------------------------------------
       
   976 // CPhoneMenuController::GetConferenceParticipantsListVisibleFlag
       
   977 //-------------------------------------------------------------------------------
       
   978 void CPhoneMenuController::GetConferenceParticipantsListVisibleFlag(
       
   979         TPhoneCommandParam* aCommandParam )
       
   980     {
       
   981     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
   982         {
       
   983         TPhoneCmdParamBoolean* participantsListOpenFlag = 
       
   984             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );  
       
   985         participantsListOpenFlag->SetBoolean( iConferenceParticipantsListOpenFlag );
       
   986         } 
       
   987     }
       
   988 
       
   989 // ---------------------------------------------------------
       
   990 // CPhoneMenuController::SetAlphaModeFlag
       
   991 // ---------------------------------------------------------
       
   992 //
       
   993 void CPhoneMenuController::SetAlphaModeFlag( TBool aMode )
       
   994     {
       
   995     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetAlphaModeFlag()" );
       
   996     iAlphaMode = aMode;
       
   997     }
       
   998 
       
   999 // ---------------------------------------------------------
       
  1000 // CPhoneMenuController::SetAllowDtmfOptionsFlag
       
  1001 // ---------------------------------------------------------
       
  1002 //
       
  1003 void CPhoneMenuController::SetAllowDtmfOptionsFlag( TBool aMode )
       
  1004     {
       
  1005     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetAllowDtmfOptionsFlag()" );
       
  1006     iAllowDtmfOptionsFlag = aMode;
       
  1007     }
       
  1008 
       
  1009 // ---------------------------------------------------------
       
  1010 // CPhoneMenuController::SetHideVideoCallDTMFVisibility
       
  1011 // ---------------------------------------------------------
       
  1012 //
       
  1013 void CPhoneMenuController::SetHideVideoCallDTMFVisibilityFlag( TBool aHideVideoCallDTMFVisibility )
       
  1014     {
       
  1015     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetHideVideocallDTMFVisibility()" );
       
  1016     iHideVideoCallDTMFVisibility = aHideVideoCallDTMFVisibility;
       
  1017     }
       
  1018 
       
  1019 // ---------------------------------------------------------
       
  1020 // CPhoneMenuController::SetVoipEnabledFlag
       
  1021 // ---------------------------------------------------------
       
  1022 //
       
  1023 void CPhoneMenuController::SetVoipEnabledFlag(  
       
  1024                                         TPhoneCommandParam* aCommandParam )
       
  1025     {
       
  1026     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetVoipEnabledFlag()" );
       
  1027     
       
  1028     if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
       
  1029         {
       
  1030         TPhoneCmdParamBoolean* voipEnabled = 
       
  1031             static_cast<TPhoneCmdParamBoolean*>( aCommandParam );  
       
  1032         iVoipEnabledFlag = voipEnabled->Boolean();
       
  1033         }
       
  1034     }
       
  1035 
       
  1036 // ---------------------------------------------------------
       
  1037 // CPhoneMenuController::HandlePropertyChangedL
       
  1038 // ---------------------------------------------------------
       
  1039 //
       
  1040 void CPhoneMenuController::HandlePropertyChangedL( 
       
  1041         const TUid& aCategory,
       
  1042         const TUint aKey,
       
  1043         const TInt aValue )
       
  1044     {
       
  1045     __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::HandlePropertyChangedL()" );
       
  1046     __PHONELOG1( EBasic, EPhoneUIView, 
       
  1047             "CPhoneMenuController::HandlePropertyChangedL - aCategory= %d", aCategory  );      
       
  1048     __PHONELOG1( EBasic, EPhoneUIView, 
       
  1049             "CPhoneMenuController::HandlePropertyChangedL - aKey= %d", aKey  );  
       
  1050     __PHONELOG1( EBasic, EPhoneUIView, 
       
  1051             "CPhoneMenuController::HandlePropertyChangedL - aValue= %d", aValue  );
       
  1052     if ( aCategory == KPSUidHWRM && 
       
  1053          aKey == KHWRMGripStatus && 
       
  1054          aValue != EPSHWRMGripStatusUninitialized && 
       
  1055          iMenu->IsDisplayed()  )
       
  1056         {
       
  1057         CloseMenuBar();
       
  1058         }
       
  1059     }
       
  1060 
       
  1061      
       
  1062 // End of File