startupservices/Startup/src/StartupWelcomeAnimation.cpp
branchRCL_3
changeset 19 924385140d98
parent 18 0818dd463d41
child 20 c2c61fdca848
--- a/startupservices/Startup/src/StartupWelcomeAnimation.cpp	Thu Aug 19 10:05:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,520 +0,0 @@
-/*
-* Copyright (c) 2002 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"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*     This class is the container class of the CStartupWelcomeAnimation.
-*     Is used to show welcome animation.
-*
-*/
-
-
-// INCLUDE FILES
-#include <aknappui.h>
-#include <aknnotewrappers.h>
-#include <barsread.h> //use of TResourceReader
-#include <StarterClient.h>     //used for RemoveSplashScreen
-#include <aknbitmapanimation.h>
-#include <startup.mbg>
-#include "StartupWelcomeAnimation.h"
-#include <Startup.rsg>
-#include "StartupDefines.h"
-#include "Startup.hrh"
-#include "StartupAppUi.h"
-#include <akniconutils.h>
-
-// CONSTANTS
-const TInt KStartupAnimationShowingDuration( 4200 );//4.2 sec
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::ConstructL(const TRect& aRect)
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::ConstructL(const TRect& /*aRect*/)
-    {
-    TRACES("CStartupWelcomeAnimation::ConstructL()");
-    iShowingTime = KStartupAnimationShowingDuration;
-    UpdateDrawInfo( EStartupDIStart );
-
-    iAvkonAppUi->StatusPane()->MakeVisible(EFalse);
-    CreateWindowL();
-    iAnimCancelTimer = CPeriodic::NewL( EPriorityNormal );
-
-    TRACES("CStartupWelcomeAnimation::ConstructL(): animation loading started");
-    iAnim = CAknBitmapAnimation::NewL();
-    iAnim->ExcludeAnimationFramesFromCache();
-    iAnim->SetContainerWindowL( *this );
-    iAnim->SetScaleModeForAnimationFrames(EAspectRatioPreservedAndUnusedSpaceRemoved);
-    TResourceReader rr;
-    iCoeEnv->CreateResourceReaderLC(rr, R_ANIM_IMAGE);
-    TRAPD(err, iAnim->ConstructFromResourceL( rr ))
-    if (err != KErrNone)
-        {
-        TRACES1("CStartupWelcomeAnimation::ConstructL(): ConstructFromResourceL() leaves, err = %d", err );
-        }
-    CleanupStack::PopAndDestroy();
-
-    SetRect(iAvkonAppUi->ApplicationRect());  // Results in a call to SizeChanged()
-    ActivateL();
-
-    TRACES("CStartupWelcomeAnimation::ConstructL(): animation loading ended");
-    TRACES("CStartupWelcomeAnimation::ConstructL(): End");
-    }
-
-// -----------------------------------------------------------------------------
-// CStartupWelcomeAnimation::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CStartupWelcomeAnimation* CStartupWelcomeAnimation::NewL( CStartupAppUi* aStartupAppUi,
-                                                          const TRect& aRect)
-    {
-    TRACES("CStartupWelcomeAnimation::NewL()");
-    CStartupWelcomeAnimation* self = new (ELeave) CStartupWelcomeAnimation( aStartupAppUi );
-    CleanupStack::PushL(self);
-    self->ConstructL(aRect);
-    CleanupStack::Pop();
-    TRACES("CStartupWelcomeAnimation::NewL(): End");
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CStartupWelcomeAnimation::CStartupWelcomeAnimation()
-// ---------------------------------------------------------
-CStartupWelcomeAnimation::CStartupWelcomeAnimation( CStartupAppUi* aStartupAppUi ) :
-    iBackgroundBitmap( NULL ),
-    iSplashScreenRemoved( EFalse ),
-    iStartupAppUi( aStartupAppUi ),
-    iAnimationShowing( EFalse ),
-    iAnimationCancelled ( EFalse )
-    {
-    TRACES("CStartupWelcomeAnimation::CStartupWelcomeAnimation()");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::StartL()
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::StartL()
-    {
-    TRACES("CStartupWelcomeAnimation::StartL()");
-    iAnim->StartAnimationL();
-    ControlEnv()->WsSession().Flush(); // force draw of the context
-    TRACES("CStartupWelcomeAnimation::StartL(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::UpdateDrawInfo( TStartupDrawInfo aValue )
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::UpdateDrawInfo( TStartupDrawInfo aValue )
-    {
-    TRACES("CStartupWelcomeAnimation::UpdateDrawInfo()");
-    TRACES1("CStartupWelcomeAnimation::UpdateDrawInfo(): Value %d", aValue);
-    //Prevent state change if already EStartupDISystemFatalError
-    if( iDrawUpdateInfo == EStartupDISystemFatalError )
-        {
-        TRACES("CStartupWelcomeAnimation::UpdateDrawInfo(): End, preventing state change - EStartupDISystemFatalError");
-        return;
-        }
-
-    iDrawUpdateInfo = aValue;
-    TRACES("CStartupWelcomeAnimation::UpdateDrawInfo(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::DoDrawingL()
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::DoDrawingL() const
-    {
-    TRACES("CStartupWelcomeAnimation::DoDrawingL()");
-    switch ( iDrawUpdateInfo )
-        {
-        case EStartupDIStart:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIStart");
-            DrawBlankScreen(); // clears screen after code query emergency call
-            }
-            break;
-        case EStartupDITouchScreenCalib:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDITouchScreenCalib");
-            RemoveSplashScreen();
-            DrawBlankScreen();
-            }
-            break;
-        case EStartupDICharging:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDICharging");
-            RemoveSplashScreen();
-            DrawBlankScreen();
-            }
-            break;
-        case EStartupDIAlarm:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIAlarm");
-            RemoveSplashScreen();
-            DrawBlankScreen();
-            }
-            break;
-        case EStartupDIHiddenReset:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIHiddenReset");
-            RemoveSplashScreen();
-            DrawBlankScreen();            
-            }
-            break;
-        case EStartupDIQueriesOn:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIQueriesOn");
-            RemoveSplashScreen();
-            DrawBlankScreen();
-            }
-            break;
-        case EStartupDIQueriesOff:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIQueriesOff");
-            }
-            break;
-        case EStartupDIWelcomeAnimStart:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIWelcomeAnimStart");
-			RemoveSplashScreen();
-			DrawBlankScreen();
-            }
-            break;
-        case EStartupDIWelcomeAnimCancelled:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIWelcomeAnimCancelled");
-            }
-            break;
-        case EStartupDIWelcomeAnimEnd:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIWelcomeAnimEnd");
-            DrawBlankScreen();
-            }
-            break;
-        case EStartupDIOperatorAnimEnd:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIOperatorAnimEnd");
-            DrawBlankScreen();
-            }
-            break;
-        case EStartupDICityTimeDateQueries:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDICityTimeDateQueries");
-            DrawBlankScreen();
-            }
-            break;
-        case EStartupDIEnd:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDIEnd");
-            }
-            break;
-        case EStartupDISystemFatalError:
-            {
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): EStartupDISystemFatalError");
-            }
-            break;
-        default:
-            TRACES("CStartupWelcomeAnimation::DoDrawingL(): default");
-            break;
-        }
-    TRACES("CStartupWelcomeAnimation::DoDrawingL(): End");
-    }
-
-// ---------------------------------------------------------
-// CStartupWelcomeAnimation::RemoveSplashScreen()
-// ---------------------------------------------------------
-void CStartupWelcomeAnimation::RemoveSplashScreen() const
-    {
-    TRACES("CStartupWelcomeAnimation::RemoveSplashScreen()");
-    //Remove SplashScreen
-    if( !iSplashScreenRemoved )
-        {
-        TRACES("CStartupWelcomeAnimation::RemoveSplashScreen(): Connect to Starter");
-        RStarterSession startersession;
-        if( startersession.Connect() == KErrNone )
-            {
-            TRACES("CStartupWelcomeAnimation::RemoveSplashScreen(): Connected to Starter");
-            startersession.EndSplashScreen();
-            TRACES("CStartupWelcomeAnimation::RemoveSplashScreen(): Splash screen removed");
-            startersession.Close();
-            }
-        }
-    TRACES("CStartupWelcomeAnimation::RemoveSplashScreen(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::~CStartupWelcomeAnimation()
-// ---------------------------------------------------------------------------
-CStartupWelcomeAnimation::~CStartupWelcomeAnimation()
-    {
-    TRACES("CStartupWelcomeAnimation::~CStartupWelcomeAnimation()");
-
-    if( iAnim )
-        {
-        if( iAnimationShowing )
-            {
-            iAnim->CancelAnimation();
-            TRACES("CStartupWelcomeAnimation::~CStartupWelcomeAnimation(): Animation cancelled");
-            }
-        }
-    delete iAnim;
-    TRACES("CStartupWelcomeAnimation::~CStartupWelcomeAnimation(): iAnim deleted");
-
-    if (iBackgroundBitmap)
-        {
-        delete iBackgroundBitmap;
-        TRACES("CStartupWelcomeAnimation::~CStartupWelcomeAnimation(): iBackgroundBitmap deleted");
-        }
-
-    if( iAnimCancelTimer )
-        {
-        iAnimCancelTimer->Cancel();
-        TRACES("CStartupWelcomeAnimation::~CStartupWelcomeAnimation(): Timer cancelled");
-        }
-    delete iAnimCancelTimer;
-    TRACES("CStartupWelcomeAnimation::~CStartupWelcomeAnimation(): iAnimCancelTimer deleted");
-
-    TRACES("CStartupWelcomeAnimation::~CStartupWelcomeAnimation(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::ComponentControl(TInt aIndex)
-// ---------------------------------------------------------------------------
-CCoeControl* CStartupWelcomeAnimation::ComponentControl(TInt aIndex) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            {
-            return iAnim;
-            }
-        default:
-            {
-            return NULL;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::CountComponentControls()
-// ---------------------------------------------------------------------------
-TInt CStartupWelcomeAnimation::CountComponentControls() const
-    {
-    return iAnim ? 1 : 0; // return nbr of controls inside this container
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::Draw(const TRect& aRect) const
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::Draw(const TRect& /*aRect*/ ) const
-    {
-    TRACES("CStartupWelcomeAnimation::Draw()");
-    TRAPD(err, DoDrawingL());
-    if (err != KErrNone)
-        {
-        TRACES1("CStartupWelcomeAnimation::Draw(): DoDrawingL() leaves, err = %d", err );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::DrawBlankScreen() const
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::DrawBlankScreen() const
-    {
-    TRACES("CStartupWelcomeAnimation::DrawBlankScreen()");
-    CWindowGc& gc = SystemGc();
-    TRect rect = Rect();
-    gc.SetPenStyle(CGraphicsContext::ENullPen);
-    gc.SetBrushColor(KRgbWhite);
-    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-    gc.DrawRect(rect);
-    ControlEnv()->WsSession().Flush(); // force draw of the context
-    TRACES("CStartupWelcomeAnimation::DrawBlankScreen(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::ShowingTime()
-// ---------------------------------------------------------------------------
-TInt CStartupWelcomeAnimation::ShowingTime()
-    {
-    TRACES1("CStartupWelcomeAnimation::ShowingTime(): time = %d", iShowingTime);
-    return iShowingTime;
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::SizeChanged()
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::SizeChanged()
-    {
-    if( iAnim )
-        {
-        iAnim->SetRect(Rect());
-        iAnim->SetPosition( TPoint(
-            (iAvkonAppUi->ApplicationRect().Width()/2) - (iAnim->BitmapAnimData()->Size().iWidth/2), 
-            (iAvkonAppUi->ApplicationRect().Height()/2) - (iAnim->BitmapAnimData()->Size().iHeight/2)
-            ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::EndAnimation()
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::EndAnimation() const
-    {
-    TRACES("CStartupWelcomeAnimation::EndAnimation()");
-    if( iAnim )
-        {
-        TRACES("CStartupWelcomeAnimation::EndAnimation(): Cancel animation");
-        iAnim->CancelAnimation();
-        }
-    TRACES("CStartupWelcomeAnimation::EndAnimation(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::HandleControlEventL(...)
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::HandleControlEventL(
-        CCoeControl* /*aControl*/,
-        TCoeEvent /*aEventType*/)
-    {
-    //pure virtual from MCoeControlObserver
-    TRACES("CStartupWelcomeAnimation::HandleControlEventL()");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::HandlePointerEventL(...)
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    TRACES("CStartupWelcomeAnimation::HandlePointerEventL()");
-    if (AknLayoutUtils::PenEnabled())
-        {
-        TRACES1("CStartupWelcomeAnimation::HandlePointerEventL: aPointerEvent.iType == %d",aPointerEvent.iType );
-        switch (aPointerEvent.iType)
-            {
-            case TPointerEvent::EButton1Down:
-                CancelAnimation();
-                break;                    
-
-            default:
-                break;
-            }
-        }
-    TRACES("CStartupWelcomeAnimation::HandlePointerEventL(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::OfferKeyEventL(...)
-// ---------------------------------------------------------------------------
-TKeyResponse CStartupWelcomeAnimation::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode /*aType*/ )
-    {
-    TRACES("CStartupWelcomeAnimation::OfferKeyEventL()");
-    TRACES1("CStartupWelcomeAnimation::OfferKeyEventL(): aKeyEvent.iCode == %d",aKeyEvent.iCode);
-    TRACES1("CStartupWelcomeAnimation::OfferKeyEventL(): aKeyEvent.iScanCode == %d",aKeyEvent.iScanCode);
-    TRACES1("CStartupWelcomeAnimation::OfferKeyEventL(): iAnimationShowing == %d",iAnimationShowing);
-    TRACES1("CStartupWelcomeAnimation::OfferKeyEventL(): iAnimationCancelled == %d",iAnimationCancelled);
-    
-    if ( iStartupAppUi->GetOfflineModeQueryShown() )
-        {
-        TRACES("CStartupWelcomeAnimation::OfferKeyEventL(): Key event from offline mode query");
-        // first key event comes from Offline Mode Query
-        iStartupAppUi->SetOfflineModeQueryShown( EFalse );
-        }
-    else
-        {
-        if( iAnimationShowing && !iStartupAppUi->HiddenReset() && !iAnimationCancelled )
-            {
-            if (aKeyEvent.iScanCode == EStdKeyNkpAsterisk || aKeyEvent.iScanCode == 0x2a)
-                {               
-                TRACES("CStartupWelcomeAnimation::OfferKeyEventL(): Set clean boot");
-                iStartupAppUi->SetCleanBoot();                
-                }        
-            // Cancel animation
-            CancelAnimation();
-            }
-        else if( !iAnimationShowing && iStartupAppUi->StartupTonePlaying())
-            {
-            TRACES("CStartupWelcomeAnimation::OfferKeyEventL() Animation has completed but tone is still playing. Stop it.");
-            iStartupAppUi->StopStartupTone();
-            }
-        }
-    
-    TRACES("CStartupWelcomeAnimation::OfferKeyEventL(): End");
-    return EKeyWasConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::CancelAnimCancelTimer()
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::CancelAnimCancelTimer()
-    {
-    TRACES("CStartupWelcomeAnimation::CancelAnimCancelTimer()");
-    iAnimCancelTimer->Cancel();
-    TRACES("CStartupWelcomeAnimation::CancelAnimCancelTimer(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::CancelAnimation(...)
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::CancelAnimation()
-    {
-    TRACES("CStartupWelcomeAnimation::CancelAnimation()");
-    if( iAnimationShowing && !iStartupAppUi->HiddenReset() && !iAnimationCancelled )
-        {
-        UpdateDrawInfo( EStartupDIWelcomeAnimCancelled );
-        EndAnimation();
-        TRACES("CStartupWelcomeAnimation::CancelAnimation(): Timer activated - before");
-        iAnimCancelTimer->Start( 10000, 10000, 
-                           TCallBack( iStartupAppUi->DoStopTimingL, iStartupAppUi ) );
-        TRACES("CStartupWelcomeAnimation::CancelAnimation(): Timer activated - after");
-        iAnimationCancelled = ETrue;
-        }
-    TRACES("CStartupWelcomeAnimation::CancelAnimation(): End");
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::IsAnimationCancelled(...)
-// ---------------------------------------------------------------------------
-TBool CStartupWelcomeAnimation::IsAnimationCancelled()
-    {
-    TRACES1("CStartupWelcomeAnimation::IsAnimationCancelled(): iAnimationCancelled: %d", iAnimationCancelled);
-    return iAnimationCancelled;
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::SetAnimationShowing(...)
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::SetAnimationShowing(TBool aValue)
-    {
-    TRACES("CStartupWelcomeAnimation::SetAnimationShowing()");
-    TRACES2("CStartupWelcomeAnimation::SetAnimationShowing(): iAnimationShowing changed from %d to %d",iAnimationShowing, aValue );
-    iAnimationShowing = aValue;
-    }
-
-// ---------------------------------------------------------------------------
-// CStartupWelcomeAnimation::HandleResourceChange(...)
-// ---------------------------------------------------------------------------
-void CStartupWelcomeAnimation::HandleResourceChange(TInt aType)
-    {
-    CCoeControl::HandleResourceChange(aType);
-    if(aType==KEikDynamicLayoutVariantSwitch)
-        {
-        SetRect(iAvkonAppUi->ApplicationRect()); // update rect
-        }
-   }
-
-
-
-//  End of File