--- 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 <SecondaryDisplay/SecondaryDisplayStartupAPI.h>
+// FLAGS
+//#define USE_STARTUPTEST_APP
+
+
+// SYSTEM INCLUDES
+#include <aknappui.h> //appui
+
+#include <data_caging_path_literals.hrh>
+#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
+ #include <secondarydisplay/SecondaryDisplaySystemStateAPI.h>
+#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
+#include <secondarydisplay/SecondaryDisplayStartupAPI.h>
// USER INCLUDES
#include "startup.hrh" //internal state types
#include "StartupDefines.h" //some common defines
- #include <eikappui.h>
+#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