--- a/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandlersilent.cpp Thu Sep 02 20:34:03 2010 +0300
+++ b/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandlersilent.cpp Fri Sep 17 08:30:26 2010 +0300
@@ -228,7 +228,7 @@
const CApaMaskedBitmap* /*aLogo*/,
const RPointerArray<Swi::CCertificateInfo>& /*aCertificates*/ )
{
- iOperationPhase = EInstalling;
+ ASSERT( iOperationPhase == EInstalling );
return ETrue;
}
@@ -271,13 +271,16 @@
TInt languageCount = aLanguages.Count();
if( iInstallParams )
{
- TLanguage lang = iInstallParams->Language();
- TInt index = aLanguages.Find( lang );
- if( index >= 0 && index < languageCount )
- {
- languageIndex = index;
- found = ETrue;
- }
+ const RArray<TLanguage>& preferredLanguages = iInstallParams->Languages();
+ for( TInt prefIndex = 0; prefIndex < preferredLanguages.Count() && !found; prefIndex++ )
+ {
+ TInt selectedIndex = aLanguages.Find( preferredLanguages[ prefIndex ] );
+ if( selectedIndex >= 0 && selectedIndex < languageCount )
+ {
+ languageIndex = selectedIndex;
+ found = ETrue;
+ }
+ }
}
if( !found )
{
@@ -304,22 +307,26 @@
TInt driveCount = aDriveLetters.Count();
if( iInstallParams )
{
+ const RArray<TUint>& preferredDrives = iInstallParams->Drives();
TChar driveLetter = 0;
- RFs::DriveToChar( iInstallParams->Drive(), driveLetter );
- TInt index = aDriveLetters.Find( driveLetter );
- if( index >= 0 && index < driveCount )
- {
- if( aDriveSpaces[ index ] > aSize )
- {
- driveIndex = index;
- found = ETrue;
- }
- }
+ TIdentityRelation<TChar> relation(CompareDriveLetters);
+ for( TInt prefIndex = 0; prefIndex < preferredDrives.Count() && !found; prefIndex++ )
+ {
+ RFs::DriveToChar( preferredDrives[ prefIndex ], driveLetter );
+ TInt index = aDriveLetters.Find( driveLetter, relation );
+ if( index >= 0 && index < driveCount )
+ {
+ if( aDriveSpaces[ index ] > aSize )
+ {
+ driveIndex = index;
+ found = ETrue;
+ }
+ }
+ }
}
- // TODO: should there be some default drive?
if( !found )
{
- User::Leave( KErrNoMemory );
+ driveIndex = KErrNotFound;
}
return driveIndex;
}
@@ -342,6 +349,7 @@
case EUserConfirm:
case ENotAllowed:
default:
+ // TODO: SetError
break;
}
}
@@ -366,6 +374,7 @@
case EUserConfirm:
case ENotAllowed:
default:
+ // TODO: SetError
break;
}
}
@@ -468,6 +477,7 @@
case EUserConfirm:
case ENotAllowed:
default:
+ // TODO: SetError
break;
}
}
@@ -502,6 +512,7 @@
case EUserConfirm:
case ENotAllowed:
default:
+ // TODO: SetError
break;
}
}
@@ -548,6 +559,7 @@
case EUserConfirm:
case ENotAllowed:
default:
+ // TODO: SetError
break;
}
}
@@ -566,7 +578,7 @@
//
TBool CSisxSifPluginUiHandlerSilent::DisplayUninstallL( const Swi::CAppInfo& /*aAppInfo*/ )
{
- iOperationPhase = EUninstalling;
+ ASSERT( iOperationPhase == EUninstalling );
return ETrue;
}
@@ -599,6 +611,15 @@
}
// ---------------------------------------------------------------------------
+// CSisxSifPluginUiHandlerSilent::CancelDialogs()
+// ---------------------------------------------------------------------------
+//
+void CSisxSifPluginUiHandlerSilent::CancelDialogs()
+ {
+ // nothing to do
+ }
+
+// ---------------------------------------------------------------------------
// CSisxSifPluginUiHandlerSilent::CSisxSifPluginUiHandlerSilent()
// ---------------------------------------------------------------------------
//