phoneapp/phoneuiview/inc/cphoneviewcontroller.h
changeset 0 5f000ab63145
child 3 8871b09be73b
equal deleted inserted replaced
-1:000000000000 0:5f000ab63145
       
     1 /*
       
     2 * Copyright (c) 2005-2009 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:  Controller for the PhoneUI View component
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef CPHONEVIEWCONTROLLER_H
       
    19 #define CPHONEVIEWCONTROLLER_H
       
    20 
       
    21 //  INCLUDES
       
    22 #include <apgcli.h>
       
    23 #include <eikenv.h>
       
    24 #include <e32base.h>
       
    25 #include <cntdef.h>
       
    26 #include <cphcntspeeddialmonitor.h>
       
    27 
       
    28 #include "mphoneviewcommandhandle.h"
       
    29 #include "cphonerecoverysystem.h"
       
    30 #include "mphonestatuspaneobserver.h"
       
    31 #include "tphonecmdparamspeeddial.h"
       
    32 #include "aknkeylock.h"
       
    33 #include "tphonecmdparamtranseffect.h"
       
    34 
       
    35 #include "mphoneviewblockingdialogobserver.h"
       
    36 
       
    37 // FORWARD DECLARATIONS
       
    38 class CPhoneButtonsController;
       
    39 class CLogsClient;
       
    40 class CPhoneView;
       
    41 class CPhoneDialerView;
       
    42 class TPhoneViewId;
       
    43 class TPhoneCommandParam;
       
    44 class TPhoneCmdParamBoolean;
       
    45 class CEikButtonGroupContainer;
       
    46 class CPhoneMenuController;
       
    47 class CPhoneNoteController;
       
    48 class CPhoneQueryController;
       
    49 class CPhoneKeyCaptureController;
       
    50 class CSpdiaControl;
       
    51 class CEikStatusPane;
       
    52 class CAknNavigationControlContainer;
       
    53 class CPhoneBubbleWrapper;
       
    54 class CCoeControl;
       
    55 class CPhoneStatusPane;
       
    56 class TPhoneNoteType;
       
    57 class CPhoneNoteUtilities;
       
    58 class CPhoneIncallIndicator;
       
    59 class CPhoneTimer;
       
    60 class CPhoneContactController;
       
    61 class CPhoneCntSaveAddToName;
       
    62 class CPhCntSingleItemFetch;
       
    63 class CPhoneApplicationExit;
       
    64 class CPhoneAudioController;
       
    65 class CPhoneRingingTonePlayerAO;
       
    66 class RAknUiServer;
       
    67 class CPhoneSingleItemFetch;
       
    68 class CPhoneDialerController;
       
    69 class CAknIndicatorContainer;
       
    70 class CPhCntRfsHandler;
       
    71 class CPhoneToolbarController;
       
    72 
       
    73 class CEikonEnv;
       
    74 class CPhoneVmbxHandler;
       
    75 class CAknAppUi;
       
    76 class CDialer;
       
    77 class MPhoneNumberEntryChangedHandler;
       
    78 class MPhoneViewCustomization;
       
    79 
       
    80 class CPhoneViewController :
       
    81     public CBase,
       
    82     public MPhoneViewCommandHandle,
       
    83     public MPhoneStatusPaneObserver,
       
    84     public MPhoneViewBlockingDialogObserver
       
    85     {
       
    86     public:  // Constructors and destructor
       
    87 
       
    88         IMPORT_C static CPhoneViewController* NewL( TRect aRect );
       
    89 
       
    90         /**
       
    91         * Destructor.
       
    92         */
       
    93         IMPORT_C virtual ~CPhoneViewController();
       
    94 
       
    95         IMPORT_C CPhoneView* PhoneView();
       
    96 
       
    97         /**
       
    98         * From MPhoneViewCommandHandle
       
    99         */
       
   100         IMPORT_C virtual void ExecuteCommandL(
       
   101             TPhoneViewCommandId aCmdId );
       
   102 
       
   103         /**
       
   104         * From MPhoneViewCommandHandle
       
   105         */
       
   106         IMPORT_C virtual void ExecuteCommandL(
       
   107             TPhoneViewCommandId aCmdId,
       
   108             TInt aCallId );
       
   109 
       
   110         /**
       
   111         * From MPhoneViewCommandHandle
       
   112         */
       
   113         IMPORT_C virtual void ExecuteCommandL(
       
   114             TPhoneViewCommandId aCmdId,
       
   115             TPhoneCommandParam* aCommandParam );
       
   116 
       
   117         /**
       
   118         * From MPhoneViewCommandHandle
       
   119         */
       
   120         IMPORT_C virtual void ExecuteCommandL(
       
   121             TPhoneViewCommandId aCmdId,
       
   122             TInt aCallId,
       
   123             TPhoneCommandParam* aCommandParam );
       
   124 
       
   125         /**
       
   126         * From MPhoneViewCommandHandle
       
   127         */
       
   128         IMPORT_C virtual void ExecuteCommandL(
       
   129             TPhoneViewCommandId aCmdId,
       
   130             TInt aCallId,
       
   131             TDesC& aMessage );
       
   132 
       
   133         /**
       
   134         * From MPhoneViewCommandHandle
       
   135         */
       
   136         IMPORT_C virtual void ExecuteCommand(
       
   137             TPhoneViewCommandId aCmdId );
       
   138 
       
   139         /**
       
   140         * From MPhoneViewCommandHandle
       
   141         */
       
   142         IMPORT_C virtual void ExecuteCommand(
       
   143             TPhoneViewCommandId aCmdId,
       
   144             TPhoneCommandParam* aCommandParam );
       
   145 
       
   146         /**
       
   147         * From MPhoneViewCommandHandle
       
   148         */
       
   149         IMPORT_C virtual TPhoneViewResponseId HandleCommandL(
       
   150             TPhoneViewCommandId aCmdId );
       
   151 
       
   152         /**
       
   153         * From MPhoneViewCommandHandle
       
   154         */
       
   155         IMPORT_C virtual TPhoneViewResponseId HandleCommandL(
       
   156             TPhoneViewCommandId aCmdId,
       
   157             TPhoneCommandParam* aCommandParam );
       
   158 
       
   159         /**
       
   160         * From MPhoneViewCommandHandle
       
   161         */
       
   162         IMPORT_C virtual const TDesC& FetchContent();
       
   163 
       
   164         /**
       
   165         * @see MPhoneStatusPaneObserver.
       
   166         */
       
   167         void HandleTitlePaneActiveL( TBool aActive = ETrue );
       
   168 
       
   169         /**
       
   170         * Returns window group id of the phone application.
       
   171         */
       
   172         IMPORT_C TInt ApplicationWindowGroupId();
       
   173 
       
   174         /**
       
   175         * Returns window group id of the Idle application.
       
   176         */
       
   177         IMPORT_C TInt IdleWindowGroupId();
       
   178 
       
   179         /**
       
   180         * Returns window group id of the application that is currently
       
   181         * in the foreground.
       
   182         */
       
   183         IMPORT_C TInt ForegroundApplicationWindowGroupId();
       
   184 
       
   185         /**
       
   186         * Fetches foreground application's window group id.
       
   187         */
       
   188         IMPORT_C static TInt DoFetchForegroundApplicationWindowGroupIdL(
       
   189             CEikonEnv& aEnv );
       
   190 
       
   191         /**
       
   192         * Hides / makes visible Phone icon in fast swap menu.
       
   193         * @since 2.8
       
   194         * @param aHidden is application hidden or shown.
       
   195         */
       
   196         IMPORT_C void SetHiddenL( const TBool aHidden );
       
   197 
       
   198         /**
       
   199         * Get the help context
       
   200         * @return Saved help context
       
   201         */
       
   202         IMPORT_C const TDesC& HelpContext();
       
   203 
       
   204         /**
       
   205         * From CCoeControl; notifier for resource changes
       
   206         * @param aType : Type of resource change
       
   207         */
       
   208         IMPORT_C void HandleResourceChangeL( TInt aType );
       
   209 
       
   210         /**
       
   211         * From CCoeControl; notifier for layout changes
       
   212         * @param aRect : screen size
       
   213         */
       
   214         IMPORT_C void HandleLayoutChange( TRect aRect );
       
   215 
       
   216         /**
       
   217         * Indicates that a blocking dialog is currently being displayed
       
   218         * This is required by the AppUI to determine if
       
   219         * the End key should be processed in HandleWsEventL()
       
   220         */
       
   221         IMPORT_C TBool BlockingDialogIsDisplayed() const;
       
   222 
       
   223         /**
       
   224         * Indicates that a status panel is currently being displayed
       
   225         * This is required by the AppUI
       
   226         */
       
   227         IMPORT_C TBool StatusPaneDisplayed();
       
   228 
       
   229         /**
       
   230         * Set single item fetch content
       
   231         */
       
   232         void SetFetchContent( TDesC& aFetchContent );
       
   233 
       
   234         /**
       
   235         * Sets single item fetch type
       
   236         * @aType   single item fetch type
       
   237         */
       
   238         void SetSingleItemFetchType( TInt aType );
       
   239 
       
   240          /**
       
   241         * From MPhoneViewBlockingDialogObserver
       
   242         * Sets the is blocking dialogs in screen.
       
   243         * @param aBlockingDialog ETrue if blocking dialog is
       
   244         *                        displayed.
       
   245         */
       
   246         IMPORT_C void SetBlockingDialogIsDisplayed( TBool aBlockingDialog );
       
   247 
       
   248     private:     // New functions
       
   249 
       
   250         /**
       
   251         * read IdleApplicationUid from PubSub
       
   252         */
       
   253         TInt IdleAppUid();
       
   254 
       
   255         /**
       
   256         * Indicates whether application needs to return to the
       
   257         * background after being brought to the foreground using
       
   258         * BringToForeground()
       
   259         */
       
   260         TBool NeedToSendToBackground();
       
   261 
       
   262         /**
       
   263         * Gets the blocking dialogs status
       
   264         */
       
   265         void GetBlockingDialogIsDisplayed( TPhoneCommandParam* aCommandParam );
       
   266 
       
   267         /**
       
   268         * Sets the required background status of the application
       
   269         */
       
   270         void SetNeedToSendToBackground( TPhoneCommandParam* aCommandParam );
       
   271 
       
   272         /**
       
   273         * Sends application to background.
       
   274         */
       
   275         void SendToBackgroundL();
       
   276 
       
   277         /**
       
   278         * Brings foreground given application.
       
   279         * @param aCommandParam command parameter.
       
   280         */
       
   281         void BringAppToForeground( TPhoneCommandParam* aCommandParam );
       
   282 
       
   283         /**
       
   284         * Brings phone application to foreground.
       
   285         * @param aCommandParam command parameter.
       
   286         */
       
   287         void BringPhoneAppToForeground( TPhoneCommandParam* aCommandParam );
       
   288 
       
   289         /**
       
   290         * Sets the top application
       
   291         * @param aCommandParam command parameter
       
   292         */
       
   293         void SetTopApplicationL( TPhoneCommandParam* aCommandParam );
       
   294 
       
   295         /**
       
   296         * Gets the foreground application
       
   297         * @param aCommandParam command parameter
       
   298         */
       
   299         void GetForegroundApplication( TPhoneCommandParam* aCommandParam );
       
   300 
       
   301         /**
       
   302         * Sets phone application windowgroup position.
       
   303         */
       
   304         void SetWindowGroupPosition();
       
   305 
       
   306         /**
       
   307         * Activate other application.
       
   308         * @param aCommandParam command parameter
       
   309         */
       
   310         void ActivateAppL( TPhoneCommandParam* aCommandParam );
       
   311 
       
   312         /**
       
   313         * Activate other application with specific view.
       
   314         * @param aCommandParam command parameter
       
   315         */
       
   316         void ActivateAppViewL( TPhoneCommandParam* aCommandParam );
       
   317 
       
   318         /**
       
   319         * Activate other application with specific view and custom message.
       
   320         * @param aCommandParam command parameter
       
   321         */
       
   322         void ActivateAppViewWithCustomMessageL(
       
   323             TPhoneCommandParam* aCommandParam );
       
   324 
       
   325         /**
       
   326         * Activate other application with specific view with conventional way
       
   327         * @param aCommandParam command parameter
       
   328         */
       
   329         void ActivateAppViewConventionalL( TPhoneCommandParam* aCommandParam );
       
   330 
       
   331         /**
       
   332         * Launches application.
       
   333         */
       
   334         void LaunchApplicationL();
       
   335 
       
   336         /**
       
   337         * Launches help application
       
   338         * @param aHelpCommand help command string
       
   339         */
       
   340         void LaunchHelpApplicationL( const TDesC& aHelpCommand );
       
   341 
       
   342         /**
       
   343         * Continues construction of contact manager.
       
   344         */
       
   345         static TInt DoConstructContactControllerL( TAny* aAny );
       
   346 
       
   347         void SetCbaL( TPhoneCommandParam* aCommandParam );
       
   348 
       
   349         void ShowInfoNote( TPhoneCommandParam* aCommandParam );
       
   350 
       
   351         /**
       
   352         * Creates connection.
       
   353         */
       
   354         void CreateConnectionL();
       
   355 
       
   356         /**
       
   357         * Activate another instance of the application
       
   358         */
       
   359         void ActivateAppInstanceL( TUid aUid );
       
   360 
       
   361         /**
       
   362         * Set the global Avkon notifier disabler status
       
   363         * @param aCommandParam a command parameter
       
   364         */
       
   365         void SetGlobalNotifiersDisabledL( TPhoneCommandParam* aCommandParam );
       
   366 
       
   367         /* Set the Eikon notifier disable status
       
   368         * @param aCommandParam a command parameter
       
   369         */
       
   370         void SetEikonNotifiersDisabled( TPhoneCommandParam* aCommandParam );
       
   371 
       
   372         /**
       
   373         * Cancel all notification from screen.
       
   374         */
       
   375         void CancelAllNotications();
       
   376 
       
   377         /**
       
   378         * Handles bubble updating
       
   379         */
       
   380         void HandleUpdateBubbleL(
       
   381             TInt aCallId,
       
   382             TPhoneCommandParam* aCommandParam );
       
   383 
       
   384         /**
       
   385         * Remove Phone dialogs
       
   386         */
       
   387         void RemovePhoneDialogsL();
       
   388 
       
   389         /**
       
   390         * Remove add to contact dialog.
       
   391         */
       
   392         void RemoveAddToContactDialog();
       
   393 
       
   394         /**
       
   395         * Update menu and CBAs based on current audio path
       
   396         * @param aCommandParam a command parameter
       
   397         */
       
   398         void UpdateAudioPathOptions( TPhoneCommandParam* aCommandParam );
       
   399 
       
   400         /**
       
   401         * Update menu and CBAs based on current audio availability
       
   402         * @param aCommandParam a command parameter
       
   403         */
       
   404         void UpdateAudioAvailabilityOptions( TPhoneCommandParam* aCommandParam );
       
   405 
       
   406         /**
       
   407         /**
       
   408         * Soft Reject feature enable status
       
   409         */
       
   410         TBool SoftRejectIsEnabled() const;
       
   411 
       
   412         /**
       
   413         * Set Speed Dial location
       
   414         */
       
   415         void SetSpeedDialLocation( TPhoneCommandParam* aCommandParam );
       
   416 
       
   417         /**
       
   418         * Get number from Speed Dial location
       
   419         * @return   EFalse if user cancel or failed.
       
   420         */
       
   421         TBool GetNumberFromSpeedDialLocationL(
       
   422             TPhoneCommandParam* aCommandParam );
       
   423 
       
   424         /**
       
   425         * Assign Speed Dial location
       
   426         * @param aCommandParam a command parameter
       
   427         * @return ETrue if speed dial location is assigned
       
   428         */
       
   429         TBool AssignSpeedDialLocation( TPhoneCommandParam* aCommandParam );
       
   430 
       
   431         /**
       
   432         * Assign Speed Dial location
       
   433         * @param aLocation a speed dial location
       
   434         * @return ETrue if speed dial location is assigned
       
   435         */
       
   436         TBool AssignSpeedDialLocationL( TInt aLocation );
       
   437 
       
   438         /**
       
   439         * Opens Contact and adds address to contacts.
       
   440         * @param aCommand a contact command
       
   441         * @param aString a string to be added to contacts, if KNullDesC string
       
   442         *                will be added from the number entry.
       
   443         */
       
   444         void OpenAddToContactL( TInt aCommand,
       
   445                                 const TDesC& aString = KNullDesC );
       
   446 
       
   447         /**
       
   448         * Launches Restore Factory Settings
       
   449         * @param aDeepRfs - ETrue if deep rfs, EFalse if normal
       
   450         */
       
   451         void LaunchRfsL( TBool aDeepRfs );
       
   452 
       
   453         /**
       
   454         * Open the SMS or MMS message editor
       
   455         */
       
   456         void OpenMessageEditorL( TPhoneCommandParam* aCommandParam );
       
   457 
       
   458         /**
       
   459         * Open the soft reject message editor
       
   460         */
       
   461         void OpenSoftRejectMessageEditorL(TPhoneCommandParam* aCommandParam );
       
   462 
       
   463         /**
       
   464         * By default EPOC constructor is private.
       
   465         */
       
   466         void ConstructL( TRect aRect );
       
   467 
       
   468         /**
       
   469         * C++ default constructor.
       
   470         */
       
   471         CPhoneViewController();
       
   472 
       
   473         /**
       
   474         * Fetches phone number's type for aSpeedDialLocation located number.
       
   475         * @param aSpeedDialLocation - speed dial location of number.
       
   476         * @return Phone number's type.
       
   477         */
       
   478         TPhoneNumberType SpeedDialNumberTypeL( TInt aSpeedDialLocation );
       
   479 
       
   480         /**
       
   481         * Convert number type from Speed Dial field info
       
   482         * @param  aFieldInfo - field info
       
   483         * @return Phone number's type
       
   484         */
       
   485         TPhoneNumberType ConvertNumberTypeFromSpeedDialFieldInfo(
       
   486             CPhCntSpeedDialMonitor::TSpdDialFieldInfo aFieldInfo );
       
   487 
       
   488         /**
       
   489         * Open the Unified message editor and get
       
   490         * number from number entry
       
   491         */
       
   492         void SendMessageL();
       
   493 
       
   494         /**
       
   495         * Set security mode to view and statuspane
       
   496         */
       
   497         void SetSecurityMode( TPhoneCommandParam* aCommandParam );
       
   498 
       
   499         /**
       
   500         * Get security mode status
       
   501         */
       
   502         void GetSecurityModeStatus ( TPhoneCommandParam* aCommandParam );
       
   503 
       
   504         /**
       
   505         * Set security mode to view and statuspane
       
   506         */
       
   507         void SetStatusPaneVisible( TPhoneCommandParam* aCommandParam );
       
   508 
       
   509         /**
       
   510         * Reads information is security code query displayed on the screen.
       
   511         * @return ETrue if is displayed, otherwise EFalse
       
   512         */
       
   513         TBool IsSecurityCodeQuery() const;
       
   514 
       
   515         /**
       
   516         * Set update of FSW
       
   517         */
       
   518         void UpdateFSW();
       
   519 
       
   520         /**
       
   521 
       
   522         /**
       
   523         * Creates Speed Dial Controller if it doesn't exist already.
       
   524         */
       
   525         void CreateSpeedDialControllerL();
       
   526 
       
   527         /**
       
   528         * Checks replace option.
       
   529         * @return ETrue if active and waiting calls are both video or voice
       
   530         */
       
   531         TBool IsReplaceAllowed();
       
   532 
       
   533         /**
       
   534         * Open single item fecth dialod for Dialer.
       
   535         */
       
   536         void SingleItemFetchL();
       
   537 
       
   538         /**
       
   539         * Get Soft Reject Window Group Id.
       
   540         */
       
   541         void GetSoftRejectWindowGroupId( TPhoneCommandParam* aCommandParam );
       
   542 
       
   543         /**
       
   544         * Switch flat status pane.
       
   545         */
       
   546         void SwitchLayoutToFlatStatusPaneL( TBool aSwitch );
       
   547 
       
   548         /**
       
   549         * Swap empty indicator pane when secure state.
       
   550         */
       
   551         void SwapEmptyIndicatorPaneInSecureStateL ( const TBool aSwapEmpty );
       
   552 
       
   553         /**
       
   554         * Handles transition effect.
       
   555         */
       
   556         void HandleTransitionEffect( TPhoneTransEffectType aType );
       
   557 
       
   558         /**
       
   559         * Sets control to dialer.
       
   560         */
       
   561         void SetControltoDialerL();
       
   562 
       
   563         /**
       
   564         * Sets control to call handling.
       
   565         */
       
   566         void SetControltoCallHandlingL();
       
   567 
       
   568         /**
       
   569         * Sets control to dialer and makes control
       
   570         * visible if needed.
       
   571         */
       
   572         void SetDialerControlAndVisibilityL();
       
   573 
       
   574         /**
       
   575         * Sets pointer capture.
       
   576         * This is needed when statuspane must be inactive.
       
   577         */
       
   578         void CapturePointerEvents( TPhoneCommandParam* aCommandParam );
       
   579 
       
   580         /**
       
   581         * Returns allow waiting call header value.
       
   582         */
       
   583         void AllowWaitingCallHeaderL( TPhoneCommandParam* aCommandParam );
       
   584 
       
   585         /**
       
   586         * Checks if given window group id still exists in
       
   587         * window group list.
       
   588         *
       
   589         * @aAppWgID     window group id to check
       
   590         * @return TInt  KErrNotFound if app not exists anymore in the list
       
   591         *                   otherwise app index in the list.
       
   592         */
       
   593         TInt FindAppByWgIDL( TInt aAppWgID );
       
   594 
       
   595         /**
       
   596         * Returns pointer to the control that is responsible of handling
       
   597         * Phone Number Entry Changed events.
       
   598         */
       
   599         MPhoneNumberEntryChangedHandler* NumberEntryChangedHandler() const;
       
   600 
       
   601        /**
       
   602         * Returns single item fetch type
       
   603         * @return single item fetch type
       
   604         */
       
   605         TInt SingleItemFetchType() const;
       
   606 
       
   607         /**
       
   608          * Checks screen lock status.        
       
   609          */        
       
   610         TBool IsKeyLockEnabled();
       
   611         
       
   612         /**
       
   613          * Unlock keys & screen.        
       
   614          */         
       
   615         void DisableKeyLock();
       
   616         
       
   617     private:    // Data
       
   618 
       
   619         CPhoneView* iPhoneView;
       
   620 
       
   621 		CPhoneDialerView* iDialerView;
       
   622 
       
   623         // iCba
       
   624         CEikButtonGroupContainer* iCba;
       
   625 
       
   626         CPhoneStatusPane* iStatusPane;
       
   627 
       
   628         // For accessing bubble
       
   629         CPhoneBubbleWrapper* iBubbleWrapper;
       
   630 
       
   631         // Controls the touch buttons
       
   632         CPhoneButtonsController* iButtonsController;
       
   633 
       
   634         // Controls the touch buttons
       
   635         CPhoneDialerController* iDialerController;
       
   636         
       
   637         // Controls the toolbar
       
   638         CPhoneToolbarController* iToolbarController;
       
   639 
       
   640         // For accessing incall indicator
       
   641         CPhoneIncallIndicator* iIncallIndicator;
       
   642 
       
   643         CPhoneMenuController* iMenuController;
       
   644 
       
   645         CPhoneNoteController* iNoteController;
       
   646 
       
   647         CPhoneQueryController* iQueryController;
       
   648 
       
   649         CPhoneKeyCaptureController* iKeyCaptureController;
       
   650 
       
   651         CPhoneApplicationExit* iApplicationExit;
       
   652 
       
   653         CPhoneAudioController* iAudioController;
       
   654         
       
   655         CPhoneRingingTonePlayerAO* iRingingTonePlayerAO;
       
   656 
       
   657         // EikEnv for CPhoneKeyCaptureController, CPhoneNoteController,
       
   658         // CPhoneMenuController and CPhoneQueryController
       
   659         CEikonEnv& iEikEnv;
       
   660 
       
   661         // Instance of keylock.
       
   662         RAknKeyLock iKeyLock;
       
   663 
       
   664         CPhoneContactController* iContactController;
       
   665 
       
   666         // Window group of Idle application.
       
   667         TInt iIdleWg;
       
   668 
       
   669         // Boolean flag. ETrue if the application needs to return
       
   670         // to the background
       
   671         TBool iNeedToSendToBackground;
       
   672 
       
   673         // Owned server session.
       
   674         RApaLsSession iApaLsSession;
       
   675 
       
   676         // Saved help context name retrieved indirectly from AppUI when
       
   677         // the help application is launched
       
   678         TPtrC iHelpCommand;
       
   679 
       
   680         // Recovery id for contact manager construction.
       
   681         TRecoveryId iContactControllerId;
       
   682 
       
   683         // Boolean flag. ETrue if a blocking dialog is currently being
       
   684         // displayed.
       
   685         TBool iBlockingDialogIsDisplayed;
       
   686 
       
   687         //Pointer to Akn UI server, not owned.
       
   688         RAknUiServer* iAknUiServerClient;
       
   689 
       
   690         //Uid of idle application
       
   691         TInt iIdleUid;
       
   692 
       
   693         // Voice mailbox handler
       
   694         CPhoneVmbxHandler* iVmbxHandler;
       
   695 
       
   696         // Reference to speed dialling monitor.
       
   697         CPhCntSpeedDialMonitor* iSpeedDialController;
       
   698 
       
   699 
       
   700         // Dialer - owned
       
   701         CDialer* iDialer;
       
   702 
       
   703         // Pointer to the CPhoneSingleItemFetch
       
   704         CPhoneSingleItemFetch* iSingleItemFetch;
       
   705 
       
   706         // Content of the SingleItemFetch
       
   707         TBuf<KPhoneNumberEntryBufferSize> iFetchContent;
       
   708 
       
   709         // Type of the SingleItemFetch
       
   710         TInt iSingleItemFetchType;
       
   711 
       
   712         // Pointer to CPhoneCntSaveAddToName.
       
   713         CPhoneCntSaveAddToName* iContactSaveAddToName;
       
   714 
       
   715         // Previous application Window group id.
       
   716         TInt iPrevForegroundAppWg;
       
   717 
       
   718         CAknAppUi* iAppui;
       
   719 
       
   720         // Pointer to view customization.
       
   721         MPhoneViewCustomization* iCustomization;
       
   722 
       
   723         // Status if there is transition effect ongoing
       
   724         TBool iEffectOngoing;
       
   725 
       
   726         // Send back flag indicates send back need if it is
       
   727         // EFalse phone was foregound and there is no need to send it
       
   728         // background. Otherwise ETrue.
       
   729         TBool iSendBack;
       
   730 
       
   731         // Dialer status flag.
       
   732         TBool iDialerActive;
       
   733 
       
   734         CCoeControl* iPreviousIndicatorControl;
       
   735 
       
   736         // Empty indicator pane - Owned.
       
   737         CAknIndicatorContainer* iIndiContainer;
       
   738 
       
   739         // Owned
       
   740         CPhCntRfsHandler* iRfsHandler;
       
   741 
       
   742         // Dialer send key flag.
       
   743         TBool iDialerSendKeyActivation;
       
   744 
       
   745         TInt iPrevious;
       
   746 
       
   747         TBool iPriotityChanged;
       
   748     };
       
   749 
       
   750 #endif // CPHONEVIEWCONTROLLER_H