iaupdate/IAD/ui/src/iaupdateuicontroller.cpp
changeset 29 26b6f0522fd8
parent 25 98b66e4fb0be
child 33 8110bf1194d1
equal deleted inserted replaced
25:98b66e4fb0be 29:26b6f0522fd8
    17 */
    17 */
    18 
    18 
    19 
    19 
    20 
    20 
    21 // INCLUDES
    21 // INCLUDES
    22 #include <avkon.hrh>
       
    23 #include <StringLoader.h> 
       
    24 #include <centralrepository.h>
    22 #include <centralrepository.h>
    25 #include <AknUtils.h>
       
    26 #include <SWInstDefs.h>
    23 #include <SWInstDefs.h>
    27 #include <avkon.rsg>
       
    28 #include <featurecontrol.h>
    24 #include <featurecontrol.h>
    29 #include <cmmanager.h>
    25 #include <cmmanager.h>
    30 #include <iaupdate.rsg>
    26 #include <qapplication.h>
       
    27 #include <hbmessagebox.h>
       
    28 #include <hbaction.h>
       
    29 #include <hbprogressdialog.h>
    31 #include <iaupdateparameters.h>
    30 #include <iaupdateparameters.h>
    32 
    31 
    33 #include "iaupdateuicontroller.h"
    32 #include "iaupdateuicontroller.h"
    34 #include "iaupdateuicontrollerobserver.h"
    33 #include "iaupdateuicontrollerobserver.h"
    35 #include "iaupdateappui.h"
       
    36 #include "iaupdate.hrh"
    34 #include "iaupdate.hrh"
    37 #include "iaupdatewaitdialog.h"
       
    38 #include "iaupdateprogressdialog.h"
       
    39 #include "iaupdatenode.h"
    35 #include "iaupdatenode.h"
    40 #include "iaupdatefwnode.h"
    36 #include "iaupdatefwnode.h"
    41 #include "iaupdatebasenode.h"
    37 #include "iaupdatebasenode.h"
    42 #include "iaupdatenodefilter.h"
    38 #include "iaupdatenodefilter.h"
    43 #include "iaupdatefactory.h"
    39 #include "iaupdatefactory.h"
    44 #include "iaupdatestarter.h"
    40 #include "iaupdatestarter.h"
    45 #include "iaupdateprivatecrkeys.h"
    41 #include "iaupdateprivatecrkeys.h"
    46 #include "iaupdatecontrollerfile.h"
    42 #include "iaupdatecontrollerfile.h"
    47 #include "iaupdateuiconfigdata.h"
    43 #include "iaupdateuiconfigdata.h"
    48 #include "iaupdatedialogutil.h"
       
    49 #include "iaupdateutils.h"
    44 #include "iaupdateutils.h"
    50 #include "iaupdateagreement.h"
    45 #include "iaupdateagreement.h"
    51 #include "iaupdateautomaticcheck.h"
    46 #include "iaupdateautomaticcheck.h"
    52 #include "iaupdateroaminghandler.h"
    47 #include "iaupdateroaminghandler.h"
    53 #include "iaupdatependingnodesfile.h"
    48 #include "iaupdatependingnodesfile.h"
    55 #include "iaupdaterresultsfile.h"
    50 #include "iaupdaterresultsfile.h"
    56 #include "iaupdaterresult.h"
    51 #include "iaupdaterresult.h"
    57 #include "iaupdateridentifier.h"
    52 #include "iaupdateridentifier.h"
    58 #include "iaupdateruids.h"
    53 #include "iaupdateruids.h"
    59 #include "iaupdaterdefs.h"
    54 #include "iaupdaterdefs.h"
    60 #include "iaupdatetools.h"
       
    61 #include "iaupdateparametersfilemanager.h"
    55 #include "iaupdateparametersfilemanager.h"
    62 #include "iaupdateerrorcodes.h"
    56 #include "iaupdateerrorcodes.h"
    63 #include "iaupdatefileconsts.h"
    57 #include "iaupdatefileconsts.h"
    64 #include "iaupdatefirsttimeinfo.h"
    58 #include "iaupdatefirsttimeinfo.h"
    65 #include "iaupdaterefreshhandler.h"
    59 #include "iaupdaterefreshhandler.h"
    66 #include "iaupdatenodeid.h"
    60 #include "iaupdatenodeid.h"
       
    61 #include "iaupdatewaitdialog.h"
    67 #include "iaupdatedebug.h"
    62 #include "iaupdatedebug.h"
    68 
    63 
    69 
    64 
    70 // cenrep in emulator:
    65 // cenrep in emulator:
    71 // copy 2000F85A.txt to '\epoc32\release\winscw\udeb\Z\private\10202be9\'
    66 // copy 2000F85A.txt to '\epoc32\release\winscw\udeb\Z\private\10202be9\'
   250 CIAUpdateUiController::~CIAUpdateUiController()
   245 CIAUpdateUiController::~CIAUpdateUiController()
   251     {    
   246     {    
   252     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::~CIAUpdateUiController() begin");
   247     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::~CIAUpdateUiController() begin");
   253 
   248 
   254     CancelOperation();
   249     CancelOperation();
       
   250     delete mWaitDialog;
   255     delete iController;
   251     delete iController;
   256     iNodes.Reset();
   252     iNodes.Reset();
   257     iFwNodes.Reset();
   253     iFwNodes.Reset();
   258     iSelectedNodesArray.Reset();
   254     iSelectedNodesArray.Reset();
   259     iServicePackNodes.Reset();
   255     iServicePackNodes.Reset();
   269 
   265 
   270     // If dialogs have not been released yet, release them now.
   266     // If dialogs have not been released yet, release them now.
   271     // ProcessFinishedL() should normally be used for dialogs but
   267     // ProcessFinishedL() should normally be used for dialogs but
   272     // here just use non-leaving delete. In normal cases, dialogs should
   268     // here just use non-leaving delete. In normal cases, dialogs should
   273     // already be released in the end of the update flow before coming here.
   269     // already be released in the end of the update flow before coming here.
   274     delete iWaitDialog;
   270     //delete iWaitDialog;
   275     delete iProgressDialog;
   271     //delete iProgressDialog;
   276         
   272         
   277 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::~CIAUpdateUiController() end");
   273 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::~CIAUpdateUiController() end");
   278     }        
   274     }        
   279 
   275 
   280 
   276 
   354        	    iObserver.UpdateCompleteL( KErrNone ); 
   350        	    iObserver.UpdateCompleteL( KErrNone ); 
   355        	    return;
   351        	    return;
   356        	    }
   352        	    }
   357        	else
   353        	else
   358        	    {
   354        	    {
   359        	    CIAUpdateAppUi* appUi = 
   355        	    qApp->quit();
   360        	            static_cast< CIAUpdateAppUi* >( iEikEnv->EikAppUi() );
       
   361             appUi->Exit();
       
   362        	    return;	
   356        	    return;	
   363        	    }
   357        	    }
   364         }
   358         }
   365     if ( iRequestType == IAUpdateUiDefines::ECheckUpdates && 
   359     if ( iRequestType == IAUpdateUiDefines::ECheckUpdates && 
   366          AllowNetworkRefreshL() && 
   360          AllowNetworkRefreshL() && 
   419 
   413 
   420     CreateSelectedNodesArrayL();
   414     CreateSelectedNodesArrayL();
   421                 
   415                 
   422     if ( !IAUpdateUtils::SpaceAvailableInInternalDrivesL( iSelectedNodesArray ) )
   416     if ( !IAUpdateUtils::SpaceAvailableInInternalDrivesL( iSelectedNodesArray ) )
   423         {
   417         {
   424   	    HBufC* noteText = NULL;
   418             HbMessageBox messageBox(HbMessageBox::MessageTypeInformation); 
   425         noteText = StringLoader::LoadLC( R_IAUPDATE_INSUFFICIENT_MEMORY );
   419             messageBox.setText(QString("Insufficient memory. Free some memory and try again."));
   426         IAUpdateDialogUtil::ShowInformationQueryL( *noteText ); 
   420             HbAction action("OK");
   427         CleanupStack::PopAndDestroy( noteText );
   421             messageBox.setPrimaryAction(&action);
       
   422             messageBox.setTimeout(HbPopup::NoTimeout);
       
   423             messageBox.exec();
   428         }
   424         }
   429     else
   425     else
   430         {
   426         {
   431         if ( !IsStartedByLauncher() )
   427         if ( !IsStartedByLauncher() )
   432             {
   428             {
   514                     // it needs to be downloaded before it can be installed.
   510                     // it needs to be downloaded before it can be installed.
   515                     IAUPDATE_TRACE("[IAUPDATE] Download");
   511                     IAUPDATE_TRACE("[IAUPDATE] Download");
   516                     selectedNode->DownloadL( *this );
   512                     selectedNode->DownloadL( *this );
   517                     iState = EDownloading;
   513                     iState = EDownloading;
   518                     iClosingAllowedByClient = ETrue;
   514                     iClosingAllowedByClient = ETrue;
   519                     ShowUpdatingDialogL( R_IAUPDATE_DOWNLOADING_NOTE,
   515                     /*ShowUpdatingDialogL( R_IAUPDATE_DOWNLOADING_NOTE,
   520                                          selectedNode->Base().Name(),
   516                                          selectedNode->Base().Name(),
   521                                          iNodeIndex + 1,
   517                                          iNodeIndex + 1,
   522                                          iSelectedNodesArray.Count() ); 
   518                                          iSelectedNodesArray.Count() );*/ 
   523                     nextUpdate = EFalse;
   519                     nextUpdate = EFalse;
   524                     }
   520                     }
   525                 else
   521                 else
   526                     {
   522                     {
   527                     // Because content has been downloaded but not installed yet,
   523                     // Because content has been downloaded but not installed yet,
   528                     // it needs to be installed now.
   524                     // it needs to be installed now.
   529                     IAUPDATE_TRACE("[IAUPDATE] Install");
   525                     IAUPDATE_TRACE("[IAUPDATE] Install");
   530                     selectedNode->InstallL( *this );
   526                     selectedNode->InstallL( *this );
   531                     iState = EInstalling;
   527                     iState = EInstalling;
   532                     iClosingAllowedByClient = EFalse;
   528                     iClosingAllowedByClient = EFalse;
   533                     CIAUpdateAppUi* appUi = 
   529                     /*CIAUpdateAppUi* appUi = 
   534                         static_cast< CIAUpdateAppUi* >( iEikEnv->EikAppUi() );
   530                         static_cast< CIAUpdateAppUi* >( iEikEnv->EikAppUi() );
   535                     appUi->StartWGListChangeMonitoring();
   531                     appUi->StartWGListChangeMonitoring();
   536                     ShowUpdatingDialogL( R_IAUPDATE_INSTALLING_NOTE,
   532                     ShowUpdatingDialogL( R_IAUPDATE_INSTALLING_NOTE,
   537                                          selectedNode->Base().Name(),
   533                                          selectedNode->Base().Name(),
   538                                          iNodeIndex + 1,
   534                                          iNodeIndex + 1,
   539                                          iSelectedNodesArray.Count() ); 
   535                                          iSelectedNodesArray.Count() ); */
   540                     nextUpdate = EFalse;                     
   536                     nextUpdate = EFalse;                     
   541                     }      
   537                     }      
   542                 }
   538                 }
   543             }
   539             }
   544         else
   540         else
   568         aNode.GetDependenciesL( iServicePackNodes, ETrue );
   564         aNode.GetDependenciesL( iServicePackNodes, ETrue );
   569         }
   565         }
   570             
   566             
   571     aNode.InstallL( *this );
   567     aNode.InstallL( *this );
   572     iState = EInstalling;
   568     iState = EInstalling;
   573     CIAUpdateAppUi* appUi = static_cast<CIAUpdateAppUi*>( iEikEnv->EikAppUi() );
   569     /*CIAUpdateAppUi* appUi = static_cast<CIAUpdateAppUi*>( iEikEnv->EikAppUi() );
   574     appUi->StartWGListChangeMonitoring();
   570     appUi->StartWGListChangeMonitoring();
   575     iClosingAllowedByClient = EFalse;
   571     iClosingAllowedByClient = EFalse;
   576     ShowUpdatingDialogL( R_IAUPDATE_INSTALLING_NOTE,
   572     ShowUpdatingDialogL( R_IAUPDATE_INSTALLING_NOTE,
   577                          aNode.Base().Name(),
   573                          aNode.Base().Name(),
   578                          iNodeIndex + 1,
   574                          iNodeIndex + 1,
   579                          iSelectedNodesArray.Count()  );
   575                          iSelectedNodesArray.Count()  ); */
   580     
   576     
   581 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::StartInstallL() end");
   577 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::StartInstallL() end");
   582     }
   578     }
   583 
   579 
   584     
   580     
   610                 {
   606                 {
   611                 // to avoid flickering IAD is brought to foreground only when wait dialog is really shown
   607                 // to avoid flickering IAD is brought to foreground only when wait dialog is really shown
   612                 if ( allowNetworkRefresh )
   608                 if ( allowNetworkRefresh )
   613                     {
   609                     {
   614                     iEikEnv->RootWin().SetOrdinalPosition( 0, ECoeWinPriorityNormal );
   610                     iEikEnv->RootWin().SetOrdinalPosition( 0, ECoeWinPriorityNormal );
   615                     HBufC* noteText = StringLoader::LoadLC( R_IAUPDATE_REFRESHING_UPDATE_LIST );
   611                     ShowWaitDialogL( "Refreshing updates list", ETrue );
   616                     ShowWaitDialogL( *noteText, ETrue );
       
   617                     CleanupStack::PopAndDestroy( noteText );
       
   618                     }
   612                     }
   619                 }
   613                 }
   620             }
   614             }
   621         else
   615         else
   622             {
   616             {
   623             HBufC* noteText = StringLoader::LoadLC( R_IAUPDATE_REFRESHING_UPDATE_LIST );
   617             ShowWaitDialogL( "Refreshing updates list", ETrue );
   624             ShowWaitDialogL( *noteText, EFalse );
       
   625             CleanupStack::PopAndDestroy( noteText );
       
   626             }
   618             }
   627         }
   619         }
   628     
   620     
   629        
   621        
   630 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::StartRefreshL() end");
   622 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::StartRefreshL() end");
  1299             }
  1291             }
  1300         }
  1292         }
  1301 
  1293 
  1302     if ( aErrorCode == IAUpdaterDefs::KIAUpdaterShutdownRequest )
  1294     if ( aErrorCode == IAUpdaterDefs::KIAUpdaterShutdownRequest )
  1303         {
  1295         {
  1304         CIAUpdateAppUi* appUi = static_cast<CIAUpdateAppUi*>( iEikEnv->EikAppUi() );
  1296         //CIAUpdateAppUi* appUi = static_cast<CIAUpdateAppUi*>( iEikEnv->EikAppUi() );
  1305     	appUi->Exit();
  1297     	//appUi->Exit();
  1306         }
  1298         }
  1307 
  1299 
  1308     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::SelfUpdaterComplete() end");
  1300     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::SelfUpdaterComplete() end");
  1309     }
  1301     }
  1310 
  1302 
  1352 // CIAUpdateUiController::DownloadProgress
  1344 // CIAUpdateUiController::DownloadProgress
  1353 // 
  1345 // 
  1354 // -----------------------------------------------------------------------------
  1346 // -----------------------------------------------------------------------------
  1355 //
  1347 //
  1356 void CIAUpdateUiController::DownloadProgress( MIAUpdateNode& /*aNode*/, 
  1348 void CIAUpdateUiController::DownloadProgress( MIAUpdateNode& /*aNode*/, 
  1357                                               TUint aProgress,
  1349                                               TUint /*aProgress*/,
  1358                                               TUint aMaxProgress )
  1350                                               TUint /*aMaxProgress*/ )
  1359     {
  1351     {
  1360     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::DownloadProgress() begin");  
  1352     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::DownloadProgress() begin");  
  1361 
  1353 
  1362     if ( iProgressDialog )
  1354     if ( iProgressDialog )
  1363         {
  1355         {
  1364     	TRAP_IGNORE ( iProgressDialog->SetProgressDialogFinalValueL( aMaxProgress ) );
  1356     	//TRAP_IGNORE ( iProgressDialog->SetProgressDialogFinalValueL( aMaxProgress ) );
  1365         TRAP_IGNORE ( iProgressDialog->UpdateProgressDialogValueL( aProgress ) );
  1357         //TRAP_IGNORE ( iProgressDialog->UpdateProgressDialogValueL( aProgress ) );
  1366         }
  1358         }
  1367 
  1359 
  1368     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::DownloadProgress() end");  
  1360     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::DownloadProgress() end");  
  1369     }                            
  1361     }                            
  1370 
  1362 
  1416                                              TInt aError )  
  1408                                              TInt aError )  
  1417     {
  1409     {
  1418     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::InstallComplete() begin");
  1410     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::InstallComplete() begin");
  1419 
  1411 
  1420     iState = EIdle;
  1412     iState = EIdle;
  1421     CIAUpdateAppUi* appUi = static_cast<CIAUpdateAppUi*>( iEikEnv->EikAppUi() );
  1413     //CIAUpdateAppUi* appUi = static_cast<CIAUpdateAppUi*>( iEikEnv->EikAppUi() );
  1422     appUi->StopWGListChangeMonitoring();
  1414     //appUi->StopWGListChangeMonitoring();
  1423     if ( aError == SwiUI::KSWInstErrFileInUse )
  1415     if ( aError == SwiUI::KSWInstErrFileInUse )
  1424         {
  1416         {
  1425     	iFileInUseError = ETrue;
  1417     	iFileInUseError = ETrue;
  1426         }
  1418         }
  1427     
  1419     
  1531     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RoamingHandlerPrepared() end");
  1523     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RoamingHandlerPrepared() end");
  1532     }
  1524     }
  1533 
  1525 
  1534 
  1526 
  1535 // -----------------------------------------------------------------------------
  1527 // -----------------------------------------------------------------------------
  1536 // CIAUpdateUiController::HandleDialogExitL
  1528 // CIAUpdateUiController::HandleWaitDialogCancel
  1537 // Called when wait/progress dialog is about to be cancelled.
  1529 // Called when wait dialog is cancelled.
  1538 // (other items were commented in a header).
  1530 // (other items were commented in a header).
  1539 // -----------------------------------------------------------------------------
  1531 // -----------------------------------------------------------------------------
  1540 //
  1532 //
  1541 TBool CIAUpdateUiController::HandleDialogExitL( TInt aButtonId )
  1533 void CIAUpdateUiController::HandleWaitDialogCancel()
  1542     {
  1534     {
  1543     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::HandleDialogExitL() begin");
  1535     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::HandleWaitDialogCancel() begin");
  1544     IAUPDATE_TRACE_1("[IAUPDATE] button id: %d", aButtonId );
  1536     
  1545     
  1537     TRAPD ( err, HandleUserCancelL() );
  1546     TInt ret( ETrue );
  1538     if ( err != KErrNone )
  1547     if ( aButtonId == EAknSoftkeyCancel )
  1539         {
  1548         {  
  1540       	iObserver.HandleLeaveErrorL( err );
  1549         TRAPD ( err, HandleUserCancelL() );
  1541         }
  1550         if ( err != KErrNone )
  1542 
  1551             {
  1543     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::HandleWaitDialogCancel() end");
  1552         	iObserver.HandleLeaveErrorL( err );
  1544 
  1553             }
       
  1554         }   
       
  1555 
       
  1556     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::HandleDialogExitL() end");
       
  1557 
       
  1558     return ret;    
       
  1559     }
  1545     }
  1560 
  1546 
  1561 // -----------------------------------------------------------------------------
  1547 // -----------------------------------------------------------------------------
  1562 // CIAUpdateUiController::HandleUiRefreshL
  1548 // CIAUpdateUiController::HandleUiRefreshL
  1563 // 
  1549 // 
  1571 	    {
  1557 	    {
  1572 	    iRefreshed = EFalse;
  1558 	    iRefreshed = EFalse;
  1573 	    }
  1559 	    }
  1574 	else if ( iState == EIdle )
  1560 	else if ( iState == EIdle )
  1575 	    {
  1561 	    {
  1576 	    CIAUpdateAppUi* appUi = static_cast< CIAUpdateAppUi* >( iEikEnv->EikAppUi() );
  1562 	    //CIAUpdateAppUi* appUi = static_cast< CIAUpdateAppUi* >( iEikEnv->EikAppUi() );
  1577         if ( appUi->UiRefreshAllowed() )
  1563         //if ( appUi->UiRefreshAllowed() )
  1578 		    {
  1564 		    {
  1579 	    	iState = EUiRefreshing;
  1565 	    	iState = EUiRefreshing;
  1580 	        // store node identification (Id and namespace) of currently selected nodes
  1566 	        // store node identification (Id and namespace) of currently selected nodes
  1581 	        // to restore selections after refresh
  1567 	        // to restore selections after refresh
  1582 	        iPreviousSelections.Reset();
  1568 	        iPreviousSelections.Reset();
  2093 // ---------------------------------------------------------------------------
  2079 // ---------------------------------------------------------------------------
  2094 // CIAUpdateUiController::ShowUpdatingDialogL
  2080 // CIAUpdateUiController::ShowUpdatingDialogL
  2095 // 
  2081 // 
  2096 // ---------------------------------------------------------------------------
  2082 // ---------------------------------------------------------------------------
  2097 //
  2083 //
  2098 void CIAUpdateUiController::ShowUpdatingDialogL( TInt aTextResourceId,
  2084 void CIAUpdateUiController::ShowUpdatingDialogL( TInt /*aTextResourceId*/,
  2099                                                  const TDesC& aName,
  2085                                                  const TDesC& aName,
  2100                                                  TInt aNumber,
  2086                                                  TInt aNumber,
  2101                                                  TInt aTotalCount )   
  2087                                                  TInt aTotalCount )   
  2102                                                     
  2088                                                     
  2103     {
  2089     {
  2113     CArrayFix<TInt>* numberArray = new( ELeave ) CArrayFixFlat<TInt>( 2 );
  2099     CArrayFix<TInt>* numberArray = new( ELeave ) CArrayFixFlat<TInt>( 2 );
  2114     CleanupStack::PushL( numberArray );
  2100     CleanupStack::PushL( numberArray );
  2115     numberArray->AppendL( aNumber ); 
  2101     numberArray->AppendL( aNumber ); 
  2116     numberArray->AppendL( aTotalCount );
  2102     numberArray->AppendL( aTotalCount );
  2117     HBufC* noteText = NULL;
  2103     HBufC* noteText = NULL;
  2118     noteText = StringLoader::LoadLC( aTextResourceId, 
  2104     //noteText = StringLoader::LoadLC( aTextResourceId, 
  2119                                      *stringArray, 
  2105     //                                 *stringArray, 
  2120                                      *numberArray );
  2106     //                                 *numberArray );
  2121     TPtr ptr = noteText->Des();
  2107     TPtr ptr = noteText->Des();
  2122     AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr ); 
  2108     //AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr ); 
  2123     if ( iState == EDownloading )
  2109     if ( iState == EDownloading )
  2124         {
  2110         {
  2125     	ShowProgressDialogL( *noteText, ETrue );
  2111     	ShowProgressDialogL( *noteText, ETrue );
  2126         }
  2112         }
  2127     else
  2113     else
  2128         {
  2114         {
  2129         ShowWaitDialogL( *noteText, ETrue );	
  2115         //ShowWaitDialogL( *noteText, ETrue );	
  2130         }
  2116         }
  2131     
  2117     
  2132     CleanupStack::PopAndDestroy( noteText ); 
  2118     CleanupStack::PopAndDestroy( noteText ); 
  2133     CleanupStack::PopAndDestroy( numberArray );
  2119     CleanupStack::PopAndDestroy( numberArray );
  2134     CleanupStack::PopAndDestroy( stringArray );
  2120     CleanupStack::PopAndDestroy( stringArray );
  2140 // ---------------------------------------------------------------------------
  2126 // ---------------------------------------------------------------------------
  2141 // CIAUpdateUiController::ShowWaitDialogL
  2127 // CIAUpdateUiController::ShowWaitDialogL
  2142 // 
  2128 // 
  2143 // ---------------------------------------------------------------------------
  2129 // ---------------------------------------------------------------------------
  2144 //
  2130 //
  2145 void CIAUpdateUiController::ShowWaitDialogL( const TDesC& aDisplayString, 
  2131 void CIAUpdateUiController::ShowWaitDialogL( const QString& aDisplayString, 
  2146                                              TBool aVisibilityDelayOff ) 
  2132                                              TBool /*aVisibilityDelayOff*/ ) 
  2147     {
  2133     {
  2148     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowWaitDialogL() begin");
  2134     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowWaitDialogL() begin");
  2149 
  2135     if ( !mWaitDialog )
  2150     if ( iWaitDialog )
  2136         {
       
  2137         mWaitDialog = new IAUpdateWaitDialog();
       
  2138         mWaitDialog->SetCallback( this );
       
  2139         mWaitDialog->showDialog( aDisplayString );
       
  2140         }
       
  2141     
       
  2142     
       
  2143     
       
  2144     
       
  2145     /*if ( iWaitDialog )
  2151         {
  2146         {
  2152         IAUPDATE_TRACE("[IAUPDATE] Wait dialog already existed. Remove it first");
  2147         IAUPDATE_TRACE("[IAUPDATE] Wait dialog already existed. Remove it first");
  2153         // in some rare cases previous dialog still exists
  2148         // in some rare cases previous dialog still exists
  2154         // it's now just deleted (not recommended way) to avoid forwarding problem(s). 
  2149         // it's now just deleted (not recommended way) to avoid forwarding problem(s). 
  2155         delete iWaitDialog;
  2150         //delete iWaitDialog;
  2156         iWaitDialog = NULL;
  2151         iWaitDialog = NULL;
  2157         }
  2152         }*/
  2158     iWaitDialog = 
  2153  /*   iWaitDialog = 
  2159         new( ELeave ) CIAUpdateWaitDialog( 
  2154         new( ELeave ) CIAUpdateWaitDialog( 
  2160             reinterpret_cast< CEikDialog** >( &iWaitDialog ),
  2155             reinterpret_cast< CEikDialog** >( &iWaitDialog ),
  2161             aVisibilityDelayOff );
  2156             aVisibilityDelayOff );
  2162                 
  2157                 
  2163     iWaitDialog->SetTextL( aDisplayString );
  2158     iWaitDialog->SetTextL( aDisplayString );
  2164     iWaitDialog->SetCallback( this );        
  2159     iWaitDialog->SetCallback( this );        
  2165     iWaitDialog->ExecuteLD( R_IAUPDATE_WAIT_DIALOG );
  2160     iWaitDialog->ExecuteLD( R_IAUPDATE_WAIT_DIALOG ); */
  2166 
  2161 
  2167     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowWaitDialogL() end");
  2162     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowWaitDialogL() end");
  2168     }
  2163     }
  2169 
  2164 
  2170 
  2165 
  2171 // ---------------------------------------------------------------------------
  2166 // --------------------------------------------------------------------------
  2172 // CIAUpdateUiController::ShowProgressDialogL
  2167 // CIAUpdateUiController::ShowProgressDialogL
  2173 // 
  2168 // 
  2174 // ---------------------------------------------------------------------------
  2169 // ---------------------------------------------------------------------------
  2175 //
  2170 //
  2176 void CIAUpdateUiController::ShowProgressDialogL( const TDesC& aDisplayString, 
  2171 void CIAUpdateUiController::ShowProgressDialogL( const TDesC& /*aDisplayString*/, 
  2177                                                  TBool aVisibilityDelayOff ) 
  2172                                                  TBool /*aVisibilityDelayOff*/ ) 
  2178     {
  2173     {
  2179     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowProgressDialogL() begin");
  2174     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowProgressDialogL() begin");
  2180 
  2175 
  2181     if ( iProgressDialog )
  2176     if ( iProgressDialog )
  2182         {
  2177         {
  2183         IAUPDATE_TRACE("[IAUPDATE] Progress dialog already existed. Remove it first");
  2178         IAUPDATE_TRACE("[IAUPDATE] Progress dialog already existed. Remove it first");
  2184         // in some rare cases previous dialog still exists
  2179         // in some rare cases previous dialog still exists
  2185         // it's now just deleted (not recommended way) to avoid forwarding problem(s). 
  2180         // it's now just deleted (not recommended way) to avoid forwarding problem(s). 
  2186         delete iProgressDialog;
  2181         //delete iProgressDialog;
  2187         iProgressDialog = NULL;
  2182         iProgressDialog = NULL;
  2188         }
  2183         }
  2189     iProgressDialog = 
  2184 /*    iProgressDialog = 
  2190         new( ELeave ) CIAUpdateProgressDialog( 
  2185         new( ELeave ) CIAUpdateProgressDialog( 
  2191             reinterpret_cast< CEikDialog** >( &iProgressDialog ),
  2186             reinterpret_cast< CEikDialog** >( &iProgressDialog ),
  2192             aVisibilityDelayOff );
  2187             aVisibilityDelayOff );
  2193                 
  2188                 
  2194     iProgressDialog->SetTextL( aDisplayString );
  2189     iProgressDialog->SetTextL( aDisplayString );
  2195     iProgressDialog->SetCallback( this );        
  2190     iProgressDialog->SetCallback( this );        
  2196     iProgressDialog->ExecuteLD( R_IAUPDATE_PROGRESS_DIALOG );
  2191     iProgressDialog->ExecuteLD( R_IAUPDATE_PROGRESS_DIALOG ); */
  2197 
  2192 
  2198     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowProgressDialogL() end");
  2193     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowProgressDialogL() end");
  2199     }
  2194     }
  2200 
  2195 
  2201 
  2196 
  2221 // ---------------------------------------------------------------------------
  2216 // ---------------------------------------------------------------------------
  2222 //
  2217 //
  2223 void CIAUpdateUiController::RemoveWaitDialogL()
  2218 void CIAUpdateUiController::RemoveWaitDialogL()
  2224     {
  2219     {
  2225     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveWaitDialogL() begin");
  2220     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveWaitDialogL() begin");
       
  2221     if ( mWaitDialog )
       
  2222         {
       
  2223         mWaitDialog->close();  
       
  2224         }
       
  2225     /*if ( !iCancelling )  //that's needed because AVKON  in 3.2.3 wk12, returning
       
  2226                          //EFalse in TryToExitL() causes a crash   
       
  2227         {
       
  2228     	if ( iWaitDialog )
       
  2229             {
       
  2230     	    iWaitDialog->ProcessFinishedL();
       
  2231             }
       
  2232         }*/
       
  2233     
       
  2234 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveWaitDialogL() end");
       
  2235     }
       
  2236 
       
  2237 
       
  2238 // ---------------------------------------------------------------------------
       
  2239 // CIAUpdateUiController::RemoveProgressDialogL
       
  2240 // 
       
  2241 // ---------------------------------------------------------------------------
       
  2242 //
       
  2243 void CIAUpdateUiController::RemoveProgressDialogL()
       
  2244     {
       
  2245     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveProgressDialogL() begin");
  2226 
  2246 
  2227     if ( !iCancelling )  //that's needed because AVKON  in 3.2.3 wk12, returning
  2247     if ( !iCancelling )  //that's needed because AVKON  in 3.2.3 wk12, returning
  2228                          //EFalse in TryToExitL() causes a crash   
  2248                          //EFalse in TryToExitL() causes a crash   
  2229         {
  2249         {
  2230     	if ( iWaitDialog )
       
  2231             {
       
  2232     	    iWaitDialog->ProcessFinishedL();
       
  2233             }
       
  2234         }
       
  2235     
       
  2236 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveWaitDialogL() end");
       
  2237     }
       
  2238 
       
  2239 
       
  2240 // ---------------------------------------------------------------------------
       
  2241 // CIAUpdateUiController::RemoveProgressDialogL
       
  2242 // 
       
  2243 // ---------------------------------------------------------------------------
       
  2244 //
       
  2245 void CIAUpdateUiController::RemoveProgressDialogL()
       
  2246     {
       
  2247     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveProgressDialogL() begin");
       
  2248 
       
  2249     if ( !iCancelling )  //that's needed because AVKON  in 3.2.3 wk12, returning
       
  2250                          //EFalse in TryToExitL() causes a crash   
       
  2251         {
       
  2252     	if ( iProgressDialog )
  2250     	if ( iProgressDialog )
  2253             {
  2251             {
  2254     	    iProgressDialog->ProcessFinishedL();
  2252     	    //iProgressDialog->ProcessFinishedL();
  2255             }
  2253             }
  2256         }
  2254         }
  2257     
  2255     
  2258 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveProgressDialogL() end");
  2256 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::RemoveProgressDialogL() end");
  2259     }
  2257     }