iaupdate/IAD/ui/src/iaupdateuicontroller.cpp
branchGCC_SURGE
changeset 56 afe7195bb6c3
parent 53 ae54820ef82c
child 67 3a625661d1ce
equal deleted inserted replaced
41:0410b3201a77 56:afe7195bb6c3
    22 #include <centralrepository.h>
    22 #include <centralrepository.h>
    23 #include <SWInstDefs.h>
    23 #include <SWInstDefs.h>
    24 #include <featurecontrol.h>
    24 #include <featurecontrol.h>
    25 #include <cmmanager.h>
    25 #include <cmmanager.h>
    26 #include <qapplication.h>
    26 #include <qapplication.h>
    27 #include <hbmessagebox.h>
       
    28 #include <hbaction.h>
    27 #include <hbaction.h>
    29 #include <hbprogressdialog.h>
    28 #include <hbprogressdialog.h>
    30 #include <iaupdateparameters.h>
    29 #include <iaupdateparameters.h>
    31 
    30 
    32 #include "iaupdateuicontroller.h"
    31 #include "iaupdateuicontroller.h"
    57 #include "iaupdatefileconsts.h"
    56 #include "iaupdatefileconsts.h"
    58 #include "iaupdatefirsttimeinfo.h"
    57 #include "iaupdatefirsttimeinfo.h"
    59 #include "iaupdaterefreshhandler.h"
    58 #include "iaupdaterefreshhandler.h"
    60 #include "iaupdatenodeid.h"
    59 #include "iaupdatenodeid.h"
    61 #include "iaupdatewaitdialog.h"
    60 #include "iaupdatewaitdialog.h"
       
    61 #include "iaupdatedialogutil.h"
    62 #include "iaupdatedebug.h"
    62 #include "iaupdatedebug.h"
    63 
    63 
    64 
    64 
    65 // cenrep in emulator:
    65 // cenrep in emulator:
    66 // copy 2000F85A.txt to '\epoc32\release\winscw\udeb\Z\private\10202be9\'
    66 // copy 2000F85A.txt to '\epoc32\release\winscw\udeb\Z\private\10202be9\'
   260     delete iStarter;
   260     delete iStarter;
   261     delete iConfigData;
   261     delete iConfigData;
   262     delete iRoamingHandler;
   262     delete iRoamingHandler;
   263     delete iParams;
   263     delete iParams;
   264     delete iRefreshHandler;
   264     delete iRefreshHandler;
       
   265     delete mDialogUtil;
   265 
   266 
   266     // If dialogs have not been released yet, release them now.
   267     // If dialogs have not been released yet, release them now.
   267     // ProcessFinishedL() should normally be used for dialogs but
   268     // ProcessFinishedL() should normally be used for dialogs but
   268     // here just use non-leaving delete. In normal cases, dialogs should
   269     // here just use non-leaving delete. In normal cases, dialogs should
   269     // already be released in the end of the update flow before coming here.
   270     // already be released in the end of the update flow before coming here.
   307 // ---------------------------------------------------------------------------
   308 // ---------------------------------------------------------------------------
   308 //
   309 //
   309 void CIAUpdateUiController::CheckUpdatesL()
   310 void CIAUpdateUiController::CheckUpdatesL()
   310     {
   311     {
   311     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::CheckUpdatesL() begin");
   312     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::CheckUpdatesL() begin");
   312 
   313     
   313     iCountOfAvailableUpdates = 0;
   314     iCountOfAvailableUpdates = 0;
   314     
   315     
   315     if ( iParams )
   316     if ( iParams )
   316         {
   317         {
   317     	iFilter->SetFilterParams( iParams ); //iParams ownership is changed
   318     	iFilter->SetFilterParams( iParams ); //iParams ownership is changed
   318     	iParams = NULL;
   319     	iParams = NULL;
   319         }
   320         }
   320      
   321      
   321     TBool agreementAccepted( EFalse ); 
   322     TBool agreementAccepted( EFalse );
   322     if ( !ForcedRefresh() )
   323     if ( !ForcedRefresh() )
   323         {
   324         {
   324         CIAUpdateAgreement* agreement = CIAUpdateAgreement::NewLC();
   325         CIAUpdateAgreement* agreement = CIAUpdateAgreement::NewLC();
   325         agreementAccepted = agreement->AgreementAcceptedL();
   326         agreementAccepted = agreement->AgreementAcceptedL();
   326         if ( ( !agreementAccepted )&& ( iRequestType != IAUpdateUiDefines::ECheckUpdates ) )
   327         if ( ( !agreementAccepted )&& ( iRequestType != IAUpdateUiDefines::ECheckUpdates ) )
   328             // agreement (disclaimer) dialog is not prompted when CheckUpdates is called
   329             // agreement (disclaimer) dialog is not prompted when CheckUpdates is called
   329             //
   330             //
   330             // Refresh from network is allowed when first time case 
   331             // Refresh from network is allowed when first time case 
   331             iRefreshFromNetworkDenied = EFalse;
   332             iRefreshFromNetworkDenied = EFalse;
   332             agreementAccepted = agreement->AcceptAgreementL();  
   333             agreementAccepted = agreement->AcceptAgreementL();  
       
   334             if (!agreementAccepted)
       
   335                 {
       
   336                 if ( !mDialogUtil )
       
   337                     {
       
   338                     mDialogUtil = new IAUpdateDialogUtil(NULL, this);
       
   339                     }
       
   340                 if ( mDialogUtil )
       
   341                     {
       
   342                     mPrimaryAction = NULL;
       
   343                     mPrimaryAction = new HbAction("Accept");
       
   344                     HbAction *secondaryAction = NULL;
       
   345                     secondaryAction = new HbAction("Decline");
       
   346                     mDialogUtil->showAgreement(mPrimaryAction,secondaryAction);
       
   347                     iDialogState = EAgreement;
       
   348                     }
       
   349                 }
   333             }
   350             }
   334         CleanupStack::PopAndDestroy( agreement );
   351         CleanupStack::PopAndDestroy( agreement );
   335         }
   352         }
   336   	             
   353     if ( iDialogState != EAgreement )
       
   354         {
       
   355         AgreementHandledL();
       
   356         }
       
   357     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::CheckUpdatesL() end");
       
   358     return;
       
   359     }
       
   360 
       
   361 // ---------------------------------------------------------------------------
       
   362 // CIAUpdateUiController:: AgreementHandledL
       
   363 // Updates the update item list.
       
   364 // ---------------------------------------------------------------------------
       
   365 //
       
   366 void CIAUpdateUiController::AgreementHandledL()
       
   367     {
       
   368     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::AgreementHandledL() begin");
       
   369     TBool agreementAccepted( EFalse );
       
   370     CIAUpdateAgreement* agreement = CIAUpdateAgreement::NewLC();
       
   371     agreementAccepted = agreement->AgreementAcceptedL();
       
   372     CleanupStack::PopAndDestroy( agreement );        
   337     if ( !agreementAccepted && !ForcedRefresh() )
   373     if ( !agreementAccepted && !ForcedRefresh() )
   338         {
   374         {
   339         if ( iRequestType == IAUpdateUiDefines::ECheckUpdates )
   375         if ( iRequestType == IAUpdateUiDefines::ECheckUpdates )
   340             {
   376             {
   341             CIAUpdateAutomaticCheck* automaticCheck = CIAUpdateAutomaticCheck::NewLC();
   377             CIAUpdateAutomaticCheck* automaticCheck = CIAUpdateAutomaticCheck::NewLC();
   393             // and new startup should not be called. Also, leave in that case.
   429             // and new startup should not be called. Also, leave in that case.
   394             User::LeaveIfError( ret );	
   430             User::LeaveIfError( ret );	
   395             }	
   431             }	
   396         }
   432         }
   397 
   433 
   398     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::CheckUpdatesL() end");
   434     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::AgreementHandledL() end");
   399     }
   435     }
   400 
   436 
   401 
   437 
   402 // ---------------------------------------------------------------------------
   438 // ---------------------------------------------------------------------------
   403 // CIAUpdateUiController::StartUpdateL
   439 // CIAUpdateUiController::StartUpdateL
   415 
   451 
   416     CreateSelectedNodesArrayL();
   452     CreateSelectedNodesArrayL();
   417                 
   453                 
   418     if ( !IAUpdateUtils::SpaceAvailableInInternalDrivesL( iSelectedNodesArray ) )
   454     if ( !IAUpdateUtils::SpaceAvailableInInternalDrivesL( iSelectedNodesArray ) )
   419         {
   455         {
   420             HbMessageBox messageBox(HbMessageBox::MessageTypeInformation); 
   456         if ( !mDialogUtil )
   421             messageBox.setText(QString("Insufficient memory. Free some memory and try again."));
   457             {
   422             HbAction action("OK");
   458             mDialogUtil = new IAUpdateDialogUtil(NULL, this);
   423             messageBox.setPrimaryAction(&action);
   459             }
   424             messageBox.setTimeout(HbPopup::NoTimeout);
   460         if ( mDialogUtil )
   425             messageBox.show();
   461             {
   426             //messageBox.exec();
   462             mPrimaryAction = NULL;
       
   463             mPrimaryAction = new HbAction("OK");
       
   464             mDialogUtil->showInformation(QString("Insufficient memory. Free some memory and try again."), mPrimaryAction);
       
   465             iDialogState = EInsufficientMemory;
       
   466             }
   427         }
   467         }
   428     else
   468     else
   429         {
   469         {
   430         if ( !IsStartedByLauncher() )
   470         if ( !IsStartedByLauncher() )
   431             {
   471             {
   440             }
   480             }
   441         // Inform the controller that we are now starting updates. This way the
   481         // Inform the controller that we are now starting updates. This way the
   442         // controller can handle situations as a whole and not as one item at the
   482         // controller can handle situations as a whole and not as one item at the
   443         // time.
   483         // time.
   444         iController->StartingUpdatesL();
   484         iController->StartingUpdatesL();
   445             
   485         
       
   486         //Store current node list before update
       
   487         iFilter->StoreNodeListL( iNodes );
       
   488         
       
   489         iFilter->SortSelectedNodesFirstL( iSelectedNodesArray, iNodes );
       
   490                     
   446         iFileInUseError = EFalse;
   491         iFileInUseError = EFalse;
   447         // Set the node index to -1 because ContinueUpdateL increases it by one
   492         // Set the node index to -1 because ContinueUpdateL increases it by one
   448         // in the beginning of the function. So, we can use the ContinueUpdateL
   493         // in the beginning of the function. So, we can use the ContinueUpdateL
   449         // also in here.
   494         // also in here.
   450         iNodeIndex = -1;
   495         iNodeIndex = -1;
   504             MIAUpdateNode* selectedNode = iSelectedNodesArray[ iNodeIndex ];
   549             MIAUpdateNode* selectedNode = iSelectedNodesArray[ iNodeIndex ];
   505 
   550 
   506             // Only update items that have not been installed yet.
   551             // Only update items that have not been installed yet.
   507             if ( !selectedNode->IsInstalled() )
   552             if ( !selectedNode->IsInstalled() )
   508                 {
   553                 {
   509                 IAUPDATE_TRACE("[IAUPDATE] Item not installed yet");    
   554                 IAUPDATE_TRACE("[IAUPDATE] Item not installed yet"); 
       
   555                 iFilter->SortThisNodeFirstL( selectedNode, iNodes );
   510                 if ( !selectedNode->IsDownloaded() )
   556                 if ( !selectedNode->IsDownloaded() )
   511                     {
   557                     {
   512                     // Because content has not been downloaded or installed yet,
   558                     // Because content has not been downloaded or installed yet,
   513                     // it needs to be downloaded before it can be installed.
   559                     // it needs to be downloaded before it can be installed.
   514                     IAUPDATE_TRACE("[IAUPDATE] Download");
   560                     IAUPDATE_TRACE("[IAUPDATE] Download");
   515                     selectedNode->DownloadL( *this );
   561                     selectedNode->DownloadL( *this );
   516                     iState = EDownloading;
   562                     iState = EDownloading;
   517                     iClosingAllowedByClient = ETrue;
   563                     iClosingAllowedByClient = ETrue;
   518                     selectedNode->SetDownloading( ETrue);
   564                     selectedNode->SetUiState( MIAUpdateNode::EDownloading );
   519                     /*ShowUpdatingDialogL( R_IAUPDATE_DOWNLOADING_NOTE,
   565                     iObserver.RefreshUI();
   520                                          selectedNode->Base().Name(),
       
   521                                          iNodeIndex + 1,
       
   522                                          iSelectedNodesArray.Count() );*/ 
       
   523                     nextUpdate = EFalse;
   566                     nextUpdate = EFalse;
   524                     }
   567                     }
   525                 else
   568                 else
   526                     {
   569                     {
   527                     // Because content has been downloaded but not installed yet,
   570                     // Because content has been downloaded but not installed yet,
   528                     // it needs to be installed now.
   571                     // it needs to be installed now.
   529                     IAUPDATE_TRACE("[IAUPDATE] Install");
   572                     IAUPDATE_TRACE("[IAUPDATE] Install");
   530                     selectedNode->InstallL( *this );
   573                     selectedNode->InstallL( *this );
   531                     iState = EInstalling;
   574                     iState = EInstalling;
   532                     iClosingAllowedByClient = EFalse;
   575                     iClosingAllowedByClient = EFalse;
   533                     /*CIAUpdateAppUi* appUi = 
   576                     selectedNode->SetUiState( MIAUpdateNode::EInstalling );
   534                         static_cast< CIAUpdateAppUi* >( iEikEnv->EikAppUi() );
   577                     iObserver.RefreshUI();
   535                     appUi->StartWGListChangeMonitoring();
       
   536                     ShowUpdatingDialogL( R_IAUPDATE_INSTALLING_NOTE,
       
   537                                          selectedNode->Base().Name(),
       
   538                                          iNodeIndex + 1,
       
   539                                          iSelectedNodesArray.Count() ); */
       
   540                     nextUpdate = EFalse;                     
   578                     nextUpdate = EFalse;                     
   541                     }      
   579                     }      
   542                 }
   580                 }
   543             }
   581             }
   544         else
   582         else
   568         aNode.GetDependenciesL( iServicePackNodes, ETrue );
   606         aNode.GetDependenciesL( iServicePackNodes, ETrue );
   569         }
   607         }
   570             
   608             
   571     aNode.InstallL( *this );
   609     aNode.InstallL( *this );
   572     iState = EInstalling;
   610     iState = EInstalling;
   573     /*CIAUpdateAppUi* appUi = static_cast<CIAUpdateAppUi*>( iEikEnv->EikAppUi() );
   611     aNode.SetUiState( MIAUpdateNode::EInstalling );
   574     appUi->StartWGListChangeMonitoring();
   612     iObserver.RefreshUI();
   575     iClosingAllowedByClient = EFalse;
   613         
   576     ShowUpdatingDialogL( R_IAUPDATE_INSTALLING_NOTE,
       
   577                          aNode.Base().Name(),
       
   578                          iNodeIndex + 1,
       
   579                          iSelectedNodesArray.Count()  ); */
       
   580     
       
   581 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::StartInstallL() end");
   614 	IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::StartInstallL() end");
   582     }
   615     }
   583 
   616 
   584     
   617     
   585 // ---------------------------------------------------------------------------
   618 // ---------------------------------------------------------------------------
  1547     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::HandleWaitDialogCancel() end");
  1580     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::HandleWaitDialogCancel() end");
  1548 
  1581 
  1549     }
  1582     }
  1550 
  1583 
  1551 // -----------------------------------------------------------------------------
  1584 // -----------------------------------------------------------------------------
       
  1585 // CIAUpdateUiController::dialogFinished
       
  1586 // Called when dialog is finished.
       
  1587 // -----------------------------------------------------------------------------
       
  1588 //
       
  1589 void CIAUpdateUiController::dialogFinished(HbAction *action)
       
  1590     {
       
  1591     TDialogState dialogState = iDialogState;
       
  1592     iDialogState = ENoDialog;
       
  1593     
       
  1594     switch ( dialogState )
       
  1595         {
       
  1596         case EAgreement:
       
  1597             if ( action == mPrimaryAction )
       
  1598                  {
       
  1599                 CIAUpdateAgreement* agreement = CIAUpdateAgreement::NewLC();
       
  1600                 agreement->SetAgreementAcceptedL();
       
  1601 
       
  1602                 CleanupStack::PopAndDestroy(agreement);
       
  1603                 }
       
  1604             AgreementHandledL();        
       
  1605             break;
       
  1606         case EInsufficientMemory:    
       
  1607             break;
       
  1608         default: 
       
  1609             break;
       
  1610         }
       
  1611     }
       
  1612 
       
  1613 // -----------------------------------------------------------------------------
  1552 // CIAUpdateUiController::HandleUiRefreshL
  1614 // CIAUpdateUiController::HandleUiRefreshL
  1553 // 
  1615 // 
  1554 // -----------------------------------------------------------------------------
  1616 // -----------------------------------------------------------------------------
  1555 //
  1617 //
  1556 void CIAUpdateUiController::HandleUiRefreshL()
  1618 void CIAUpdateUiController::HandleUiRefreshL()
  1580                 nodeId->SetSelected( node->Base().IsSelected() );
  1642                 nodeId->SetSelected( node->Base().IsSelected() );
  1581                 iPreviousSelections.AppendL( nodeId );
  1643                 iPreviousSelections.AppendL( nodeId );
  1582                 CleanupStack::Pop( nodeId );
  1644                 CleanupStack::Pop( nodeId );
  1583                 
  1645                 
  1584                 }
  1646                 }
  1585 
  1647             
  1586             if ( iFwNodes.Count() > 0 )
  1648 	    	for ( TInt j = 0; j < iFwNodes.Count(); ++j )
  1587                 {
  1649                 {
  1588                 MIAUpdateFwNode* fwNode( iFwNodes[ 0 ] );
  1650                 MIAUpdateFwNode* fwNode( iFwNodes[ j ] );
  1589                 CIAUpdateNodeId* nodeId = CIAUpdateNodeId::NewLC();
  1651                 CIAUpdateNodeId* nodeId = CIAUpdateNodeId::NewLC();
  1590                 nodeId->SetIdL( fwNode->Base().MetaId() );
  1652                 nodeId->SetIdL( fwNode->Base().MetaId() );
  1591                 nodeId->SetNamespaceL( fwNode->Base().MetaNamespace() );
  1653                 nodeId->SetNamespaceL( fwNode->Base().MetaNamespace() );
  1592                 nodeId->SetNodeType( MIAUpdateAnyNode::ENodeTypeFw );
  1654                 nodeId->SetNodeType( MIAUpdateAnyNode::ENodeTypeFw );
  1593                 nodeId->SetSelected( fwNode->Base().IsSelected() );
  1655                 nodeId->SetSelected( fwNode->Base().IsSelected() );
  1866                                               TInt aError )    
  1928                                               TInt aError )    
  1867     {
  1929     {
  1868     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::InstallCompleteL() begin");
  1930     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::InstallCompleteL() begin");
  1869     IAUPDATE_TRACE_1("[IAUPDATE] error code: %d", aError );
  1931     IAUPDATE_TRACE_1("[IAUPDATE] error code: %d", aError );
  1870 
  1932 
  1871     // In release mode, we do not need the aError info, because
  1933     if ( aError == KErrNone )
  1872     // success counters are counted by using the last operation error info
  1934         {
  1873     // when counter info is asked. In debug mode the error code is logged above.
  1935         aNode.SetUiState( MIAUpdateNode::EUpdated );   
  1874     (void)aError;
  1936         iObserver.RefreshUI();
       
  1937         }
       
  1938     else
       
  1939         {
       
  1940         aNode.SetUiState( MIAUpdateNode::EFailed );
       
  1941         iObserver.RefreshUI();
       
  1942         }
  1875     
  1943     
  1876     // pass UID of installed package to starter
  1944     // pass UID of installed package to starter
  1877     if ( iStarter )
  1945     if ( iStarter )
  1878         {
  1946         {
  1879     	if ( aNode.Type() == MIAUpdateNode::EPackageTypeServicePack )
  1947     	if ( aNode.Type() == MIAUpdateNode::EPackageTypeServicePack )
  1914     {
  1982     {
  1915     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::UpdateCompleteL() begin");
  1983     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::UpdateCompleteL() begin");
  1916 
  1984 
  1917     iState = EIdle;
  1985     iState = EIdle;
  1918     iClosingAllowedByClient = EFalse;
  1986     iClosingAllowedByClient = EFalse;
  1919 
  1987        
  1920     // Remove installed nodes from the node array.
       
  1921 	for ( TInt i = iNodes.Count() - 1; i >= 0; --i ) 
       
  1922         {   
       
  1923         MIAUpdateNode* node = iNodes[ i ];
       
  1924         if ( node->IsInstalled() ) 
       
  1925             {
       
  1926             iNodes.Remove( i );
       
  1927             }
       
  1928         }
       
  1929     
       
  1930     TInt error( aError );
  1988     TInt error( aError );
  1931     TBool selfUpdaterStarted( EFalse );
  1989     TBool selfUpdaterStarted( EFalse );
  1932 
  1990 
  1933     if ( error == KErrNone )
  1991     if ( error == KErrNone )
  1934         {
  1992         {
  1983         // Notice, that in case of cancellations there would not be any need
  2041         // Notice, that in case of cancellations there would not be any need
  1984         // for timer. But just use it as in normal cases. Then, server report
  2042         // for timer. But just use it as in normal cases. Then, server report
  1985         // completion or timer will call the callback later. But, that callback
  2043         // completion or timer will call the callback later. But, that callback
  1986         // will be ignored in CIAUpdateUiController::ServerReportSent because
  2044         // will be ignored in CIAUpdateUiController::ServerReportSent because
  1987         // iState is already then changed from ESendingReport to something else. 
  2045         // iState is already then changed from ESendingReport to something else. 
  1988         const TInt KServerReportMaxWaitTime( 10000000 );
  2046         
  1989         iController->FinishedUpdatesL( ETrue, KServerReportMaxWaitTime );
  2047         //const TInt KServerReportMaxWaitTime( 10000000 );         //Commented TEMP 
  1990         iState = ESendingReport;
  2048         //iController->FinishedUpdatesL( ETrue, KServerReportMaxWaitTime ); //Commented TEMP
       
  2049         //iState = ESendingReport;  //Commented temporarily
       
  2050         EndUpdateFlowL( KErrNone );  //TEMP
       
  2051         return;                      //TEMP  
  1991         }
  2052         }
  1992 
  2053 
  1993     // When reports are sent, EndUpdateFlowL is called via the callback functions
  2054     // When reports are sent, EndUpdateFlowL is called via the callback functions
  1994     // and the update flow will be finished there. But, if we come here when cancel
  2055     // and the update flow will be finished there. But, if we come here when cancel
  1995     // is pressed, then call EndUpdateFlowL directly because then we do not wait
  2056     // is pressed, then call EndUpdateFlowL directly because then we do not wait
  2083 // ---------------------------------------------------------------------------
  2144 // ---------------------------------------------------------------------------
  2084 // CIAUpdateUiController::ShowUpdatingDialogL
  2145 // CIAUpdateUiController::ShowUpdatingDialogL
  2085 // 
  2146 // 
  2086 // ---------------------------------------------------------------------------
  2147 // ---------------------------------------------------------------------------
  2087 //
  2148 //
  2088 void CIAUpdateUiController::ShowUpdatingDialogL( TInt /*aTextResourceId*/,
  2149 /*
       
  2150 void CIAUpdateUiController::ShowUpdatingDialogL( TInt aTextResourceId,
  2089                                                  const TDesC& aName,
  2151                                                  const TDesC& aName,
  2090                                                  TInt aNumber,
  2152                                                  TInt aNumber,
  2091                                                  TInt aTotalCount )   
  2153                                                  TInt aTotalCount )   
  2092                                                     
  2154                                                     
  2093     {
  2155     {
  2122     CleanupStack::PopAndDestroy( noteText ); 
  2184     CleanupStack::PopAndDestroy( noteText ); 
  2123     CleanupStack::PopAndDestroy( numberArray );
  2185     CleanupStack::PopAndDestroy( numberArray );
  2124     CleanupStack::PopAndDestroy( stringArray );
  2186     CleanupStack::PopAndDestroy( stringArray );
  2125 
  2187 
  2126     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowUpdatingDialogL() end");
  2188     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::ShowUpdatingDialogL() end");
  2127     }
  2189     }*/
  2128  
  2190  
  2129 
  2191 
  2130 // ---------------------------------------------------------------------------
  2192 // ---------------------------------------------------------------------------
  2131 // CIAUpdateUiController::ShowWaitDialogL
  2193 // CIAUpdateUiController::ShowWaitDialogL
  2132 // 
  2194 // 
  2655     {
  2717     {
  2656     iForcedRefresh = aForcedRefresh;
  2718     iForcedRefresh = aForcedRefresh;
  2657     }
  2719     }
  2658 
  2720 
  2659 // ---------------------------------------------------------------------------
  2721 // ---------------------------------------------------------------------------
       
  2722 // CIAUpdateUiController::RefreshNodeList
       
  2723 // 
       
  2724 // ---------------------------------------------------------------------------
       
  2725 //
       
  2726 void CIAUpdateUiController::RefreshNodeList()
       
  2727     {
       
  2728     // Restore list after update, that nodes are shown in original sequence
       
  2729     iFilter->RestoreNodeListL( iNodes );
       
  2730     // Remove installed nodes from the node array.
       
  2731     // Set temp UI state to normal for remaining nodes 
       
  2732     for ( TInt i = iNodes.Count() - 1; i >= 0; --i ) 
       
  2733         {   
       
  2734         MIAUpdateNode* node = iNodes[ i ];
       
  2735         if ( node->IsInstalled() ) 
       
  2736             {
       
  2737             iNodes.Remove( i );
       
  2738             }
       
  2739         else
       
  2740             {
       
  2741             node->SetUiState( MIAUpdateNode::ENormal );        
       
  2742             }
       
  2743         }
       
  2744     }
       
  2745 
       
  2746 
       
  2747 // ---------------------------------------------------------------------------
  2660 // CIAUpdateUiController::ParamsWriteFileL
  2748 // CIAUpdateUiController::ParamsWriteFileL
  2661 // 
  2749 // 
  2662 // ---------------------------------------------------------------------------
  2750 // ---------------------------------------------------------------------------
  2663 //  
  2751 //  
  2664 void CIAUpdateUiController::ParamsWriteFileL()
  2752 void CIAUpdateUiController::ParamsWriteFileL()