diff -r 1e962b12a8db -r d2f833ab7940 contentstorage/casrv/caappscanner/src/casrvappscanner.cpp --- a/contentstorage/casrv/caappscanner/src/casrvappscanner.cpp Tue Jun 01 11:30:17 2010 +0300 +++ b/contentstorage/casrv/caappscanner/src/casrvappscanner.cpp Fri Jun 11 16:13:51 2010 +0300 @@ -141,6 +141,10 @@ iApaLsSession.RegisterListPopulationCompleteObserver( iStatus ); iCollectionDownloadId = 0; iAllCollectionId = 0; + + //TODO temporary sollution for fake uninstall progres notification + ClearUninstallFlagL(); + SetActive(); } @@ -148,6 +152,29 @@ // // --------------------------------------------------------- // +//TODO temporary sollution for fake uninstall progres notification +void CCaSrvAppScanner::ClearUninstallFlagL() + { + CCaInnerQuery* uninstallQuery = CCaInnerQuery::NewLC(); + uninstallQuery->SetFlagsOn( EUninstall ); + + RPointerArray resultArray; + CleanupResetAndDestroyPushL( resultArray ); + iCaStorageProxy.GetEntriesL( uninstallQuery, resultArray ); + for( TInt i = 0; i < resultArray.Count(); i++ ) + { + resultArray[i]->SetFlags( resultArray[i]->GetFlags() & ~EUninstall ); + iCaStorageProxy.AddL( resultArray[i] ); + } + CleanupStack::PopAndDestroy( &resultArray ); + + CleanupStack::PopAndDestroy( uninstallQuery ); + } + +// --------------------------------------------------------- +// +// --------------------------------------------------------- +// void CCaSrvAppScanner::RunL() { User::LeaveIfError( iStatus.Int() ); @@ -912,13 +939,13 @@ RBuf attrVal; attrVal.CleanupClosePushL(); attrVal.CreateL( KCaMaxAttrValueLen ); - aEntry->FindAttribute( KCaAttrLongName, attrVal ); - if( attrVal.Compare( info->iCaption ) != KErrNone + aEntry->FindAttribute( KCaAttrShortName, attrVal ); + if( attrVal.Compare( info->iShortCaption ) != KErrNone || aEntry->GetText().Compare( info->iCaption ) != KErrNone ) { aEntry->SetTextL( info->iCaption ); - aEntry->AddAttributeL( KCaAttrLongName, info->iCaption ); + aEntry->AddAttributeL( KCaAttrShortName, info->iShortCaption ); changed = ETrue; } @@ -939,9 +966,20 @@ aEntry->AddAttributeL( KCaAttrAppType, KCaAttrAppTypeValueJava ); - aEntry->AddAttributeL( - KCaAttrAppSettingsPlugin, - KCaAttrJavaAppSettingsPluginValue ); + + TComponentId compId = + iSoftwareRegistry.GetComponentIdForAppL( info->iUid ); + CPropertyEntry* propertyEntry = + iSoftwareRegistry.GetComponentPropertyL( compId, KCaScrPropertyAppSettings ); + CleanupStack::PushL( propertyEntry ); + if ( propertyEntry && + propertyEntry->PropertyType() == CPropertyEntry::ELocalizedProperty ) + { + aEntry->AddAttributeL( + KCaAttrAppSettingsPlugin, + static_cast(propertyEntry)->StrValue() ); + } + CleanupStack::PopAndDestroy( propertyEntry ); } else if ( appTypeUid == KCWRTApplicationTypeUid ) { @@ -998,9 +1036,9 @@ TUint mmcId = 0; MenuUtils::GetTUint( attrVal, mmcId ); if( ( mmcId && KErrNotFound != iMmcHistory->Find( mmcId ) - && mmcId != CurrentMmcId() ) || - ( attrVal == KCaMassStorage() && - IsDriveInUse( DriveInfo::EDefaultMassStorage ) ) ) + && mmcId != CurrentMmcId() ) + || ( attrVal == KCaMassStorage() + && IsDriveInUse( DriveInfo::EDefaultMassStorage ) ) ) { // This item is on an MMC which is currently // in the MMC history or on a mass storage in use. @@ -1009,7 +1047,7 @@ } else { - aCaEntries[i]->RemoveAttributeL(KCaAttrMmcId()); + aCaEntries[i]->RemoveAttributeL( KCaAttrMmcId() ); ClearVisibleFlagL( aCaEntries[i] ); } } @@ -1025,24 +1063,11 @@ // // --------------------------------------------------------- // -void CCaSrvAppScanner::RemoveAppL( CCaInnerEntry* aAppEntry ) - { - RArray idsToRemove; - CleanupClosePushL( idsToRemove ); - idsToRemove.AppendL( aAppEntry->GetId() ); - iCaStorageProxy.RemoveL( idsToRemove ); - CleanupStack::PopAndDestroy( &idsToRemove ); - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// void CCaSrvAppScanner::SetMissingFlagL( CCaInnerEntry* aEntry ) { if( !( aEntry->GetFlags() & EMissing ) ) { - aEntry->SetFlags( aEntry->GetFlags() | EMissing ); + aEntry->SetFlags( ( aEntry->GetFlags() | EMissing ) & ~EUninstall ); iCaStorageProxy.AddL( aEntry, EFalse, EItemDisappeared ); } } @@ -1057,6 +1082,7 @@ { aEntry->SetFlags( aEntry->GetFlags() & + ~EUninstall & ~EVisible & ~EMissing & ~EUsed );