diff -r c739008478cc -r 5d243a69bdda contentstorage/srvsrc/cainstallstrategy.cpp --- a/contentstorage/srvsrc/cainstallstrategy.cpp Mon May 24 20:50:46 2010 +0300 +++ b/contentstorage/srvsrc/cainstallstrategy.cpp Fri May 28 16:17:03 2010 +0300 @@ -18,6 +18,7 @@ #include #include #include "cainstallstrategy.h" +#include // --------------------------------------------------------------------------- // @@ -140,16 +141,16 @@ void CCaUsifUninstallStrategy::NotifyListenerL( RProperty& aProperty, MCaInstallListener& aListener ) { - TInt appUid; - User::LeaveIfError( aProperty.Get( KPSUidSWInstallerUiNotification, - KSWInstallerUninstallation, appUid ) ); - // if there is some value!=0 in iAppUid and appUid==0 that means - // application with uid==iAppUid was uninstalled, so we notify aListener - if( iAppUid && !appUid ) + TInt status; + // TODO: Temporary solution for incorrect USIF notifications + User::LeaveIfError( aProperty.Get( KUidSystemCategory, + Swi::KUidSoftwareInstallKey, status ) ); + //if( status == ( Swi::ESwisStatusSuccess | Swi::ESwisUninstall ) ) + if( iUninstallStatus == Swi::ESwisUninstall && !status ) { - aListener.HandleInstallNotifyL( iAppUid ); - } - iAppUid = appUid; + aListener.HandleInstallNotifyL( iUninstallStatus ); + } + iUninstallStatus = status; } // --------------------------------------------------------------------------- @@ -158,8 +159,7 @@ // CCaUsifUninstallStrategy::CCaUsifUninstallStrategy( RProperty& aProperty ) { - aProperty.Attach( - KPSUidSWInstallerUiNotification, KSWInstallerUninstallation ); + aProperty.Attach( KUidSystemCategory, Swi::KUidSoftwareInstallKey ); } // ---------------------------------------------------------------------------