diff -r 924385140d98 -r c2c61fdca848 startupservices/Startup/inc/StartupAppUi.h --- a/startupservices/Startup/inc/StartupAppUi.h Tue Aug 31 15:24:25 2010 +0300 +++ b/startupservices/Startup/inc/StartupAppUi.h Wed Sep 01 12:24:48 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -27,27 +27,53 @@ #ifndef STARTUPAPPUI_H #define STARTUPAPPUI_H -#include +// FLAGS +//#define USE_STARTUPTEST_APP + + +// SYSTEM INCLUDES +#include //appui + +#include +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + #include +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION +#include // USER INCLUDES #include "startup.hrh" //internal state types #include "StartupDefines.h" //some common defines - #include +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + #include "StartupTone.h" +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION + + +// CONSTANTS +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + const TInt KConnectionRetryTime = 50000; // 50 ms +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION // FORWARD DECLARATIONS - +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + class CStartupWelcomeAnimation; + class CStartupOperatorAnimation; +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION class CStartupUserWelcomeNote; class CStartupPubSubObserver; - +#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION class CStartupAnimationWrapper; class CStartupView; +#else // RD_STARTUP_ANIMATION_CUSTOMIZATION + class CStartupTone; +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION +class CStartupMediatorObserver; /** * 'AppUi' class. * */ -class CStartupAppUi : public CEikAppUi //: public CAknAppUi +class CStartupAppUi : public CAknAppUi { public: // Constructors and destructor @@ -99,13 +125,65 @@ */ TBool HiddenReset(); +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + /** + * Continue startup when startup tone completes. + * @param None + * @return void + */ + void ContinueStartupAfterToneL(TToneType aToneType); /** + * Stop startuptone + * @param None + * @return void + */ + void StopStartupTone(); + + /** + * Stop startuptone + * @param None + * @return void + */ + void StopOperatorTone(); + + /** + * Checks if StartupTone is playing + * @param None + * @return TBool + */ + TBool StartupTonePlaying(); + + /** + * Checks if OperatorTone is playing + * @param None + * @return TBool + */ + TBool OperatorTonePlaying(); + +#else // RD_STARTUP_ANIMATION_CUSTOMIZATION + /** * Called when welcome or operator animation has finished. * * @since S60 3.2 */ void AnimationFinished(); +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + /** + * Brings Startup application to foregound after Touch Screen Calibration and emergency call from PIN query. + * @param None + * @return void + */ + void BringToForeground(); + + /** + * Send Startup application to background before Touch Screen Calibration. + * @param None + * @return void + */ + void SendToBackground(); +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION /** * Sets iCleanBoot to EStartupCleanBoot. @@ -114,6 +192,77 @@ */ void SetCleanBoot(); +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + /** + * + * @param None + * @return void + */ + void WaitingTouchScreenCalibL(); + +#ifdef RD_SCALABLE_UI_V2 + /** + * + * @param None + * @return void + */ + void TouchScreenCalibrationDoneL(); +#endif // RD_SCALABLE_UI_V2 +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION + + +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + /** + * + * @param None + * @return void + */ + void CoverUIWelcomeAnimationSyncOKL(); + + /** + * + * @param None + * @return void + */ + void WaitingCoverUIWelcomeAnimationSyncL(); + + /** + * + * @param None + * @return void + */ + void CoverUIOperatorAnimationSyncOKL(); + + /** + * + * @param None + * @return void + */ + void WaitingCoverUIOperatorAnimationSyncL(); +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION + + /** + * + * @param None + * @return void + */ + void WaitingCoverUIStartupReadySyncL(); + + /** + * + * @param None + * @return void + */ + void CoverUIStartupReadySyncOKL(); + + /** + * + * @param None + * @return void + */ + void RaiseCoverUIEvent( TUid aCategory, + TInt aEventId, + const TDesC8& aData ); void SetCriticalBlockEndedL(); @@ -136,12 +285,12 @@ /** System state has changed to EmergencyCallsOnly. Skip the animations. */ void SetEmergencyCallsOnlyL(); - +#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION /** * Check if animation should be loaded in advance and do it. */ void TryPreLoadAnimation(); - +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION /** * Propagates fatal startup error state. @@ -151,6 +300,22 @@ */ void SwStateFatalStartupErrorL( TBool aPropertyChanged ); +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + /** + * Returns value of iOfflineModeQueryShown. + * @param None + * @return TBool + */ + TBool GetOfflineModeQueryShown(); + + /** + * Sets value of iOfflineModeQueryShown. + * @param TBool + * @return void + */ + void SetOfflineModeQueryShown(TBool aValue); +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION + /** * Return value of the__SIMCARD feature * @param None @@ -158,7 +323,12 @@ */ TBool SimSupported(); - + /** + * Return value of KFeatureIdCoverDisplay feature + * @param None + * @return TBool + */ + TBool CoverUISupported(); /** * Checks if DOS is in Offline Mode @@ -179,7 +349,31 @@ */ TBool SimStatusChangedReset(); - public: // from MEikMenuObserver +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + private: + /** + * For starting startup tone initialization timer when needed + * @param None + * @return void + */ + void WaitingStartupToneL(); + + /** + * Callback function of startup tone initialization timer + * @param TAny* + * @return TInt + */ + static TInt ToneInitTimerTimeoutL(TAny* aObject); + + /** + * For checking startup tone initialization status + * @param None + * @return void + */ + void StartupToneWaitStatusL(); +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION + + private: // from MEikMenuObserver /** * EPOC default constructor. @@ -188,9 +382,8 @@ private: // from CEikAppUi - +#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION /** - * Functionality Commented as no support from Qt * From CAknAppUi. * Handles a change to the application's resources which are shared across * the environment. @@ -198,10 +391,11 @@ * @since S60 3.2 * * @param aType The type of resources that have changed. - + */ void HandleResourceChangeL( TInt aType ); - */ - + + void IsFTUAvailableL(TBool& aFTUAvailable); +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION /** * Takes care of command handling. @@ -247,6 +441,19 @@ void DoStartupShowOperatorAnimationL(); /** + * This part of the startup phases + * shows the user welcome note. + */ + void DoStartupShowUserWelcomeNoteL(); + + /** + * Returns EFalse if date, time and city + * queries are disabled for testing purposes + * @return TBool + */ + TBool StartupQueriesEnabled(); + + /** * Predictive Time and Country selection support * Returns ETrue when enabled. * @return TBool @@ -262,6 +469,13 @@ void DoStartupFirstBootAndRTCCheckL(); /** + * Shows the needed startup queries in first boot + * or when real time clock value is invalid + * @return void + */ + void ShowStartupQueriesL(); + + /** * Last part of the startup phases. * This part does some cleaning things and * calls the Exit(). @@ -312,7 +526,48 @@ */ TBool UiInOfflineMode(); - + /** + * Shows country and city selection lists to the user. + * This is shown in first boot. + */ + void ShowCountryAndCityListsL(); + + /** + * Shows country selection list to the user. + * This is shown in first boot. + * @return TInt + */ + TInt ShowCountryListL(); + + /** + * Shows city selection list to the user. + * This is shown in first boot. + * @return TBool + */ + TBool ShowCityListL(TUint8 cityGroupId); + + /** + * Shows time query to the user. + * This is shown in first boot or when + * real time clock isn't valid. + * @return TBool + */ + TBool ShowTimeQueryL(); + + /** + * Shows date query to the user. + * This is shown in first boot or when + * real time clock isn't valid. + * @return TBool + */ + TBool ShowDateQueryL(); + + /** + * Gets default time and date from cenrep + * @param aTime + * @return void + */ + void GetDefaultTimeAndDate( TTime& aTime ); /** * Returns information about is this the first boot happening. @@ -333,40 +588,74 @@ */ void SystemFatalErrorL(); - +#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION /** * Updates startup UI phase to Publish&Subscribe key KPSStartupUiPhase. * * @param aValue the new value to be written to the key KPSStartupUiPhase. */ void UpdateStartupUiPhase( TInt aValue ); - +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION private: // ***** Member Data ******************************************** - +#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION // The only window-owning control of the Startup application. CStartupView* iMainView; // Used for showing Welcome Animation. Owned. May not be NULL. CStartupAnimationWrapper* iAnimation; +#else // RD_STARTUP_ANIMATION_CUSTOMIZATION + //used for showing Welcome Animation + CStartupWelcomeAnimation* iWelcomeAnimation; //owns - + //used for showing Operator Animation + CStartupOperatorAnimation* iOperatorAnimation; //owns +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION + //used for showing User Welcome Note + CStartupUserWelcomeNote* iUserWelcomeNote; //owns +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + //used for showing welcome animation + CPeriodic* iAnimTimer; //owns +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION //used for showing user welcome note CPeriodic* iNoteTimer; //owns //used for exiting application, smoothly without tricky errors CPeriodic* iExitTimer; //owns - - + + +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + // Used for playing startup tone + CStartupTone* iStartupTone; //owns + + // Used for waiting startup tone initialization + CPeriodic* iToneInitTimer; //owns + + // Used for playing operator startup tone + CStartupTone* iOpStartupTone; //owns + + // Used for following tone initialization time + TInt iToneInitWaitTime; + + //used for telling if the user welcome note is animation + TBool iAnimation; +#endif RD_STARTUP_ANIMATION_CUSTOMIZATION + //internal execution state TStartupInternalState iInternalState; +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + //is used for telling the application that + //splashscreen should be removed for showing the code queries + //or welcome note + TBool iSplashScreenShouldBeRemoved; +#endif RD_STARTUP_ANIMATION_CUSTOMIZATION //is used for quarantee only one time continuing TBool iStartupFirstBootAndRTCCheckAlreadyCalled; @@ -403,14 +692,18 @@ //is used for telling if SIM card is supported TBool iSimSupported; - - + CStartupMediatorObserver* iStartupMediatorObserver; //owns - + TBool iCoverUISupported; + + TInt iCounryListIndex; TTime iTime; - +#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION + TBool iTouchScreenCalibSupport; + TBool iTouchScreenCalibrationDone; +#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION }; #endif // STARTUPAPPUI_H