startupservices/Startup/inc/StartupAppUi.h
changeset 0 2e3d3ce01487
child 9 332e7bf3b42f
equal deleted inserted replaced
-1:000000000000 0:2e3d3ce01487
       
     1 /*
       
     2 * Copyright (c) 2002-2008 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: 
       
    15 *       AppUi class of the application.
       
    16 *       Includes the execution sequence which contains
       
    17 *           1. selftest check
       
    18 *           2. security check
       
    19 *           3. user welcome note showing
       
    20 *           4. first boot check
       
    21 *           5. time and date value queries
       
    22 *           6. real time clock status check
       
    23 *
       
    24 */
       
    25 
       
    26 
       
    27 #ifndef STARTUPAPPUI_H
       
    28 #define STARTUPAPPUI_H
       
    29 
       
    30 // FLAGS
       
    31 //#define USE_STARTUPTEST_APP
       
    32 
       
    33 
       
    34 // SYSTEM INCLUDES
       
    35 #include <aknappui.h>           //appui
       
    36 
       
    37 #include <data_caging_path_literals.hrh>
       
    38 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    39  #include <secondarydisplay/SecondaryDisplaySystemStateAPI.h>
       
    40 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    41 #include <SecondaryDisplay/SecondaryDisplayStartupAPI.h>
       
    42 
       
    43 
       
    44 // USER INCLUDES
       
    45 #include "startup.hrh"          //internal state types
       
    46 #include "StartupDefines.h"     //some common defines
       
    47 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    48  #include "StartupTone.h"
       
    49 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    50 
       
    51 
       
    52 // CONSTANTS
       
    53 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    54  const TInt KConnectionRetryTime = 50000;        // 50 ms
       
    55 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    56 
       
    57 // FORWARD DECLARATIONS
       
    58 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    59  class CStartupWelcomeAnimation;
       
    60  class CStartupOperatorAnimation;
       
    61 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    62 class CStartupUserWelcomeNote;
       
    63 class CStartupPubSubObserver;
       
    64 #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    65  class CStartupAnimationWrapper;
       
    66  class CStartupView;
       
    67 #else // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    68  class CStartupTone;
       
    69 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
    70 class CStartupMediatorObserver;
       
    71 
       
    72 /**
       
    73 *  'AppUi' class.
       
    74 *
       
    75 */
       
    76 class CStartupAppUi : public CAknAppUi
       
    77 {
       
    78     public: // Constructors and destructor
       
    79 
       
    80         /**
       
    81         * C++ default constructor.
       
    82         */
       
    83         CStartupAppUi();
       
    84 
       
    85         /**
       
    86         * Destructor.
       
    87         */
       
    88         ~CStartupAppUi();
       
    89 
       
    90         // from CCoeAppUiBase
       
    91         void PrepareToExit();
       
    92 
       
    93     public:
       
    94 
       
    95         /**
       
    96         *  Actually stops the timer that is used for showing
       
    97         *  User Welcome Note.
       
    98         *  @return    void
       
    99         */
       
   100         void StopTimingL(); // indirectly called
       
   101 
       
   102         /**
       
   103         *  Just perform Exit(); from the callback function.
       
   104         *  @return    void
       
   105         */
       
   106         void ExitApplication(); // indirectly called
       
   107 
       
   108         /**
       
   109         *  Callback function to stop timer
       
   110         *  This timer is used for showing user welcome note.
       
   111         *  @return    TInt
       
   112         */
       
   113         static TInt DoStopTimingL(TAny* aObject);
       
   114 
       
   115         /**
       
   116         *  This callback function is used for exiting the application after
       
   117         *  some code in somewhere else in this application is finished.
       
   118         */
       
   119         static TInt DoExitApplication(TAny* aObject);
       
   120 
       
   121         /**
       
   122         * Check boot reason from the SysUtil
       
   123         * @param        None
       
   124         * @return       TBool
       
   125         */
       
   126         TBool HiddenReset();
       
   127 
       
   128 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   129         /**
       
   130         * Continue startup when startup tone completes.
       
   131         * @param        None
       
   132         * @return       void
       
   133         */
       
   134         void ContinueStartupAfterToneL(TToneType aToneType);
       
   135 
       
   136         /**
       
   137         * Stop startuptone
       
   138         * @param        None
       
   139         * @return       void
       
   140         */
       
   141         void StopStartupTone();
       
   142 
       
   143         /**
       
   144         * Stop startuptone
       
   145         * @param        None
       
   146         * @return       void
       
   147         */
       
   148         void StopOperatorTone();
       
   149 
       
   150         /**
       
   151         * Checks if StartupTone is playing
       
   152         * @param        None
       
   153         * @return       TBool
       
   154         */
       
   155         TBool StartupTonePlaying();
       
   156 
       
   157         /**
       
   158         * Checks if OperatorTone is playing
       
   159         * @param        None
       
   160         * @return       TBool
       
   161         */
       
   162         TBool OperatorTonePlaying();
       
   163 
       
   164 #else // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   165         /**
       
   166         * Called when welcome or operator animation has finished.
       
   167         *
       
   168         * @since S60 3.2
       
   169         */
       
   170         void AnimationFinished();
       
   171 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   172 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   173         /**
       
   174         * Brings Startup application to foregound after Touch Screen Calibration and emergency call from PIN query.
       
   175         * @param        None
       
   176         * @return       void
       
   177         */
       
   178         void BringToForeground();
       
   179 
       
   180         /**
       
   181         * Send Startup application to background before Touch Screen Calibration.
       
   182         * @param        None
       
   183         * @return       void
       
   184         */
       
   185         void SendToBackground();
       
   186 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   187 
       
   188         /**
       
   189         * Sets iCleanBoot to EStartupCleanBoot.
       
   190         * @param        None
       
   191         * @return       void
       
   192         */
       
   193         void SetCleanBoot();
       
   194 
       
   195 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   196         /**
       
   197         *
       
   198         * @param        None
       
   199         * @return       void
       
   200         */
       
   201         void WaitingTouchScreenCalibL();
       
   202 
       
   203 #ifdef RD_SCALABLE_UI_V2
       
   204         /**
       
   205         *
       
   206         * @param        None
       
   207         * @return       void
       
   208         */
       
   209         void TouchScreenCalibrationDoneL();
       
   210 #endif // RD_SCALABLE_UI_V2
       
   211 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   212 
       
   213 
       
   214 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   215         /**
       
   216         *
       
   217         * @param        None
       
   218         * @return       void
       
   219         */
       
   220 		void CoverUIWelcomeAnimationSyncOKL();
       
   221 
       
   222         /**
       
   223         *
       
   224         * @param        None
       
   225         * @return       void
       
   226         */
       
   227 		void WaitingCoverUIWelcomeAnimationSyncL();
       
   228 
       
   229         /**
       
   230         *
       
   231         * @param        None
       
   232         * @return       void
       
   233         */
       
   234 		void CoverUIOperatorAnimationSyncOKL();
       
   235 
       
   236         /**
       
   237         *
       
   238         * @param        None
       
   239         * @return       void
       
   240         */
       
   241  		void WaitingCoverUIOperatorAnimationSyncL();
       
   242 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   243 
       
   244         /**
       
   245         *
       
   246         * @param        None
       
   247         * @return       void
       
   248         */
       
   249         void WaitingCoverUIStartupReadySyncL();
       
   250 
       
   251         /**
       
   252         *
       
   253         * @param        None
       
   254         * @return       void
       
   255         */
       
   256 		void CoverUIStartupReadySyncOKL();
       
   257 
       
   258         /**
       
   259         *
       
   260         * @param        None
       
   261         * @return       void
       
   262         */
       
   263         void RaiseCoverUIEvent( TUid aCategory,
       
   264                                 TInt aEventId,
       
   265                                 const TDesC8& aData );
       
   266 
       
   267 
       
   268         void SetCriticalBlockEndedL();
       
   269         void WaitingCriticalBlockEndingL();
       
   270 
       
   271         /**
       
   272         * Starts to wait permission to start startup animation.
       
   273         *
       
   274         * @since S60 3.2
       
   275         */
       
   276         void SetWaitingStartupAnimationStartL();
       
   277 
       
   278         /**
       
   279         * Called when it is allowed to start startup animation.
       
   280         *
       
   281         * @since S60 3.2
       
   282         */
       
   283         void WaitingStartupAnimationStartL();
       
   284 
       
   285         /** System state has changed to EmergencyCallsOnly. Skip the animations. */
       
   286         void SetEmergencyCallsOnlyL();
       
   287 
       
   288 #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   289         /**
       
   290         * Check if animation should be loaded in advance and do it.
       
   291         */
       
   292         void TryPreLoadAnimation();
       
   293 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   294 
       
   295         /**
       
   296         * Propagates fatal startup error state.
       
   297         * @param        aPropertyChanged
       
   298         *               (ETrue, if state received via property changed event)
       
   299         * @return       void
       
   300         */
       
   301         void SwStateFatalStartupErrorL( TBool aPropertyChanged );
       
   302 
       
   303 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   304         /**
       
   305         * Returns value of iOfflineModeQueryShown.
       
   306         * @param        None
       
   307         * @return       TBool
       
   308         */
       
   309         TBool GetOfflineModeQueryShown();
       
   310 
       
   311         /**
       
   312         * Sets value of iOfflineModeQueryShown.
       
   313         * @param        TBool
       
   314         * @return       void
       
   315         */
       
   316         void SetOfflineModeQueryShown(TBool aValue);
       
   317 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   318 
       
   319         /**
       
   320         * Return value of the__SIMCARD feature
       
   321         * @param None
       
   322         * @return TBool
       
   323         */
       
   324         TBool SimSupported();
       
   325 
       
   326         /**
       
   327         * Return value of KFeatureIdCoverDisplay feature
       
   328         * @param None
       
   329         * @return TBool
       
   330         */
       
   331         TBool CoverUISupported();
       
   332 
       
   333         /**
       
   334         *  Checks if DOS is in Offline Mode
       
   335         *
       
   336         *  @return    TBool
       
   337         */
       
   338         TBool DosInOfflineModeL();
       
   339 
       
   340         /**
       
   341         *  This cancels the animation.
       
   342         */
       
   343         void CancelAnimation();
       
   344 
       
   345         /**
       
   346         * Checks if boot reason is SIM changed reset
       
   347         * @param        None
       
   348         * @return       TBool
       
   349         */
       
   350         TBool SimStatusChangedReset();
       
   351 
       
   352 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   353     private:
       
   354         /**
       
   355         *   For starting startup tone initialization timer when needed
       
   356         *   @param      None
       
   357         *   @return     void
       
   358         */
       
   359         void WaitingStartupToneL();
       
   360 
       
   361         /**
       
   362         *   Callback function of startup tone initialization timer
       
   363         *   @param      TAny*
       
   364         *   @return     TInt
       
   365         */
       
   366         static TInt ToneInitTimerTimeoutL(TAny* aObject);
       
   367 
       
   368         /**
       
   369         *   For checking startup tone initialization status
       
   370         *   @param      None
       
   371         *   @return     void
       
   372         */
       
   373         void StartupToneWaitStatusL();
       
   374 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   375 
       
   376     private: // from MEikMenuObserver
       
   377 
       
   378         /**
       
   379         * EPOC default constructor.
       
   380         */
       
   381         void ConstructL();
       
   382 
       
   383     private: // from CEikAppUi
       
   384 
       
   385 #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   386         /**
       
   387         * From CAknAppUi.
       
   388         * Handles a change to the application's resources which are shared across
       
   389         * the environment.
       
   390         *
       
   391         * @since S60 3.2
       
   392         *
       
   393         * @param aType The type of resources that have changed.
       
   394         */
       
   395         void HandleResourceChangeL( TInt aType );
       
   396 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   397 
       
   398         /**
       
   399         *  Takes care of command handling.
       
   400         *  @param   aCommand        Command to be handled.
       
   401         *  @return  void
       
   402         */
       
   403         void HandleCommandL(TInt aCommand);
       
   404 
       
   405         /**
       
   406         *  Handles key events.
       
   407         *  @param  aKeyEvent           Event to be handled.
       
   408         *  @param  aType               Type of the key event
       
   409         *  @return TKeyResponse
       
   410         */
       
   411         virtual TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
       
   412 
       
   413     private:
       
   414         /**
       
   415         *  Checks the validity of change and perform needed actions
       
   416         *  @param   toState     next phase state phase
       
   417         *  @return  void
       
   418         */
       
   419         void DoNextStartupPhaseL( TStartupInternalState toState );
       
   420 
       
   421         /**
       
   422         *  First part of the startup phases.
       
   423         *  This part does some initial things and in the end
       
   424         *  calls DoNextStartupPhaseL() with parameter of next phase
       
   425         *  @return    void
       
   426         */
       
   427         void DoStartupStartPartL();
       
   428 
       
   429         /**
       
   430         *  This part of the startup phases
       
   431         *  shows the welcome animation.
       
   432         */
       
   433         void DoStartupShowWelcomeAnimationL();
       
   434 
       
   435         /**
       
   436         *  This part of the startup phases
       
   437         *  shows the operator animation.
       
   438         */
       
   439         void DoStartupShowOperatorAnimationL();
       
   440 
       
   441         /**
       
   442         *  This part of the startup phases
       
   443         *  shows the user welcome note.
       
   444         */
       
   445         void DoStartupShowUserWelcomeNoteL();
       
   446 
       
   447         /**
       
   448         *  Returns EFalse if date, time and city
       
   449 		*  queries are disabled for testing purposes
       
   450 		*  @return TBool
       
   451         */
       
   452 		TBool StartupQueriesEnabled();
       
   453 
       
   454         /**
       
   455         *  Predictive Time and Country selection support
       
   456         *  Returns ETrue when enabled.
       
   457         *  @return TBool
       
   458         */
       
   459 		TBool PredictiveTimeEnabled();
       
   460 		
       
   461         /**
       
   462         *  This part takes care of asking some values
       
   463         *  from the user in case of first boot or
       
   464         *  real time clock value is invalid
       
   465         *  @return    void
       
   466         */
       
   467         void DoStartupFirstBootAndRTCCheckL();
       
   468 
       
   469         /**
       
   470         *  Shows the needed startup queries in first boot
       
   471         *  or when real time clock value is invalid
       
   472         *  @return    void
       
   473         */
       
   474         void ShowStartupQueriesL();
       
   475 
       
   476         /**
       
   477         *  Last part of the startup phases.
       
   478         *  This part does some cleaning things and
       
   479         *  calls the Exit().
       
   480         *  @return    void
       
   481         */
       
   482         void DoStartupEndPart();
       
   483 
       
   484         /**
       
   485         * Check Real Time Clock status from the SysUtil
       
   486         * @param        None
       
   487         * @return       TBool
       
   488         */
       
   489         TBool RTCStatus();
       
   490 
       
   491         /**
       
   492         *  Shows welcome animation to the user.
       
   493         *  @return    void
       
   494         */
       
   495         void ShowWelcomeAnimationL();
       
   496 
       
   497         /**
       
   498         *  Shows operator animation to the user.
       
   499         *  @return    void
       
   500         */
       
   501         void ShowOperatorAnimationL();
       
   502 
       
   503         /**
       
   504         *  Shows UserWelcomeNote to the user.
       
   505         *  It can be default animation, or user defined text or image.
       
   506         *  @return    void
       
   507         */
       
   508         void ShowUserWelcomeNoteL();
       
   509 
       
   510         /**
       
   511         *  Shows Off-line Mode query to the user in case
       
   512         *  the device is being booted into Off-line Mode.
       
   513         *  Sends System Application user's answers via
       
   514         *  a Shared Data notification.
       
   515         *
       
   516         *  @return    void
       
   517         */
       
   518         void ShowOfflineModeQueryL();
       
   519 
       
   520         /**
       
   521         * Check Off-line Mode status from the UI side
       
   522         * @param None
       
   523         * @return TBool : Off-line Mode status
       
   524         */
       
   525         TBool UiInOfflineMode();
       
   526 
       
   527         /**
       
   528         *  Shows country and city selection lists to the user.
       
   529         *  This is shown in first boot.
       
   530         */
       
   531         void ShowCountryAndCityListsL();
       
   532 
       
   533         /**
       
   534         *  Shows country selection list to the user.
       
   535         *  This is shown in first boot.
       
   536         *  @return    TInt
       
   537         */
       
   538         TInt ShowCountryListL();
       
   539 
       
   540         /**
       
   541         *  Shows city selection list to the user.
       
   542         *  This is shown in first boot.
       
   543         *  @return    TBool
       
   544         */
       
   545         TBool ShowCityListL(TUint8 cityGroupId);
       
   546 
       
   547         /**
       
   548         *  Shows time query to the user.
       
   549         *  This is shown in first boot or when
       
   550         *  real time clock isn't valid.
       
   551         *  @return    TBool
       
   552         */
       
   553         TBool ShowTimeQueryL();
       
   554 
       
   555         /**
       
   556         *  Shows date query to the user.
       
   557         *  This is shown in first boot or when
       
   558         *  real time clock isn't valid.
       
   559         *  @return    TBool
       
   560         */
       
   561         TBool ShowDateQueryL();
       
   562 
       
   563         /**
       
   564         *  Gets default time and date from cenrep
       
   565         *  @param     aTime
       
   566         *  @return    void
       
   567         */
       
   568         void GetDefaultTimeAndDate( TTime& aTime );
       
   569 
       
   570         /**
       
   571         *  Returns information about is this the first boot happening.
       
   572         *  @return    TBool
       
   573         */
       
   574         TBool FirstBoot();
       
   575 
       
   576         /**
       
   577         *  Mark first boot happened for the next boot.
       
   578         *  @return   void
       
   579         */
       
   580         void MarkFirstBoot();
       
   581 
       
   582         /**
       
   583         *  Includes routines that are performed
       
   584         *  when global state change to EStartupSystemFatalError.
       
   585         *  This method is called only from DoNextStartupPhaseL()!!
       
   586         */
       
   587         void SystemFatalErrorL();
       
   588 
       
   589 #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION        
       
   590         /**
       
   591         * Updates startup UI phase to Publish&Subscribe key KPSStartupUiPhase.
       
   592         *
       
   593         * @param aValue the new value to be written to the key KPSStartupUiPhase.
       
   594         */
       
   595         void UpdateStartupUiPhase( TInt aValue );
       
   596 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   597 
       
   598     private: // ***** Member Data ********************************************
       
   599 
       
   600 #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   601         // The only window-owning control of the Startup application.
       
   602         CStartupView* iMainView;
       
   603 
       
   604         // Used for showing Welcome Animation. Owned. May not be NULL.
       
   605         CStartupAnimationWrapper* iAnimation;
       
   606 
       
   607 #else // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   608 
       
   609         //used for showing Welcome Animation
       
   610         CStartupWelcomeAnimation* iWelcomeAnimation;  //owns
       
   611 
       
   612         //used for showing Operator Animation
       
   613         CStartupOperatorAnimation* iOperatorAnimation;  //owns
       
   614 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   615 
       
   616         //used for showing User Welcome Note
       
   617         CStartupUserWelcomeNote* iUserWelcomeNote;  //owns
       
   618 
       
   619 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   620         //used for showing welcome animation
       
   621         CPeriodic* iAnimTimer; //owns
       
   622 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   623 
       
   624         //used for showing user welcome note
       
   625         CPeriodic* iNoteTimer; //owns
       
   626 
       
   627         //used for exiting application, smoothly without tricky errors
       
   628         CPeriodic* iExitTimer; //owns
       
   629 
       
   630 
       
   631 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   632         // Used for playing startup tone
       
   633         CStartupTone* iStartupTone; //owns
       
   634 
       
   635         // Used for waiting startup tone initialization
       
   636         CPeriodic* iToneInitTimer; //owns
       
   637 
       
   638         // Used for playing operator startup tone
       
   639         CStartupTone* iOpStartupTone; //owns
       
   640 
       
   641         // Used for following tone initialization time
       
   642         TInt iToneInitWaitTime;
       
   643 
       
   644         //used for telling if the user welcome note is animation
       
   645         TBool iAnimation;
       
   646 #endif RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   647 
       
   648         //internal execution state
       
   649         TStartupInternalState iInternalState;
       
   650 
       
   651 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   652         //is used for telling the application that
       
   653         //splashscreen should be removed for showing the code queries
       
   654         //or welcome note
       
   655         TBool iSplashScreenShouldBeRemoved;
       
   656 #endif RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   657 
       
   658         //is used for quarantee only one time continuing
       
   659         TBool iStartupFirstBootAndRTCCheckAlreadyCalled;
       
   660 
       
   661         //is used for indicating charger or alarm boot
       
   662         TBool iChargingOrAlarmBoot;
       
   663 
       
   664         //is used to inform if this is the first boot
       
   665         TInt iFirstBoot;
       
   666 
       
   667         //is used to inform if "clean boot key" is pressed during animation
       
   668         TInt iCleanBoot;
       
   669 
       
   670         //is used for telling if offline mode is supported
       
   671         TBool iOfflineModeSupported;
       
   672 
       
   673         //is used for telling if offline mode query is already shown
       
   674         TBool iOfflineModeQueryShown;
       
   675 
       
   676         //is used for telling if Starter has completed critical block starting
       
   677         TBool iCriticalBlockEnded;
       
   678 
       
   679         // The result of offline query
       
   680         TBool iBootIntoOffline;
       
   681 
       
   682         // fatal error during startup
       
   683         TBool iSwStateFatalStartupError;
       
   684 
       
   685         // Indicates whether it is allowed to start the UI sequence containing animation(s).
       
   686         TBool iStartupWaitingShowStartupAnimation;
       
   687 
       
   688         CStartupPubSubObserver* iStartupPubSubObserver; //owns
       
   689 
       
   690         //is used for telling if SIM card is supported
       
   691         TBool iSimSupported;
       
   692 
       
   693         CStartupMediatorObserver* iStartupMediatorObserver; //owns
       
   694 
       
   695         TBool iCoverUISupported;
       
   696 
       
   697         TInt iCounryListIndex;
       
   698 
       
   699         TTime iTime;
       
   700 
       
   701 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   702         TBool iTouchScreenCalibSupport;
       
   703         TBool iTouchScreenCalibrationDone;
       
   704 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
       
   705 };
       
   706 
       
   707 #endif // STARTUPAPPUI_H
       
   708 
       
   709 // End of file