uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/src/alfserverdrawer.cpp
branchRCL_3
changeset 12 f93c875b566e
parent 8 46927d61fef3
child 13 3a60ebea00d0
equal deleted inserted replaced
10:7c5dd702d6d3 12:f93c875b566e
    35 #include "alfstreamerbridge.h"
    35 #include "alfstreamerbridge.h"
    36 #include "alfpolicyhandler.h"
    36 #include "alfpolicyhandler.h"
    37 #include <alflogger.h>
    37 #include <alflogger.h>
    38 #include <uiacceltk/HuiUtil.h>
    38 #include <uiacceltk/HuiUtil.h>
    39 
    39 
       
    40 #define AMT_CONTROL() static_cast<CAlfModuleTestDataControl*>(Dll::Tls())
       
    41 #include "alfmoduletest.h" 
       
    42 
    40 // This sets the maximum time for an effect. Even if the fxml file has specified a longer duration, 
    43 // This sets the maximum time for an effect. Even if the fxml file has specified a longer duration, 
    41 // this will stop the effect.
    44 // this will stop the effect.
    42 const TInt KAlfShortEffectTimeout = 4000000;
    45 const TInt KAlfShortEffectTimeout     = 4000000;
    43 const TInt KAlfLongEffectTimeout  = 5000000;
    46 const TInt KAlfAppStartEffectTimeout  = 300000;
       
    47 const TInt KAlfLongEffectTimeout      = 5000000;
    44 const TInt KAlfActiveControlFxGranularity = 4;
    48 const TInt KAlfActiveControlFxGranularity = 4;
       
    49 const TInt KAlfLongApplicationStartContext = 20;
    45 
    50 
    46 //const TInt KAlfLongEffectTimeout  = 500000;
    51 //const TInt KAlfLongEffectTimeout  = 500000;
    47 // Timer to send finish full screen effect
    52 // Timer to send finish full screen effect
    48 // ---------------------------------------------------------
    53 // ---------------------------------------------------------
    49 // CAlfFinishTimer
    54 // CAlfFinishTimer
    61         
    66         
    62     protected:  // Functions from base classes
    67     protected:  // Functions from base classes
    63         
    68         
    64         void DoCancel();
    69         void DoCancel();
    65 
    70 
       
    71     public:
       
    72         
       
    73         TBool iTimeoutTriggered;
       
    74         TBool iIsStartEffect;
       
    75         
    66     private:
    76     private:
    67 
    77 
    68         CAlfFinishTimer();
    78         CAlfFinishTimer();
    69         void ConstructL();
    79         void ConstructL();
    70         void RunL();
    80         void RunL();
   106     }
   116     }
   107 
   117 
   108 void CAlfFinishTimer::Start( TTimeIntervalMicroSeconds32 aPeriod, TCallBack aTimeoutCallback )
   118 void CAlfFinishTimer::Start( TTimeIntervalMicroSeconds32 aPeriod, TCallBack aTimeoutCallback )
   109     {
   119     {
   110     iCallback = aTimeoutCallback; 
   120     iCallback = aTimeoutCallback; 
       
   121     iTimeoutTriggered = EFalse;
   111     After( aPeriod );
   122     After( aPeriod );
   112     }
   123     }
   113 
   124 
   114 void CAlfFinishTimer::RunL()
   125 void CAlfFinishTimer::RunL()
   115     {
   126     {
   116     //
   127     //
   117     // timer completes and control is returned to caller
   128     // timer completes and control is returned to caller
   118     //
   129     //
   119     if ( iStatus.Int() != KErrCancel )
   130     if ( iStatus.Int() != KErrCancel )
   120         {
   131         {
       
   132         iTimeoutTriggered = ETrue;
   121         iCallback.CallBack();
   133         iCallback.CallBack();
   122         }
   134         }
   123     }
   135     }
   124 
   136 
   125 void CAlfFinishTimer::DoCancel()
   137 void CAlfFinishTimer::DoCancel()
   264     delete iControlController;
   276     delete iControlController;
   265     delete iFullScreenController;
   277     delete iFullScreenController;
   266     delete iFinishFullScreen;
   278     delete iFinishFullScreen;
   267     delete iFullScreenTimeout;
   279     delete iFullScreenTimeout;
   268     iActiveControlFx.Close();
   280     iActiveControlFx.Close();
       
   281 #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
       
   282     delete AMT_CONTROL();
       
   283     Dll::FreeTls();
       
   284 #endif
   269     }
   285     }
   270 
   286 
   271 // ---------------------------------------------------------------------------
   287 // ---------------------------------------------------------------------------
   272 // ---------------------------------------------------------------------------
   288 // ---------------------------------------------------------------------------
   273 //
   289 //
   499     }
   515     }
   500 
   516 
   501 // ---------------------------------------------------------------------------
   517 // ---------------------------------------------------------------------------
   502 // ---------------------------------------------------------------------------
   518 // ---------------------------------------------------------------------------
   503 //
   519 //
   504 void CAlfServerDrawer::EndFullscreen()
   520 void CAlfServerDrawer::EndFullscreen(TBool aTimeout)
   505     {
   521     {
   506     __ALFFXLOGSTRING("CAlfServerDrawer::EndFullscreen >>");
   522     __ALFFXLOGSTRING("CAlfServerDrawer::EndFullscreen >>");
   507     CancelEndChecker();
   523     CancelEndChecker();
   508     iFullScreenController->EndFullscreen(EFalse);
   524     iFullScreenController->EndFullscreen(aTimeout);
   509     iFullScreenController->AppInfoCache().ClearActions();
   525     iFullScreenController->AppInfoCache().ClearActions();
   510     __ALFFXLOGSTRING("CAlfServerDrawer::EndFullscreen <<");
   526     __ALFFXLOGSTRING("CAlfServerDrawer::EndFullscreen <<");
   511     }
   527     }
   512 
   528 
   513 // ---------------------------------------------------------------------------
   529 // ---------------------------------------------------------------------------
   548 // ---------------------------------------------------------------------------
   564 // ---------------------------------------------------------------------------
   549 // ---------------------------------------------------------------------------
   565 // ---------------------------------------------------------------------------
   550 //  
   566 //  
   551 void CAlfServerDrawer::DoSendBeginFullscreenL()
   567 void CAlfServerDrawer::DoSendBeginFullscreenL()
   552     {
   568     {
       
   569 #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
       
   570     TTime time;
       
   571     time.UniversalTime();
       
   572     AMT_ADD_TIME(iToSid.iId, time.Int64(), ETrue);
       
   573 #endif    
   553     __ALFFXLOGSTRING(" <- CAlfServerDrawer::SendBeginFullscreen");
   574     __ALFFXLOGSTRING(" <- CAlfServerDrawer::SendBeginFullscreen");
   554     __ALFFXLOGSTRING(" <- Original window server ids");
   575     __ALFFXLOGSTRING(" <- Original window server ids");
   555     __ALFFXLOGSTRING2("From UID: 0x%X, To UID: 0x%X", iFromUid.iUid, iToUid.iUid);    
   576     __ALFFXLOGSTRING2("From UID: 0x%X, To UID: 0x%X", iFromUid.iUid, iToUid.iUid);    
   556     __ALFFXLOGSTRING2("Parent UID: 0x%X, Focus window group UID: 0x%X", iParentUid.iUid, iFocusWg);    
   577     __ALFFXLOGSTRING2("Parent UID: 0x%X, Focus window group UID: 0x%X", iParentUid.iUid, iFocusWg);    
   557     TInt err = KErrNone;
   578     TInt err = KErrNone;
   664         RMemWriteStream stream( bridgeBuffer, bufferSize );
   685         RMemWriteStream stream( bridgeBuffer, bufferSize );
   665         // The writes should not leave if we have calculated our buffer length correctly.
   686         // The writes should not leave if we have calculated our buffer length correctly.
   666         stream.WriteInt32L( MAlfGfxEffectPlugin::EBeginFullscreen );
   687         stream.WriteInt32L( MAlfGfxEffectPlugin::EBeginFullscreen );
   667         stream.WriteInt32L(  iToSid.iId ); //iCurrentFullScreenHandle );
   688         stream.WriteInt32L(  iToSid.iId ); //iCurrentFullScreenHandle );
   668         stream.WriteInt32L( iType );
   689         stream.WriteInt32L( iType );
       
   690         stream.WriteInt32L( 0 ); // timeout triggered
   669       	if ( iType == AknTransEffect::EParameterType && isExit )
   691       	if ( iType == AknTransEffect::EParameterType && isExit )
   670       	    {
   692       	    {
   671             stream.WriteInt32L( iToWg );
   693             stream.WriteInt32L( iToWg );
   672             stream.WriteInt32L( 0 );
   694             stream.WriteInt32L( 0 );
   673 
   695 
   677             
   699             
   678             // SecureId
   700             // SecureId
   679             stream.WriteInt32L( iToSid.iId );
   701             stream.WriteInt32L( iToSid.iId );
   680             stream.WriteInt32L( iFromSid.iId );
   702             stream.WriteInt32L( iFromSid.iId );
   681                         
   703                         
   682             stream.WriteInt32L( KErrNotFound ); //  was iToScreen, obsolete
       
   683             stream.WriteInt32L( KErrNotFound ); // was iToScreen, obsolete
       
   684        	    }
   704        	    }
   685        	else if ( iType == AknTransEffect::EParameterType )
   705        	else if ( iType == AknTransEffect::EParameterType )
   686        	    {
   706        	    {
   687             stream.WriteInt32L( iToWg );
   707             stream.WriteInt32L( iToWg );
   688             stream.WriteInt32L( iFromWg );
   708             stream.WriteInt32L( iFromWg );
   693             
   713             
   694             // SecureId
   714             // SecureId
   695             stream.WriteInt32L( iToSid.iId );
   715             stream.WriteInt32L( iToSid.iId );
   696             stream.WriteInt32L( iFromSid.iId );
   716             stream.WriteInt32L( iFromSid.iId );
   697                         
   717                         
   698             stream.WriteInt32L( KErrNotFound );  // was iToScreen, obsolete
       
   699             stream.WriteInt32L( KErrNotFound ); // was iToScreen, obsolete
       
   700             }
   718             }
   701         else
   719         else
   702             {
   720             {
   703             stream.WriteInt32L( KErrNotFound); // was iFocusWg 
   721             stream.WriteInt32L( KErrNotFound);  // dummy BEGIN
   704             stream.WriteInt32L( KErrNotFound); // was iFocusWg 
   722             stream.WriteInt32L( KErrNotFound);  
       
   723             stream.WriteInt32L( KErrNotFound);  
       
   724             stream.WriteInt32L( KErrNotFound); 
       
   725             stream.WriteInt32L( KErrNotFound);  
       
   726             stream.WriteInt32L( KErrNotFound);  // dummy END
   705             }
   727             }
   706         stream.WriteInt32L( iFlags );
   728         stream.WriteInt32L( iFlags );
   707         stream.WriteInt32L( iEffectRect.iTl.iX );
   729         stream.WriteInt32L( iEffectRect.iTl.iX );
   708         stream.WriteInt32L( iEffectRect.iTl.iY );
   730         stream.WriteInt32L( iEffectRect.iTl.iY );
   709         stream.WriteInt32L( iEffectRect.iBr.iX );
   731         stream.WriteInt32L( iEffectRect.iBr.iX );
   710         stream.WriteInt32L( iEffectRect.iBr.iY );
   732         stream.WriteInt32L( iEffectRect.iBr.iY );
       
   733         
   711         stream << resourceDir;
   734         stream << resourceDir;
   712         stream << fileName;    
   735         stream << fileName;    
   713         stream.CommitL();
   736         stream.CommitL();
   714         bridgerData.Set( EAlfEffectFx, iAction, bufferSize, (TAny*) index );
   737         bridgerData.Set( EAlfEffectFx, iAction, bufferSize, (TAny*) index );
   715         __ALFFXLOGSTRING(" <- CAlfServerDrawer::sending bridgedata");
   738         __ALFFXLOGSTRING(" <- CAlfServerDrawer::sending bridgedata");
   723         }
   746         }
   724     
   747     
   725     // iFlags and iAction will contain some extra information that can be used to control the effect:
   748     // iFlags and iAction will contain some extra information that can be used to control the effect:
   726     
   749     
   727     // All of these actions may not produce effects, they are here for now for debugging.
   750     // All of these actions may not produce effects, they are here for now for debugging.
   728     
   751     TBool isAppStartEffect(EFalse);
   729     switch ( iAction )
   752     switch ( iAction )
   730         {
   753         {
   731         case AknTransEffect::EApplicationActivate:
   754         case AknTransEffect::EApplicationActivate:
   732             __ALFFXLOGSTRING("EApplicationActivate - 1");
   755             __ALFFXLOGSTRING("EApplicationActivate - 1");
   733             break;
   756             break;
   734         case AknTransEffect::EApplicationStart:
   757         case AknTransEffect::EApplicationStart:
       
   758             isAppStartEffect = ETrue;
   735             __ALFFXLOGSTRING("EApplicationStart - 3");
   759             __ALFFXLOGSTRING("EApplicationStart - 3");
   736             break;
   760             break;
   737         case AknTransEffect::EEmbeddedApplicationStart:
   761         case AknTransEffect::EEmbeddedApplicationStart:
   738             __ALFFXLOGSTRING("EEmbeddedApplicationStart - 4");
   762             __ALFFXLOGSTRING("EEmbeddedApplicationStart - 4");
   739             break;
   763             break;
   740         case AknTransEffect::EApplicationExit:
   764         case AknTransEffect::EApplicationExit:
   741             __ALFFXLOGSTRING("EApplicationExit - 5");
   765             __ALFFXLOGSTRING("EApplicationExit - 5");
   742             break;
   766             break;
   743         case AknTransEffect::EApplicationStartRect:
   767         case AknTransEffect::EApplicationStartRect:
       
   768             isAppStartEffect = ETrue;
   744             __ALFFXLOGSTRING("EApplicationStartRect - 6");
   769             __ALFFXLOGSTRING("EApplicationStartRect - 6");
   745             break;
   770             break;
   746         case AknTransEffect::EApplicationStartSwitch:
   771         case AknTransEffect::EApplicationStartSwitch:
       
   772             isAppStartEffect = ETrue;
   747             __ALFFXLOGSTRING("EApplicationStartSwitch - 7");
   773             __ALFFXLOGSTRING("EApplicationStartSwitch - 7");
   748             break;
   774             break;
   749         case AknTransEffect::EApplicationStartSwitchRect:
   775         case AknTransEffect::EApplicationStartSwitchRect:
       
   776             isAppStartEffect = ETrue;
   750             __ALFFXLOGSTRING("EApplicationStartSwitchRect - 8");
   777             __ALFFXLOGSTRING("EApplicationStartSwitchRect - 8");
   751             break;
   778             break;
   752         case AknTransEffect::EEmbeddedApplicationExit:
   779         case AknTransEffect::EEmbeddedApplicationExit:
   753             __ALFFXLOGSTRING("EEmbeddedApplicationExit - 10");
   780             __ALFFXLOGSTRING("EEmbeddedApplicationExit - 10");
   754             break;
   781             break;
   781     // endfullscreen signals.
   808     // endfullscreen signals.
   782     
   809     
   783     // It appears that folder open and close never send endfullscreen, so for them the effect
   810     // It appears that folder open and close never send endfullscreen, so for them the effect
   784     // must be started as soon as we get beginfullscreen
   811     // must be started as soon as we get beginfullscreen
   785     
   812     
   786     iFullScreenTimeout->Start( KAlfLongEffectTimeout, TCallBack( FullScreenTimeout, this ) );
   813     isAppStartEffect = EFalse; // disable different timeout effect for appstart effects
       
   814 	
       
   815     if (isAppStartEffect)
       
   816         {
       
   817 		// The shorter timeout can be disabled here!
       
   818         iFullScreenTimeout->Start( KAlfAppStartEffectTimeout, TCallBack( FullScreenTimeout, this ) );
       
   819         iFullScreenTimeout->iIsStartEffect = ETrue;
       
   820         }
       
   821     else
       
   822         {
       
   823         iFullScreenTimeout->Start( KAlfLongEffectTimeout, TCallBack( FullScreenTimeout, this ) );
       
   824         iFullScreenTimeout->iIsStartEffect = EFalse;
       
   825         }
   787     }
   826     }
   788     
   827     
   789 // ---------------------------------------------------------------------------
   828 // ---------------------------------------------------------------------------
   790 // ---------------------------------------------------------------------------
   829 // ---------------------------------------------------------------------------
   791 //	
   830 //	
   792 TInt CAlfServerDrawer::SendEndFullscreen()
   831 TInt CAlfServerDrawer::SendEndFullscreen(TBool aTimeout)
   793     {
   832     {
   794     __ALFFXLOGSTRING("CAlfServerDrawer::SendEndFullscreen");
   833     __ALFFXLOGSTRING3("CAlfServerDrawer::SendEndFullscreen - Timeout: %d, iFullScreenEndSent: %d, IsStartEffect: %d", aTimeout, iFullScreenEndSent, iFullScreenTimeout->iIsStartEffect);
   795     
   834     
   796     if ( iFullScreenEndSent )
   835     if ( iFullScreenEndSent )
   797         {
   836         {
   798         __ALFFXLOGSTRING("CAlfServerDrawer::SendEndFullscreen END no need");
   837         __ALFFXLOGSTRING("CAlfServerDrawer::SendEndFullscreen END no need");
   799         return KErrNone;
   838         return KErrNone;
   802         
   841         
   803     __ALFFXLOGSTRING("CAlfServerDrawer::SendEndFullscreen");
   842     __ALFFXLOGSTRING("CAlfServerDrawer::SendEndFullscreen");
   804     iFullScreenTransitionEndObserver->Cancel();
   843     iFullScreenTransitionEndObserver->Cancel();
   805     iFullScreenTimeout->Cancel();
   844     iFullScreenTimeout->Cancel();
   806     iFinishFullScreen->Cancel();
   845     iFinishFullScreen->Cancel();
   807 	/*
   846     TBool triggerStartEffectTimeout= iFullScreenTimeout->iTimeoutTriggered && iFullScreenTimeout->iIsStartEffect;
   808     TUint action = iAction;   
   847     iFullScreenTimeout->iTimeoutTriggered = EFalse;
   809     if ( iType == AknTransEffect::EParameterAvkonInternal )
   848     iFullScreenTimeout->iIsStartEffect = EFalse;
   810         {
   849     
   811         action = iOldAction;
   850      // This is where the second part of the effect should start
   812         }
   851     // The new window should already have something on the screen.
   813     */
   852 	// It might not be the case, if aTimeout is ETrue 
   814     // TEMPORARY HACK
       
   815     // REMOVE AFTER APPSHELL HAS BEEN FIXED
       
   816     //iDoNotClearEffectRect = EFalse;
       
   817     
       
   818     // This is where the second part of the effect should start
       
   819     // The new window should already have something on the screen
       
   820     
   853     
   821     // Send the data to CAlfAppUI via bridge
   854     // Send the data to CAlfAppUI via bridge
   822     
   855     
   823     TAlfBridgerData bridgerData;
   856     TAlfBridgerData bridgerData;
   824     
   857     
   825     // Get the wanted full screen effect from the policy handler
   858     // Get the wanted full screen effect from the policy handler
   826     
   859     
   827 	TPtrC resourceDir;
   860 	TPtrC resourceDir;
   828 	TPtrC fileName;
   861 	TPtrC fileName;
   829 
   862 	TInt cachePriority = 0;
       
   863     TInt wantedTime = 0;
       
   864     TInt minTime = 0;
       
   865 
       
   866 	if (triggerStartEffectTimeout)
       
   867 	    {
       
   868         // if the following fails, then the effect from beginfullscreen will be used.
       
   869         TInt err = iPolicyHandler.GetFullscreenKml( KAlfLongApplicationStartContext, iToUid, iFromUid, resourceDir, fileName,
       
   870         cachePriority, wantedTime, minTime );
       
   871 		if (err != KErrNone)
       
   872 			{
       
   873 			triggerStartEffectTimeout = EFalse;
       
   874 			}
       
   875 	    }
       
   876 	
   830     // We must make a stream of the data as the length may vary.
   877     // We must make a stream of the data as the length may vary.
   831     // At the moment we only send some numbers, but we should probably include
   878     // At the moment we only send some numbers, but we should probably include
   832     // also the effect file name or something else to identify the effect 
   879     // also the effect file name or something else to identify the effect 
   833     // that is going to be used
   880     // that is going to be used
   834     
   881     
   835     TInt bufferSize = 11 * sizeof(TInt); // operation, type, 2 wg ids, 2 app uids, flags and rect
   882     TInt bufferSize = 12 * sizeof(TInt); // operation, type, 2 wg ids, 2 app uids, flags and rect, timeoutTriggered
   836     bufferSize += sizeof(TPtrC);
   883     bufferSize += sizeof(TPtrC);
   837     bufferSize += resourceDir.Length() * 2;
   884     bufferSize += resourceDir.Length() * 2;
   838     bufferSize += sizeof(TPtrC);
   885     bufferSize += sizeof(TPtrC);
   839     bufferSize += fileName.Length() * 2;
   886     bufferSize += fileName.Length() * 2;
   840     
   887     
   854         TRAP_IGNORE(
   901         TRAP_IGNORE(
   855             {
   902             {
   856             stream.WriteInt32L( MAlfGfxEffectPlugin::EEndFullscreen );
   903             stream.WriteInt32L( MAlfGfxEffectPlugin::EEndFullscreen );
   857             stream.WriteInt32L( iCurrentFullScreenHandle );
   904             stream.WriteInt32L( iCurrentFullScreenHandle );
   858             stream.WriteInt32L( iType );
   905             stream.WriteInt32L( iType );
   859 
   906             stream.WriteInt32L( triggerStartEffectTimeout );
   860             stream.WriteInt32L( iToWg );
   907             stream.WriteInt32L( iToWg );
   861             stream.WriteInt32L( iFromWg );
   908             stream.WriteInt32L( iFromWg );
   862 
   909 
   863             // AppUid for the future. alfbridge can figure out the windog groups based on that
   910             // AppUid for the future. alfbridge can figure out the windog groups based on that
   864             stream.WriteInt32L( iToUid.iUid );
   911             stream.WriteInt32L( iToUid.iUid );
   865             stream.WriteInt32L( iFromUid.iUid );
   912             stream.WriteInt32L( iFromUid.iUid );
   866 
   913             
   867             if ( iType == AknTransEffect::EParameterType )
   914             stream.WriteInt32L( iToSid.iId );
   868                 {
   915             stream.WriteInt32L( iFromSid.iId );
   869                 stream.WriteInt32L( iToScreen );
   916 
   870                 stream.WriteInt32L( iFromScreen );
       
   871                 }
       
   872             /*else
       
   873                 {
       
   874                 //stream.WriteInt32L( iFocusWg );
       
   875                 //stream.WriteInt32L( iFocusWg );
       
   876 //              }*/
       
   877             stream.WriteInt32L( iFlags ); 
   917             stream.WriteInt32L( iFlags ); 
   878             stream.WriteInt32L( iEffectRect.iTl.iX );
   918             stream.WriteInt32L( iEffectRect.iTl.iX );
   879             stream.WriteInt32L( iEffectRect.iTl.iY );
   919             stream.WriteInt32L( iEffectRect.iTl.iY );
   880             stream.WriteInt32L( iEffectRect.iBr.iX );
   920             stream.WriteInt32L( iEffectRect.iBr.iX );
   881             stream.WriteInt32L( iEffectRect.iBr.iY );
   921             stream.WriteInt32L( iEffectRect.iBr.iY );
       
   922             
   882             stream << resourceDir;
   923             stream << resourceDir;
   883             stream << fileName;    
   924             stream << fileName;    
   884             stream.CommitL();    
   925             stream.CommitL();    
   885             });    
   926             });    
   886                 
   927                 
   890         stream.Close();
   931         stream.Close();
   891         iFullScreenTransitionEndObserver->StartObserving( TCallBack( FullScreenTransitionFinished, this ), iCurrentFullScreenHandle  );
   932         iFullScreenTransitionEndObserver->StartObserving( TCallBack( FullScreenTransitionFinished, this ), iCurrentFullScreenHandle  );
   892         }
   933         }
   893 
   934 
   894     iFullScreenFinished = EFalse;
   935     iFullScreenFinished = EFalse;
       
   936     iFullScreenTimeout->iIsStartEffect = EFalse;
   895     if ( iAction == AknTransEffect::EApplicationExit /*||
   937     if ( iAction == AknTransEffect::EApplicationExit /*||
   896         iAction == 1001*/  ) 
   938         iAction == 1001*/  ) 
   897         {
   939         {
   898 		// no more events expected
   940 		// no more events expected
   899         iFinishFullScreen->Start( KAlfShortEffectTimeout, TCallBack( FinishFullScreenTimeout, this ) );
   941         iFinishFullScreen->Start( KAlfShortEffectTimeout, TCallBack( FinishFullScreenTimeout, this ) );
   985 	TPtrC resourceDir;
  1027 	TPtrC resourceDir;
   986 	TPtrC fileName;
  1028 	TPtrC fileName;
   987 	TPtrC actionString;
  1029 	TPtrC actionString;
   988 	
  1030 	
   989 	TInt err = KErrNone;
  1031 	TInt err = KErrNone;
       
  1032 #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
       
  1033 	TTime time;
       
  1034     time.UniversalTime();
       
  1035     AMT_ADD_TIME(iControlHandle, time.Int64(), ETrue);
       
  1036 #endif    
   990 	err = iPolicyHandler.GetControlKml( iControlUid, iControlAction, resourceDir,
  1037 	err = iPolicyHandler.GetControlKml( iControlUid, iControlAction, resourceDir,
   991 	    fileName, actionString, cachePriority, wantedTime, minTime );
  1038 	    fileName, actionString, cachePriority, wantedTime, minTime );
   992 	    
  1039 	    
   993 	if ( err != KErrNone )
  1040 	if ( err != KErrNone )
   994 	    {
  1041 	    {