diff -r 5586b4d2ec3e -r 0d28c1c5b6dd phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp --- a/phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp Wed Apr 14 15:45:35 2010 +0300 +++ b/phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp Tue Apr 27 16:23:35 2010 +0300 @@ -108,6 +108,11 @@ */ void Restart(); + /** + * Disables wait note if waiter is started. + */ + void DisableWaitNote(); + private: // From CTimer void RunL(); TInt RunError( @@ -126,6 +131,9 @@ MPbk2ProcessDecorator* iDecorator; /// Is decorator launched TBool iStarted; + /// Own: There are exception that even if monitor is started + /// wait note should not be displayed. + TBool iDisplayWaitNote; }; // -------------------------------------------------------------------------- @@ -165,6 +173,7 @@ // the start up monitor. // Wait KOneSecond and then launch the wait note without delay. After( TTimeIntervalMicroSeconds32( KOneSecond ) ); + iDisplayWaitNote = ETrue; } // -------------------------------------------------------------------------- @@ -193,6 +202,7 @@ { iDecorator->ProcessStopped(); } + iDisplayWaitNote = ETrue; } // -------------------------------------------------------------------------- @@ -206,6 +216,15 @@ } // -------------------------------------------------------------------------- +// CPbk2StartupMonitor::CPbk2StartupWaiter::DisableWaitNote +// -------------------------------------------------------------------------- +// +void CPbk2StartupMonitor::CPbk2StartupWaiter::DisableWaitNote() + { + iDisplayWaitNote = EFalse; + } + +// -------------------------------------------------------------------------- // CPbk2StartupMonitor::CPbk2StartupWaiter::RunL // -------------------------------------------------------------------------- // @@ -218,12 +237,13 @@ ( R_QTN_FDN_READING_MEMORY_WAIT_NOTE, EFalse ); iDecorator->SetObserver(*this); } - if( !iStarted ) // don't start twice + if( !iStarted && iDisplayWaitNote ) // don't start twice { const TInt dummy = 0; // wait note doesn't care about amount iDecorator->ProcessStartedL(dummy); iStarted = ETrue; } + iDisplayWaitNote = ETrue; } // -------------------------------------------------------------------------- @@ -234,6 +254,7 @@ { CCoeEnv::Static()->HandleError(aError); iStarted = EFalse; + iDisplayWaitNote = ETrue; if (iDecorator) { iDecorator->ProcessStopped(); @@ -834,4 +855,26 @@ return nativePhoneBookView; } +// -------------------------------------------------------------------------- +// CPbk2StartupMonitor::Extension +// -------------------------------------------------------------------------- +// +TAny* CPbk2StartupMonitor::StartupMonitorExtension( TUid aExtensionUid ) + { + if( aExtensionUid == KPbk2StartupMonitorExtensionUid ) + { + return static_cast( this ); + } + return NULL; + } + +// -------------------------------------------------------------------------- +// CPbk2StartupMonitor::DisableWaitNote +// -------------------------------------------------------------------------- +// +void CPbk2StartupMonitor::DisableMonitoring() + { + iWaiter->DisableWaitNote(); + } + // End of File