--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxappinfo.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/Sisx/src/appmngr2sisxappinfo.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 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"
@@ -235,13 +235,14 @@
{
FLOG( "CAppMngr2SisxAppInfo::ConstructL()" );
CAppMngr2AppInfo::ConstructL(); // base construct
-
+
iAppUid = aEntry.UidL();
FLOG( "CAppMngr2SisxAppInfo::ConstructL, iAppUid = 0x%08x", iAppUid.iUid );
iName = aEntry.PackageNameL();
FLOG( "CAppMngr2SisxAppInfo::ConstructL, iName = %S", iName );
iDetails = SizeStringWithUnitsL( aEntry.SizeL() );
- FLOG( "CAppMngr2SisxAppInfo::ConstructL, iDetails = %S", iDetails );
+ FLOG( "CAppMngr2SisxAppInfo::ConstructL, aEntry.SizeL() = %Ld, iDetails = %S",
+ aEntry.SizeL(), iDetails );
TUint drivesMask = aEntry.InstalledDrivesL();
if( drivesMask )
@@ -263,7 +264,7 @@
iVersion = aEntry.VersionL();
iVendor = aEntry.LocalizedVendorNameL();
-
+
iIsAugmentation = aEntry.IsAugmentationL();
if( iIsAugmentation )
{
@@ -272,7 +273,7 @@
delete pkg;
}
- Swi::TSisPackageTrust trustLevel = aEntry.TrustL();
+ Swi::TSisPackageTrust trustLevel = aEntry.TrustL();
if( trustLevel >= Swi::ESisPackageCertificateChainValidatedToTrustAnchor )
{
iIsTrusted = ETrue;
@@ -296,8 +297,8 @@
FLOG( "CAppMngr2SisxAppInfo::ConstructL, protected file %S", fileName );
iProtectedFile = fileName; // takes ownership
files.Remove( fileIndex );
- iIsRightsObjectMissingOrExpired =
- TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL( *fileName );
+ iIsRightsObjectMissingOrExpired =
+ TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL( *fileName );
}
}
CleanupStack::PopAndDestroy( &files );
@@ -316,21 +317,21 @@
{
FLOG( "CAppMngr2SisxAppInfo::ShowDetailsL()" );
TRAP_IGNORE( ReadCertificatesL() );
-
+
CAppMngr2SisxInfoIterator* iterator = CAppMngr2SisxInfoIterator::NewL( *this,
EAppMngr2StatusInstalled );
CleanupStack::PushL( iterator );
-
+
SwiUI::CommonUI::CCUIDetailsDialog* details = SwiUI::CommonUI::CCUIDetailsDialog::NewL();
FLOG( "CAppMngr2SisxAppInfo::ShowDetailsL, isDRM %d, noRightsObj %d, CertCount %d",
iIsDRMProtected, iIsRightsObjectMissingOrExpired, iCertificates.Count() );
-
+
if( iIsDRMProtected && !iIsRightsObjectMissingOrExpired )
{
RFile fileHandle;
TInt err = fileHandle.Open( iFs, *iProtectedFile, EFileShareReadersOnly | EFileRead );
CleanupClosePushL( fileHandle );
-
+
if( iCertificates.Count() )
{
details->ExecuteLD( *iterator, iCertificates, fileHandle );
@@ -353,7 +354,7 @@
details->ExecuteLD( *iterator );
}
}
-
+
CleanupStack::PopAndDestroy( iterator );
}
@@ -366,7 +367,7 @@
if( !iCertsRead )
{
FLOG_PERF_STATIC_BEGIN( SisxAppInfo_ReadCerts );
-
+
Swi::RSisRegistrySession regSession;
CleanupClosePushL( regSession );
User::LeaveIfError( regSession.Connect() );
@@ -400,7 +401,7 @@
CleanupStack::PopAndDestroy( &entry );
CleanupStack::PopAndDestroy( ®Session );
iCertsRead = ETrue;
-
+
FLOG_PERF_STATIC_END( SisxAppInfo_ReadCerts )
}
}
@@ -424,14 +425,14 @@
{
User::Leave( KErrInUse );
}
-
+
if( iIsAugmentation )
{
FLOG( "CAppMngr2SisxAppInfo::HandleUninstallL, is augmentation" );
SwiUI::TOpUninstallIndexParam params;
params.iUid = iAppUid;
params.iIndex = iAugmentationIndex;
-
+
SwiUI::TOpUninstallIndexParamPckg pckg( params );
if( iSWInstLauncherCustomUninstallParams )
{
Binary file appinstaller/AppMngr2/help/data/xhtml.zip has changed
--- a/appinstaller/AppMngr2/help/inc/am.hlp.hrh Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/help/inc/am.hlp.hrh Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 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"
@@ -10,8 +10,8 @@
* Nokia Corporation - initial contribution.
*
* Contributors:
-*
-* Description:
+*
+* Description:
*
*/
--- a/appinstaller/AppMngr2/inc/appmngr2model.h Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/inc/appmngr2model.h Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -52,15 +52,15 @@
public: // new functions
TInt AppInfoCount() const;
- CAppMngr2AppInfo& AppInfo( TInt aIndex ) const;
+ CAppMngr2AppInfo& AppInfo( TInt aIndex ) const;
TInt PackageInfoCount() const;
- CAppMngr2PackageInfo& PackageInfo( TInt aIndex ) const;
+ CAppMngr2PackageInfo& PackageInfo( TInt aIndex ) const;
void LoadIconsL( CAknIconArray& aIconArray );
void GetIconIndexesL( TUid aUid, TInt& aIconIndexBase, TInt& aIconIndexMax ) const;
void HandleCommandL( CAppMngr2InfoBase& aInfo, TInt aCommand );
void StartFetchingInstallationFilesL();
void StartFetchingInstalledAppsL();
-
+
protected: // from CActive
void DoCancel();
void RunL();
@@ -68,7 +68,7 @@
public: // from MAppMngr2RuntimeObserver
void RefreshInstalledApps();
void RefreshInstallationFiles();
-
+
public: // from MAppMngr2ScannerObserver
void ScanningResultL( RPointerArray<CAppMngr2RecognizedFile>& aResult );
void ScanningComplete();
@@ -87,7 +87,7 @@
public: // from MAppMngr2InfoArrayObserver
void ArrayContentChanged( CAppMngr2InfoArray* aArray, TInt aMoreRefreshesExpected );
-
+
private: // new functions
CAppMngr2Model( RFs& aFsSession, MAppMngr2ModelObserver& aObserver );
void ConstructL();
@@ -110,7 +110,9 @@
CAppMngr2InfoBase* iActiveItem; // not owned
TInt iActiveCommand;
TBool iClosing;
-
+ TBool iFetchingInstallationFiles;
+ TBool iFetchingInstalledApps;
+
FLOG_PERF_DEFINE( FetchInstallationFiles )
FLOG_PERF_DEFINE( FetchInstalledApps )
};
--- a/appinstaller/AppMngr2/src/appmngr2appui.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/src/appmngr2appui.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -49,7 +49,7 @@
wsSession.ComputeMode( RWsSession::EPriorityControlDisabled );
FeatureManager::InitializeLibL();
-
+
TFileName* fullName = TAppMngr2DriveUtils::NearestResourceFileLC(
KSWInstCommonUIResourceFileName, iEikonEnv->FsSession() );
FLOG( "CAppMngr2AppUi::ConstructL, opening %S", fullName );
@@ -58,7 +58,7 @@
FLOG( "CAppMngr2AppUi::ConstructL, creting model" );
iModel = CAppMngr2Model::NewL( iEikonEnv->FsSession(), *this );
-
+
FLOG( "CAppMngr2AppUi::ConstructL, creting views" );
CAppMngr2InstalledView* installedView = CAppMngr2InstalledView::NewL();
AddViewL( installedView ); // takes ownership
@@ -92,7 +92,7 @@
{
ActivateLocalViewL( KInstalledViewId );
}
-
+
FLOG( "CAppMngr2AppUi::ConstructL, starting delayed construct" );
iIdle = CIdle::NewL( CActive::EPriorityStandard );
iIdle->Start( TCallBack( &CAppMngr2AppUi::DelayedConstructL, this ) );
@@ -180,35 +180,20 @@
CAppMngr2AppUi* self = static_cast<CAppMngr2AppUi*>( aSelf );
FLOG( "CAppMngr2AppUi::DelayedConstructL, step %d",
self->iDelayedConstructionStep );
- switch( self->iDelayedConstructionStep )
- {
- case EFirstStep:
- if( self->iConstructInstallationFilesFirst )
- {
- self->iModel->StartFetchingInstallationFilesL();
- }
- else
- {
- self->iModel->StartFetchingInstalledAppsL();
- }
- self->iDelayedConstructionStep = ESecondStep;
- return ETrue; // call DelayedConstruct again
- case ESecondStep:
- if( self->iConstructInstallationFilesFirst )
- {
- self->iModel->StartFetchingInstalledAppsL();
- }
- else
- {
- self->iModel->StartFetchingInstallationFilesL();
- }
- self->iDelayedConstructionStep = EAllDone;
- break;
-
- default:
- break;
+ // Only necessary part of the model is constructed. AppMngr2 runs
+ // as embedded application in Control panel. It is started either
+ // to display installed applications, or installation files.
+ if( self->iConstructInstallationFilesFirst )
+ {
+ self->iModel->StartFetchingInstallationFilesL();
}
+ else
+ {
+ self->iModel->StartFetchingInstalledAppsL();
+ }
+
+ self->iDelayedConstructionStep = EAllDone;
}
return EFalse; // all done
}
--- a/appinstaller/AppMngr2/src/appmngr2filerecognizer.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/src/appmngr2filerecognizer.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -200,10 +200,10 @@
HBufC* mimeType = HBufC::NewLC( KMaxDataTypeLength );
TPtr mimePtr( mimeType->Des() );
- content->GetStringAttribute( ContentAccess::EMimeType, mimePtr );
-
+ User::LeaveIfError( content->GetStringAttribute( ContentAccess::EMimeType, mimePtr ) );
+
CAppMngr2RecognizedFile* recFile = CAppMngr2RecognizedFile::NewL( fullName, mimeType );
- CleanupStack::Pop( mimeType );
+ CleanupStack::Pop( mimeType ); // CAppMngr2RecognizedFile takes ownership
CleanupStack::PopAndDestroy( content );
CleanupStack::Pop( fullName );
--- a/appinstaller/AppMngr2/src/appmngr2listcontainer.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/src/appmngr2listcontainer.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -64,7 +64,7 @@
TKeyResponse CAppMngr2ListContainer::OfferKeyEventL(
const TKeyEvent& aKeyEvent, TEventCode aType )
{
- TKeyResponse response = iListBox->OfferKeyEventL( aKeyEvent, aType );
+ TKeyResponse response = iListBox->OfferKeyEventL( aKeyEvent, aType );
if( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow )
{
iView.UpdateMiddleSoftkeyCommandL();
@@ -178,8 +178,9 @@
void CAppMngr2ListContainer::RefreshL( TBool aPreserveSelectedItem,
TBool& aSelectedItemChanged, TInt aMoreRefreshesExpected )
{
- FLOG( "CAppMngr2ListContainer::RefreshL( %d )", aPreserveSelectedItem );
-
+ FLOG( "CAppMngr2ListContainer::RefreshL( %d %d %d ) begin",
+ aPreserveSelectedItem, aSelectedItemChanged, aMoreRefreshesExpected );
+
// Record the item text of the current item if selection must be preserved in
// the current item. The item text is used to identify the item later, so that
// it can be selected again.
@@ -195,7 +196,7 @@
CreateItemArrayL(); // resets the item array
PopulateItemArrayL(); // fills in new items
iListBox->HandleItemAdditionL(); // re-calculates size and scrollbar
-
+
// If selection must be preserved, search the item in new item array
// and select it again. Make sure to delete itemText if it was allocated.
TBool currentItemSet = EFalse;
@@ -212,7 +213,7 @@
}
CleanupStack::PopAndDestroy( itemText );
}
-
+
// If item is not found (it may have been deleted), then tell to the
// caller that the selected item was changed and select another item
// from the same row number than the previously selected item.
@@ -232,6 +233,8 @@
iListBox->SetCurrentItemIndex( currentItemIndex );
}
}
+
+ FLOG( "CAppMngr2ListContainer::RefreshL() end" );
}
// ---------------------------------------------------------------------------
@@ -246,19 +249,19 @@
iListBox->SetContainerWindowL( *this );
iListBox->ConstructL( this, EAknListBoxSelectionList );
iListBox->SetListBoxObserver( this );
-
+
// Dont display default "(no data)" empty text
iListBox->View()->SetListEmptyTextL( KNullDesC );
LoadIconsL();
CreateItemArrayL();
PopulateItemArrayL();
-
+
iListBox->CreateScrollBarFrameL();
iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
iListBox->SetRect( aRect.Size() );
-
+
// Enable marquee effect
iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
}
@@ -311,10 +314,10 @@
void CAppMngr2ListContainer::PopulateItemArrayL()
{
FLOG( "CAppMngr2ListContainer::PopulateItemArrayL()" );
-
+
CArrayPtr<CGulIcon>* iconArray = iListBox->ItemDrawer()->ColumnData()->IconArray();
DeleteItemSpecificIcons( *iconArray );
-
+
TInt count = ItemCount();
for( TInt index = 0; index < count; index++ )
{
@@ -329,10 +332,10 @@
TInt iconIndexMax;
Model().GetIconIndexesL( appInfo.Runtime().RuntimeUid(),
iconIndexBase, iconIndexMax );
-
+
// Get list icon index from plugin
TInt iconIndex = appInfo.IconIndex();
-
+
// Convert index into the range of 0 .. (icons - 1)
if( iconIndex == EAppMngr2UseSpecificIcon )
{
@@ -366,7 +369,7 @@
iconIndex = EAppMngr2IconIndex_QgnPropUnknown;
}
}
- // Sanity check - index must be in range, otherwise list panics
+ // Sanity check - index must be in range, otherwise list panics
if( iconIndex < 0 || iconIndex >= iconArray->Count() )
{
iconIndex = EAppMngr2IconIndex_QgnPropUnknown;
@@ -374,7 +377,7 @@
// Get indicator icon index from plugin
TInt indIconIndex = appInfo.IndicatorIconIndex();
-
+
// Convert indicator icon index into the range of 0 .. (icons-1) or
// leave special value EAppMngr2NoIndicatorIcon in it
if( indIconIndex == EAppMngr2UseSpecificIcon )
--- a/appinstaller/AppMngr2/src/appmngr2listview.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/src/appmngr2listview.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -45,24 +45,24 @@
// ======== MEMBER FUNCTIONS ========
// ---------------------------------------------------------------------------
-// CAppMngr2ListView::ConstructL()
+// CAppMngr2ListView::ConstructL()
// ---------------------------------------------------------------------------
//
void CAppMngr2ListView::ConstructL( TInt aResourceId )
{
FLOG( "CAppMngr2ListView::ConstructL( 0x%08x )", aResourceId );
-
+
BaseConstructL( aResourceId );
}
// ---------------------------------------------------------------------------
-// CAppMngr2ListView::~CAppMngr2ListView()
+// CAppMngr2ListView::~CAppMngr2ListView()
// ---------------------------------------------------------------------------
//
CAppMngr2ListView::~CAppMngr2ListView()
{
FLOG( "CAppMngr2ListView::~CAppMngr2ListView" );
-
+
if( iContainer )
{
AppUi()->RemoveFromViewStack( *this, iContainer );
@@ -79,6 +79,8 @@
{
if( iContainer )
{
+ FLOG( "CAppMngr2ListView::RefreshL( %d ) begin", aMoreRefreshesExpected );
+
TBool selectedItemChanged = EFalse;
iContainer->RefreshL( iMaintainFocus, selectedItemChanged, aMoreRefreshesExpected );
if( selectedItemChanged )
@@ -95,6 +97,8 @@
delete iInfoPopup;
iInfoPopup = NULL;
}
+
+ FLOG( "CAppMngr2ListView::RefreshL() end" );
}
}
@@ -105,7 +109,7 @@
void CAppMngr2ListView::UpdateMiddleSoftkeyCommandL()
{
FLOG_PERF_STATIC_BEGIN( UpdateMiddleSoftkeyCommandL );
-
+
if( iContainer && !iContainer->IsListEmpty() )
{
// add item-specific MSK if the current item has one
@@ -133,7 +137,7 @@
}
SetDefaultMiddleSoftkeyCommandL();
}
-
+
FLOG_PERF_STATIC_END( UpdateMiddleSoftkeyCommandL )
}
@@ -165,7 +169,7 @@
void CAppMngr2ListView::HandleCommandL( TInt aCommand )
{
FLOG( "CAppMngr2ListView::HandleCommandL( %d )", aCommand );
-
+
switch( aCommand )
{
case EAknSoftkeyBack:
@@ -201,12 +205,12 @@
if( aResourceId == R_APPMNGR2_INSTALLED_MENU
|| aResourceId == R_APPMNGR2_PACKAGES_MENU )
{
- if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+ if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
{
aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
}
- // Keep the currently selected item focused in forthcoming list refreshes.
+ // Keep the currently selected item focused in forthcoming list refreshes.
iMaintainFocus = ETrue;
}
}
@@ -219,11 +223,11 @@
TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ )
{
FLOG( "CAppMngr2ListView::DoActivateL, id 0x%08x", Id().iUid );
-
+
CAknTitlePane* titlePane = NULL;
titlePane = static_cast<CAknTitlePane*>( StatusPane()->ControlL( KStatusPaneUid ) );
SetTitleL( *titlePane );
-
+
if( iContainer == NULL )
{
iContainer = CreateContainerL();
@@ -252,7 +256,7 @@
void CAppMngr2ListView::DoDeactivate()
{
FLOG( "CAppMngr2ListView::DoDeactivate, id 0x%08x", Id().iUid );
-
+
if( iContainer )
{
AppUi()->RemoveFromViewStack( *this, iContainer );
@@ -285,12 +289,12 @@
if( aMenuPane )
{
FLOG_PERF_STATIC_BEGIN( AddDynamicMenuItemsL );
-
+
TInt position = 0;
if( aMenuPane->MenuItemExists( EAppMngr2PlaceForPluginSpecificCmds, position ) )
{
aMenuPane->DeleteMenuItem( EAppMngr2PlaceForPluginSpecificCmds );
-
+
RPointerArray<CEikMenuPaneItem::SData> menuItems;
CleanupResetAndDestroyPushL( menuItems );
@@ -307,7 +311,7 @@
CleanupStack::PopAndDestroy( &menuItems );
}
-
+
FLOG_PERF_STATIC_END( AddDynamicMenuItemsL )
}
}
@@ -328,7 +332,7 @@
iMiddleSoftkeyCommandId );
}
HBufC* middleSoftkeyLabel = StringLoader::LoadLC( aResourceId );
- cba->AddCommandToStackL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+ cba->AddCommandToStackL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
aCommandId, *middleSoftkeyLabel );
CleanupStack::PopAndDestroy( middleSoftkeyLabel );
iMiddleSoftkeyCommandId = aCommandId;
--- a/appinstaller/AppMngr2/src/appmngr2model.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppMngr2/src/appmngr2model.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -133,7 +133,7 @@
// CAppMngr2Model::PackageInfo()
// ---------------------------------------------------------------------------
//
-CAppMngr2PackageInfo& CAppMngr2Model::PackageInfo( TInt aIndex ) const
+CAppMngr2PackageInfo& CAppMngr2Model::PackageInfo( TInt aIndex ) const
{
return *( reinterpret_cast< CAppMngr2PackageInfo* >( iInstallationFiles->At( aIndex ) ) );
}
@@ -145,7 +145,7 @@
void CAppMngr2Model::LoadIconsL( CAknIconArray& aIconArray )
{
LoadDefaultIconsL( aIconArray );
-
+
TInt pluginCount = iPlugins.Count();
for( TInt index = 0; index < pluginCount; index++ )
{
@@ -179,7 +179,7 @@
void CAppMngr2Model::HandleCommandL( CAppMngr2InfoBase& aInfo, TInt aCommand )
{
FLOG( "CAppMngr2Model::HandleCommandL( %d ), IsActive() = %d", aCommand, IsActive() );
-
+
if( !IsActive() )
{
// About to start plugin specific command. Note that when the command completes
@@ -204,7 +204,7 @@
iActiveItem = &aInfo;
iActiveCommand = aCommand;
FLOG( "CAppMngr2Model::HandleCommandL, iActiveItem = 0x%08x '%S'",
- iActiveItem, &( iActiveItem->Name() ) );
+ iActiveItem, &( iActiveItem->Name() ) );
TRAPD( err, iActiveItem->HandleCommandL( aCommand, iStatus ) );
FLOG( "CAppMngr2Model::HandleCommandL, command started, err = %d", err );
SetActive();
@@ -226,17 +226,22 @@
//
void CAppMngr2Model::StartFetchingInstallationFilesL()
{
- FLOG( "CAppMngr2Model::StartFetchingInstallationFilesL" );
- FLOG_PERF_START( FetchInstallationFiles )
-
- // Installation files cache must be enabled until scanner has completed.
- // This ensures that scanner has time to call GetInstallationFilesL() for
- // each plugin and for each directory before the first call completes.
- // If the first call completes before scanner has made all these requets,
- // cache will be turned off and partial results are displayed.
- iInstallationFiles->IncrementCacheUseStartingNewRoundL();
+ FLOG( "CAppMngr2Model::StartFetchingInstallationFilesL, fetching %d",
+ iFetchingInstallationFiles );
+ if( !iFetchingInstallationFiles )
+ {
+ FLOG_PERF_START( FetchInstallationFiles )
+ iFetchingInstallationFiles = ETrue;
- iScanner->StartScanningL();
+ // Installation files cache must be enabled until scanner has completed.
+ // This ensures that scanner has time to call GetInstallationFilesL() for
+ // each plugin and for each directory before the first call completes.
+ // If the first call completes before scanner has made all these requets,
+ // cache will be turned off and partial results are displayed.
+ iInstallationFiles->IncrementCacheUseStartingNewRoundL();
+
+ iScanner->StartScanningL();
+ }
}
// ---------------------------------------------------------------------------
@@ -245,39 +250,44 @@
//
void CAppMngr2Model::StartFetchingInstalledAppsL()
{
- FLOG( "CAppMngr2Model::StartFetchingInstalledAppsL" );
- FLOG_PERF_START( FetchInstalledApps )
-
- // Additional cache increment to ensure that iInstalledApps cache is
- // used until GetInstalledAppsL() function is called for each plugin.
- // Without this, the fastest plugin might get it's list complete before
- // other IncrementCacheUseL() calls and iInstalledApps would display
- // partial list.
- iInstalledApps->IncrementCacheUseStartingNewRoundL();
-
- TInt pluginCount = iPlugins.Count();
- for( TInt pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++ )
+ FLOG( "CAppMngr2Model::StartFetchingInstalledAppsL, fetching %d",
+ iFetchingInstalledApps );
+ if( !iFetchingInstalledApps )
{
- CAppMngr2AppInfoMaker* appInfoMaker = CAppMngr2AppInfoMaker::NewLC(
- iPlugins[ pluginIndex ]->Runtime(), *this, iFs );
-
- TRAPD( err, appInfoMaker->StartGettingInstalledAppsL() );
- FLOG( "CAppMngr2Model::StartFetchingInstalledAppsL, plugin 0x%08x, err = %d",
- iPlugins[ pluginIndex ]->Runtime().RuntimeUid().iUid, err );
- if( err == KErrNone )
+ FLOG_PERF_START( FetchInstalledApps )
+ iFetchingInstalledApps = ETrue;
+
+ // Additional cache increment to ensure that iInstalledApps cache is
+ // used until GetInstalledAppsL() function is called for each plugin.
+ // Without this, the fastest plugin might get it's list complete before
+ // other IncrementCacheUseL() calls and iInstalledApps would display
+ // partial list.
+ iInstalledApps->IncrementCacheUseStartingNewRoundL();
+
+ TInt pluginCount = iPlugins.Count();
+ for( TInt pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++ )
{
- iInfoMakers.AppendL( appInfoMaker );
- CleanupStack::Pop( appInfoMaker );
- iInstalledApps->IncrementCacheUseL();
+ CAppMngr2AppInfoMaker* appInfoMaker = CAppMngr2AppInfoMaker::NewLC(
+ iPlugins[ pluginIndex ]->Runtime(), *this, iFs );
+
+ TRAPD( err, appInfoMaker->StartGettingInstalledAppsL() );
+ FLOG( "CAppMngr2Model::StartFetchingInstalledAppsL, plugin 0x%08x, err = %d",
+ iPlugins[ pluginIndex ]->Runtime().RuntimeUid().iUid, err );
+ if( err == KErrNone )
+ {
+ iInfoMakers.AppendL( appInfoMaker );
+ CleanupStack::Pop( appInfoMaker );
+ iInstalledApps->IncrementCacheUseL();
+ }
+ else
+ {
+ CleanupStack::PopAndDestroy( appInfoMaker );
+ }
}
- else
- {
- CleanupStack::PopAndDestroy( appInfoMaker );
- }
+
+ // All GetInstalledAppsL() requests have been issued
+ iInstalledApps->DecrementCacheUse();
}
-
- // All GetInstalledAppsL() requests have been issued
- iInstalledApps->DecrementCacheUse();
}
// ---------------------------------------------------------------------------
@@ -287,7 +297,7 @@
void CAppMngr2Model::DoCancel()
{
FLOG( "CAppMngr2Model::DoCancel, iActiveItem = 0x%08x", iActiveItem );
-
+
if( iActiveItem )
{
iActiveItem->CancelCommand();
@@ -324,7 +334,7 @@
// Leave on error. This displays error note (if error notes are enabled).
User::LeaveIfError( err );
-
+
// If the command is EAppMngr2CmdUninstall or EAppMngr2CmdRemove, and it
// completed without errors, then we remove the current item immediatelty
// from the displayed list. Otherwise it may take quite long time until
@@ -355,7 +365,7 @@
void CAppMngr2Model::RefreshInstalledApps()
{
FLOG( "CAppMngr2Model::RefreshInstalledApps" );
-
+
TRAP_IGNORE( StartFetchingInstalledAppsL() );
}
@@ -377,7 +387,7 @@
void CAppMngr2Model::ScanningResultL( RPointerArray<CAppMngr2RecognizedFile>& aResult )
{
FLOG( "CAppMngr2Model::ScanningResultL, begin: aResult.Count() = %d", aResult.Count() );
-
+
// Split recognition result array into smaller (plugin specific) arrays. Plugin
// specific arrays are maintained by CAppMngr2PackageInfoMaker objects, so one
// CAppMngr2PackageInfoMaker object is needed for each plugin that has recognized
@@ -424,7 +434,7 @@
void CAppMngr2Model::ScanningComplete()
{
FLOG( "CAppMngr2Model::ScanningComplete" );
-
+
iInstallationFiles->DecrementCacheUse();
}
@@ -435,7 +445,7 @@
void CAppMngr2Model::DirectoryChangedL( const TDesC& /*aChangedDir*/ )
{
FLOG( "CAppMngr2Model::DirectoryChangedL" );
-
+
// This might be improved by scanning the changed directory only. Model
// could record which items are got from which directory, so that it could
// remove those items that were created from the changed directory and
@@ -451,7 +461,7 @@
void CAppMngr2Model::HandleAppListEvent( TInt /*aEvent*/ )
{
FLOG( "CAppMngr2Model::HandleAppListEvent" );
-
+
TRAP_IGNORE( StartFetchingInstalledAppsL() );
}
@@ -464,7 +474,7 @@
{
FLOG( "CAppMngr2Model::NewAppsCreatedL, plugin 0x%08x: packageCount = %d",
aMaker.RuntimeUid().iUid, aAppInfos.Count() );
-
+
iInstalledApps->AddItemsInOrderL( aAppInfos );
iInstalledApps->DecrementCacheUse();
CloseInfoMaker( aMaker );
@@ -483,7 +493,7 @@
{
FLOG( "CAppMngr2Model::ErrorInCreatingAppsL, plugin 0x%08x: error = %d",
aMaker.RuntimeUid().iUid, aError );
-
+
iInstalledApps->DecrementCacheUse();
CloseInfoMaker( aMaker );
}
@@ -497,7 +507,7 @@
{
FLOG( "CAppMngr2Model::NewPackagesCreatedL, plugin 0x%08x: packageCount = %d",
aMaker.RuntimeUid().iUid, aPackageInfos.Count() );
-
+
iInstallationFiles->AddItemsInOrderL( aPackageInfos );
iInstallationFiles->DecrementCacheUse();
CloseInfoMaker( aMaker );
@@ -516,7 +526,7 @@
{
FLOG( "CAppMngr2Model::ErrorInCreatingPackagesL, plugin 0x%08x: error = %d",
aMaker.RuntimeUid().iUid, aError );
-
+
iInstallationFiles->DecrementCacheUse();
CloseInfoMaker( aMaker );
}
@@ -528,17 +538,28 @@
void CAppMngr2Model::ArrayContentChanged( CAppMngr2InfoArray* aArray,
TInt aMoreRefreshesExpected )
{
+ FLOG( "CAppMngr2Model::ArrayContentChanged, more = %d", aMoreRefreshesExpected );
if( aArray == iInstalledApps )
{
FLOG_PERF_STOP( FetchInstalledApps )
FLOG_PERF_PRINT( FetchInstalledApps )
iObs.InstalledAppsChanged( aMoreRefreshesExpected );
+ if( !aMoreRefreshesExpected )
+ {
+ FLOG( "CAppMngr2Model::ArrayContentChanged: StartFetchingInstalledAppsL done" );
+ iFetchingInstalledApps = EFalse;
+ }
}
if( aArray == iInstallationFiles )
{
FLOG_PERF_STOP( FetchInstallationFiles )
FLOG_PERF_PRINT( FetchInstallationFiles )
iObs.InstallationFilesChanged( aMoreRefreshesExpected );
+ if( !aMoreRefreshesExpected )
+ {
+ FLOG( "CAppMngr2Model::ArrayContentChanged: StartFetchingInstallationFilesL done" );
+ iFetchingInstallationFiles = EFalse;
+ }
}
}
@@ -563,7 +584,7 @@
iInstalledApps = CAppMngr2AppInfoArray::NewL( *this );
iInstallationFiles = CAppMngr2PackageInfoArray::NewL( *this );
-
+
FLOG_PERF_STATIC_BEGIN( LoadPluginsL )
LoadPluginsL();
FLOG_PERF_STATIC_END( LoadPluginsL )
@@ -585,13 +606,13 @@
void CAppMngr2Model::LoadDefaultIconsL( CAknIconArray& aIconArray )
{
FLOG( "CAppMngr2Model::LoadDefaultIconsL" );
-
+
MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
HBufC* bitmapFile = TAppMngr2DriveUtils::FullBitmapFileNameLC( KAppMngr2BitmapFile, iFs );
CFbsBitmap* bitmap = NULL;
CFbsBitmap* mask = NULL;
CGulIcon* icon = NULL;
-
+
// Note that icons can be graphically-skinned (icon graphic defined in theme)
// or color-skinned (icon colors change depending on background color defined
// in theme). Normal icons are graphically-skinned and indicator icons are
@@ -601,9 +622,9 @@
// Icon 0: EAppMngr2IconIndex_QgnIndiAmInstMmcAdd
// Indicator icon for items stored/installed in memory card
- AknsUtils::CreateColorIconLC( skinInstance,
+ AknsUtils::CreateColorIconLC( skinInstance,
KAknsIIDQgnIndiMmcAdd, KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13,
- bitmap, mask, *bitmapFile,
+ bitmap, mask, *bitmapFile,
EMbmAppmngr2Qgn_indi_mmc_add,
EMbmAppmngr2Qgn_indi_mmc_add_mask,
KRgbBlack );
@@ -616,9 +637,9 @@
// Icon 1: EAppMngr2IconIndex_QgnIndiFmgrMsAdd
// Indicator icon for items stored/installed in mass memory
- AknsUtils::CreateColorIconLC( skinInstance,
+ AknsUtils::CreateColorIconLC( skinInstance,
KAknsIIDQgnIndiFmgrMsAdd, KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13,
- bitmap, mask, *bitmapFile,
+ bitmap, mask, *bitmapFile,
EMbmAppmngr2Qgn_indi_fmgr_ms_add,
EMbmAppmngr2Qgn_indi_fmgr_ms_add_mask,
KRgbBlack );
@@ -633,14 +654,14 @@
// List icon for items that are not known
icon = AknsUtils::CreateGulIconL( skinInstance,
KAknsIIDQgnPropUnknown, *bitmapFile,
- EMbmAppmngr2Qgn_prop_unknown,
+ EMbmAppmngr2Qgn_prop_unknown,
EMbmAppmngr2Qgn_prop_unknown_mask );
CleanupStack::PushL( icon );
aIconArray.AppendL( icon );
CleanupStack::Pop( icon );
CleanupStack::PopAndDestroy( bitmapFile );
-
+
// Additionally some unknown indicator icon could be defined.
// Now, if some plugin gives incorrect index fox indicator icon,
// then no indicator icon is displayed.
@@ -653,7 +674,7 @@
void CAppMngr2Model::LoadPluginsL()
{
FLOG( "CAppMngr2Model::LoadPluginsL" );
-
+
RImplInfoPtrArray implInfoArray;
CleanupResetAndDestroyPushL( implInfoArray );
REComSession::ListImplementationsL( KAppMngr2PluginInterface, implInfoArray );
@@ -747,7 +768,7 @@
}
CleanupStack::PopAndDestroy( &dirsToScan );
}
-
+
// KSWInstallerPackageFolder directory if defined in CenRep
CRepository* cenrep = CRepository::NewLC( KCRUidSWInstallerLV );
err = cenrep->Get( KSWInstallerPackageFolder, path );
@@ -780,7 +801,7 @@
{
TFileName fullPath;
fullPath.Format( KDriveSpec, static_cast<TUint>( driveLetter ) );
- fullPath.Append( path );
+ fullPath.Append( path );
iScanner->AddDirectoryL( fullPath );
}
}
@@ -809,7 +830,7 @@
void CAppMngr2Model::FetchDataTypesL()
{
FLOG( "CAppMngr2Model::FetchDataTypesL" );
-
+
TInt pluginCount = iPlugins.Count();
for( TInt pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++ )
{
@@ -827,7 +848,7 @@
const CAppMngr2InfoMaker* makerToClose = &aMaker;
for( TInt index = iInfoMakers.Count() - 1; index >= 0; index-- )
{
- CAppMngr2InfoMaker* maker = iInfoMakers[ index ];
+ CAppMngr2InfoMaker* maker = iInfoMakers[ index ];
if( maker == makerToClose )
{
iInfoMakers.Remove( index );
--- a/appinstaller/AppinstUi/Server/Data/SWInstSvrUI_reg.rss Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppinstUi/Server/Data/SWInstSvrUI_reg.rss Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -22,7 +22,7 @@
#include "SWInstPrivateUid.h"
UID2 KUidAppRegistrationResourceFile
-UID3 KSWInstSvrUid // Define your application UID here
+UID3 KSWInstSvrUid
RESOURCE APP_REGISTRATION_INFO
{
@@ -45,6 +45,7 @@
DATATYPE { priority=EDataTypePrioritySystem; type="application/x-pip"; }
#ifdef __WEB_WIDGETS
, DATATYPE { priority=EDataTypePrioritySystem; type="application/x-nokia-widget"; }
+ , DATATYPE { priority=EDataTypePrioritySystem; type="application/widget"; }
#endif
};
}
--- a/appinstaller/AppinstUi/Server/Src/SWInstInstallRequest.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/appinstaller/AppinstUi/Server/Src/SWInstInstallRequest.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -389,7 +389,7 @@
{
HBufC* tmpMIME = HBufC::NewLC( KMaxDataTypeLength );
TPtr mimePtr( tmpMIME->Des() );
- aContent.GetStringAttribute( ContentAccess::EMimeType, mimePtr );
+ User::LeaveIfError( aContent.GetStringAttribute( ContentAccess::EMimeType, mimePtr ) );
aMIME.Copy( *tmpMIME );
CleanupStack::PopAndDestroy( tmpMIME );
}
--- a/iaupdate/IAD/ui/group/iaupdate.rss Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/group/iaupdate.rss Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -836,15 +836,6 @@
}
//
-// Update while roaming confirmation dialog
-//
-
-RESOURCE TBUF r_iaupdate_connect_to_server
- {
- buf = qtn_swupdate_connect_to_server;
- }
-
-//
// Automatic updates check dialog resources
//
@@ -1106,13 +1097,6 @@
name = qtn_swupdate_automatic_update_checks;
setting_page_resource = r_iaupdate_auto_update_check_setting_page;
associated_resource = r_iaupdate_auto_update_check_texts;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EIAUpdateSettingRoamingWarning;
- name = qtn_swupdate_roaming_warning;
- setting_page_resource = r_iaupdate_roaming_warning_setting_page;
- associated_resource = r_iaupdate_roaming_warning_texts;
}
};
};
--- a/iaupdate/IAD/ui/inc/iaupdate.hrh Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/inc/iaupdate.hrh Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -52,8 +52,7 @@
enum TIAUpdateSettingDialogItems
{
EIAUpdateSettingAccessPoint = 0,
- EIAUpdateSettingAutoUpdateCheck = 1,
- EIAUpdateSettingRoamingWarning = 2
+ EIAUpdateSettingAutoUpdateCheck = 1
};
enum TIAUpdateSettingItemBoolean
--- a/iaupdate/IAD/ui/inc/iaupdateprivatecrkeys.h Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/inc/iaupdateprivatecrkeys.h Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -52,16 +52,6 @@
**/
const TUint32 KIAUpdateAutoUpdateCheck = 0x1;
-/**
-* Roaming warning, integer value.
-*
-* Possible values:
-*
-* 0 = No roaming warning
-* 1 = Roaming warning
-**/
-const TUint32 KIAUpdateRoamingWarning = 0x2;
-
/**
* Checking frequency.
--- a/iaupdate/IAD/ui/inc/iaupdateroaminghandler.h Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/inc/iaupdateroaminghandler.h Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -86,12 +86,6 @@
*/
TBool IsRoaming();
- /**
- * Shows roaming warning dialog if needed
- * @return True value if network access rejected because of roaming warning
- */
- TBool RoamingRejectionL();
-
private:
@@ -116,8 +110,7 @@
TBool iPreparing;
TBool iPrepared;
-
- TBool iRoamingConnectionAccepted;
+
};
--- a/iaupdate/IAD/ui/inc/iaupdatesettingdialog.h Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/inc/iaupdatesettingdialog.h Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -50,8 +50,7 @@
enum TAttributeKeys
{
EAccessPoint = 0,
- EAutoUpdateCheck,
- ERoamingWarning
+ EAutoUpdateCheck
};
public:
@@ -245,7 +244,6 @@
private:
TInt iAccessPoint;
TInt iAutoUpdateCheck;
- TInt iRoamingWarning;
};
--- a/iaupdate/IAD/ui/inc/iaupdateuicontroller.h Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/inc/iaupdateuicontroller.h Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -533,6 +533,8 @@
void CreateSelectedNodesArrayL();
TBool IAUpdateEnabledL() const;
+
+ TBool AutomaticConnectionWhenRoamingL() const;
private: // data
@@ -593,8 +595,6 @@
CIAUpdateParameters* iParams;
- TBool iUserRoamingRejection;
-
TBool iCancelling;
TBool iFileInUseError;
--- a/iaupdate/IAD/ui/src/iaupdateroaminghandler.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/src/iaupdateroaminghandler.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -140,39 +140,7 @@
return iRoaming;
}
-// ---------------------------------------------------------------------------
-// CIAUpdateRoamingHandler::RoamingRejectionL()
-//
-// ---------------------------------------------------------------------------
-//
-TBool CIAUpdateRoamingHandler::RoamingRejectionL()
- {
- TBool rejected = EFalse;
- if ( ( iRoaming ) && ( !iRoamingConnectionAccepted ) )
- {
- CRepository* cenrep = CRepository::NewLC( KCRUidIAUpdateSettings );
-
- TInt num = KErrNotFound;
- User::LeaveIfError( cenrep->Get( KIAUpdateRoamingWarning, num ) );
-
- CleanupStack::PopAndDestroy( cenrep );
- if ( num == EIAUpdateSettingValueOn )
- {
- TInt ret = IAUpdateDialogUtil::ShowConfirmationQueryL(
- R_IAUPDATE_CONNECT_TO_SERVER,
- R_AVKON_SOFTKEYS_YES_NO );
- if ( ret == EAknSoftkeyYes )
- {
- iRoamingConnectionAccepted = ETrue;
- }
- else
- {
- rejected = ETrue;
- }
- }
- }
- return rejected;
- }
+
// End of File
--- a/iaupdate/IAD/ui/src/iaupdatesettingdialog.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/src/iaupdatesettingdialog.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -425,11 +425,7 @@
num = iList->Attribute( EAutoUpdateCheck );
err = cenrep->Set( KIAUpdateAutoUpdateCheck, num );
User::LeaveIfError( err );
-
- num = iList->Attribute( ERoamingWarning );
- err = cenrep->Set( KIAUpdateRoamingWarning, num );
- User::LeaveIfError( err );
-
+
TUint32 ignore = KErrNone;
User::LeaveIfError( cenrep->CommitTransaction( ignore ) );
CleanupStack::PopAndDestroy(); // CleanupCancelTransactionPushL()
@@ -480,14 +476,6 @@
break;
}
- case EIAUpdateSettingRoamingWarning:
- {
- User::LeaveIfError( cenrep->Get( KIAUpdateRoamingWarning, iRoamingWarning ) );
- item = new (ELeave) CAknBinaryPopupSettingItem
- ( aSettingId, iRoamingWarning );
- break;
- }
-
default:
{
item = new (ELeave) CAknSettingItem( aSettingId );
@@ -548,11 +536,6 @@
ret = iAutoUpdateCheck;
break;
}
- case CIAUpdateSettingDialog::ERoamingWarning:
- {
- ret = iRoamingWarning;
- break;
- }
default:
{
IAUpdateDialogUtil::Panic( KErrNotSupported );
@@ -577,12 +560,6 @@
{
iAutoUpdateCheck = EIAUpdateSettingValueEnable;
}
-
- if ( iRoamingWarning != EIAUpdateSettingValueOff &&
- iRoamingWarning != EIAUpdateSettingValueOn )
- {
- iRoamingWarning = EIAUpdateSettingValueOn;
- }
}
--- a/iaupdate/IAD/ui/src/iaupdateuicontroller.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/iaupdate/IAD/ui/src/iaupdateuicontroller.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -26,6 +26,7 @@
#include <SWInstDefs.h>
#include <avkon.rsg>
#include <featurecontrol.h>
+#include <cmmanager.h>
#include <iaupdate.rsg>
#include <iaupdateparameters.h>
@@ -360,19 +361,23 @@
return;
}
}
-
- if ( iRequestType == IAUpdateUiDefines::EShowUpdates && iRefreshed )
+ if ( iRequestType == IAUpdateUiDefines::ECheckUpdates &&
+ AllowNetworkRefreshL() &&
+ iRoamingHandler->IsRoaming() &&
+ !AutomaticConnectionWhenRoamingL() )
+ {
+ // In Silent check updates case, global setting when roaming to be automatic
+ // Promt dialog is not allowed in the silent check
+ // error is returned that a client (backround checker) will try again later
+ iObserver.RefreshCompleteL( EFalse, KErrAbort );
+ }
+ else if ( iRequestType == IAUpdateUiDefines::EShowUpdates && iRefreshed )
{
iFilter->FilterAndSortNodesL( iNodes, iFwNodes );
iObserver.RefreshCompleteL( ETrue, KErrNone );
}
else
{
- if ( IsStartedByLauncher() && AllowNetworkRefreshL() )
- {
- iUserRoamingRejection = iRoamingHandler->RoamingRejectionL();
- }
-
TInt ret( iController->Startup() );
if ( ret == KErrAlreadyExists )
{
@@ -411,43 +416,39 @@
// started.
iController->ResetSelfUpdate();
- iUserRoamingRejection = iRoamingHandler->RoamingRejectionL();
- if ( !iUserRoamingRejection )
+ CreateSelectedNodesArrayL();
+
+ if ( !IAUpdateUtils::SpaceAvailableInInternalDrivesL( iSelectedNodesArray ) )
{
- CreateSelectedNodesArrayL();
-
- if ( !IAUpdateUtils::SpaceAvailableInInternalDrivesL( iSelectedNodesArray ) )
+ HBufC* noteText = NULL;
+ noteText = StringLoader::LoadLC( R_IAUPDATE_INSUFFICIENT_MEMORY );
+ IAUpdateDialogUtil::ShowInformationQueryL( *noteText );
+ CleanupStack::PopAndDestroy( noteText );
+ }
+ else
+ {
+ if ( !IsStartedByLauncher() )
{
- HBufC* noteText = NULL;
- noteText = StringLoader::LoadLC( R_IAUPDATE_INSUFFICIENT_MEMORY );
- IAUpdateDialogUtil::ShowInformationQueryL( *noteText );
- CleanupStack::PopAndDestroy( noteText );
- }
- else
- {
- if ( !IsStartedByLauncher() )
+ if ( !iStarter )
{
- if ( !iStarter )
- {
- // Notice, that the ownership of the filter parameters will
- // remain in the filter.
- CIAUpdateParameters* params = iFilter->FilterParams();
- iStarter = CIAUpdateStarter::NewL( params->CommandLineExecutable(),
+ // Notice, that the ownership of the filter parameters will
+ // remain in the filter.
+ CIAUpdateParameters* params = iFilter->FilterParams();
+ iStarter = CIAUpdateStarter::NewL( params->CommandLineExecutable(),
params->CommandLineArguments() );
- }
}
- // Inform the controller that we are now starting updates. This way the
- // controller can handle situations as a whole and not as one item at the
- // time.
- iController->StartingUpdatesL();
+ }
+ // Inform the controller that we are now starting updates. This way the
+ // controller can handle situations as a whole and not as one item at the
+ // time.
+ iController->StartingUpdatesL();
- iFileInUseError = EFalse;
- // Set the node index to -1 because ContinueUpdateL increases it by one
- // in the beginning of the function. So, we can use the ContinueUpdateL
- // also in here.
- iNodeIndex = -1;
- ContinueUpdateL( EFalse );
- }
+ iFileInUseError = EFalse;
+ // Set the node index to -1 because ContinueUpdateL increases it by one
+ // in the beginning of the function. So, we can use the ContinueUpdateL
+ // also in here.
+ iNodeIndex = -1;
+ ContinueUpdateL( EFalse );
}
IAUPDATE_TRACE("[IAUPDATE] CIAUpdateUiController::StartUpdateL() end");
@@ -2267,7 +2268,6 @@
if ( IsStartedByLauncher() )
{
if ( !iRefreshFromNetworkDenied &&
- !iUserRoamingRejection &&
!RestartedFromSelfUpdate() )
{
if ( LocalNodesExpiredL() )
@@ -2718,4 +2718,24 @@
return enabled;
}
+// ---------------------------------------------------------------------------
+// CIAUpdateUiController::AutomaticConnectionWhenRoamingL()
+// ---------------------------------------------------------------------------
+//
+TBool CIAUpdateUiController::AutomaticConnectionWhenRoamingL() const
+ {
+ TBool automaticConnection = EFalse;
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ TCmGenConnSettings genConnSettings;
+ cmManager.ReadGenConnSettingsL( genConnSettings );
+ CleanupStack::PopAndDestroy( &cmManager );
+ if ( genConnSettings.iCellularDataUsageVisitor == ECmCellularDataUsageAutomatic )
+ {
+ automaticConnection = ETrue;
+ }
+ return automaticConnection;
+ }
+
+
// End of File
--- a/installationservices/swi/source/securitymanager/certchainconstraints.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/installationservices/swi/source/securitymanager/certchainconstraints.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -26,6 +26,7 @@
#include "certchainconstraints.h"
#include "x509constraintext.h"
#include <x509certext.h>
+#include <collate.h>
//#include "log.h"
using namespace Swi;
@@ -87,17 +88,21 @@
{
return iValidCapabilities.HasCapabilities(aRequestCapabilities);
}
-
+
EXPORT_C TBool CCertChainConstraints::DeviceIDIsValid(const HBufC* aRequestDeviceID) const
{
TBool ret=EFalse;
if (iDeviceIDsAreConstrained)
{
TInt deviceIDCount=iValidDeviceIDs.Count();
+
+ TCollationMethod m = *Mem::CollationMethodByIndex(0); // get the standard method
+ m.iFlags |= TCollationMethod::EFoldCase; // Convert to lowercase and compare.
+
//Check if request Device ID is in the valid device ID list
for(TInt i=0; i<deviceIDCount; i++)
{
- if (iValidDeviceIDs[i]->CompareF(*aRequestDeviceID)==0)
+ if (iValidDeviceIDs[i]->CompareC(*aRequestDeviceID, 0, &m) ==0)
{
ret=ETrue;
break;
--- a/ncdengine/engine/transport/src/catalogshttpstack.cpp Tue Feb 02 00:20:15 2010 +0200
+++ b/ncdengine/engine/transport/src/catalogshttpstack.cpp Fri Feb 19 22:57:02 2010 +0200
@@ -36,7 +36,7 @@
#include <deflatefilterinterface.h>
#include <httpfiltercommonstringsext.h>
#include <httpfilterproxyinterface.h>
-#include <CookieFilterInterface.h>
+#include <cookiefilterinterface.h>
#include "catalogs_device_config.h"
#include "catalogshttptypes.h"
--- a/ncdengine/provider/deviceinteraction/inc/ncdinstallationserviceimpl.h Tue Feb 02 00:20:15 2010 +0200
+++ b/ncdengine/provider/deviceinteraction/inc/ncdinstallationserviceimpl.h Fri Feb 19 22:57:02 2010 +0200
@@ -27,7 +27,7 @@
#include <apgcli.h>
#include <centralrepository.h>
#include <SWInstApi.h>
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
#include "ncdinstallationservice.h"
#include "ncditempurpose.h"