diff -r 4d54b72983ae -r c743ef5928ba idlehomescreen/widgetmanager/src/wmwidgetdata.cpp --- a/idlehomescreen/widgetmanager/src/wmwidgetdata.cpp Tue Jan 26 11:48:23 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmwidgetdata.cpp Tue Feb 02 00:04:13 2010 +0200 @@ -29,6 +29,7 @@ #include #include #include +#include #include "wmwidgetdata.h" #include "wmwidgetdataobserver.h" @@ -36,9 +37,6 @@ #include "wmresourceloader.h" #include "wmcommon.h" -// CONSTANTS -_LIT8( KWrtMime, "application/x-nokia-widget"); - // --------------------------------------------------------- // CWmWidgetData::NewL // --------------------------------------------------------- @@ -79,10 +77,8 @@ // CWmWidgetData::CWmWidgetData( const TSize& aLogoSize, CWmResourceLoader& aWmResourceLoader ) - : CActive( EPriorityStandard ), - iWmResourceLoader( aWmResourceLoader ) + : iWmResourceLoader( aWmResourceLoader ) { - iIdle = NULL; iLogoImage = NULL; iLogoImageMask = NULL; iHsContentInfo = NULL; @@ -93,7 +89,6 @@ iAnimationIndex = 0; iAsyncUninstalling = EFalse; iFireLogoChanged = EFalse; - CActiveScheduler::Add( this ); } // --------------------------------------------------------- @@ -108,7 +103,6 @@ // start decoding the icon iImageConverter = CWmImageConverter::NewL( this ); - iIdle = CIdle::NewL( CActive::EPriorityStandard ); iWait = new (ELeave) CActiveSchedulerWait(); iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard ); @@ -149,12 +143,6 @@ // CWmWidgetData::~CWmWidgetData() { - Cancel(); - if ( iIdle && iIdle->IsActive() ) - { - iIdle->Cancel(); - } - delete iIdle; if ( iWait && iWait->IsStarted() ) { iWait->AsyncStop(); @@ -308,6 +296,7 @@ else if ( KErrNone != err && iFireLogoChanged ) { FireDataChanged(); // draw default icon + iFireLogoChanged = EFalse; } } @@ -466,51 +455,15 @@ } // --------------------------------------------------------- -// CWmWidgetData::UnInstallL -// --------------------------------------------------------- -// -void CWmWidgetData::UnInstallL() - { - if ( IsUninstalling() || IsActive() ) - { - User::Leave( KErrInUse ); - } - - DestroyAnimData(); - - TInt err = iInstaller.Connect(); - if ( KErrNone == err ) - { - CleanupClosePushL( iInstaller ); - PrepairAnimL(); - CleanupStack::Pop( &iInstaller ); - SwiUI::TUninstallOptions optionsUninstall; - optionsUninstall.iBreakDependency = SwiUI::EPolicyAllowed; - optionsUninstall.iKillApp = SwiUI::EPolicyAllowed; - SwiUI::TUninstallOptionsPckg uninstallOptionsPkg( optionsUninstall ); - iInstaller.SilentUninstall( iStatus, iPublisherUid, - uninstallOptionsPkg, KWrtMime ); - VisualizeUninstall(); - SetActive(); - } - else - { - // do normal uninstall - iAsyncUninstalling = EFalse; - SwiUI::RSWInstLauncher installer; - User::LeaveIfError( installer.Connect() ); - CleanupClosePushL( installer ); - User::LeaveIfError( installer.Uninstall( iPublisherUid, KWrtMime ) ); - CleanupStack::PopAndDestroy( &installer ); - } - } - -// --------------------------------------------------------- // CWmWidgetData::VisualizeUninstall // --------------------------------------------------------- // -void CWmWidgetData::VisualizeUninstall() - { +void CWmWidgetData::VisualizeUninstallL() + { + DestroyAnimData(); + PrepairAnimL(); + + iHsContentInfo->SetNameL( iWmResourceLoader.Uninstalling() ); iAsyncUninstalling = ETrue; iAnimationIndex = 0; const TInt tickInterval = 400000; @@ -588,22 +541,6 @@ } // --------------------------------------------------------- -// CWmWidgetData::CloseSwiSession -// --------------------------------------------------------- -// -TInt CWmWidgetData::CloseSwiSession( TAny* aPtr ) - { - CWmWidgetData* self = static_cast< CWmWidgetData* >( aPtr ); - if ( self->iIdle->IsActive() ) - { - self->iIdle->Cancel(); - } - - self->iInstaller.Close(); - return KErrNone; - } - -// --------------------------------------------------------- // CWmWidgetData::AnimationBitmap // --------------------------------------------------------- // @@ -660,64 +597,5 @@ return iAsyncUninstalling; } -// --------------------------------------------------------- -// CWmWidgetData::DoCancel -// --------------------------------------------------------- -// -void CWmWidgetData::DoCancel() - { - if ( IsActive() && iAsyncUninstalling ) - { - iInstaller.CancelAsyncRequest( - SwiUI::ERequestSilentUninstall ); - - // close session - iInstaller.Close(); - } - iAsyncUninstalling = EFalse; - iAnimationIndex = 0; - } - -// --------------------------------------------------------- -// CWmWidgetData::RunL -// --------------------------------------------------------- -// -void CWmWidgetData::RunL() - { - iAsyncUninstalling = EFalse; - iAnimationIndex = 0; - - DestroyAnimData(); - FireDataChanged(); - - // close SWI session - if ( iIdle && iIdle->IsActive() ) - { - iIdle->Cancel(); - } - iIdle->Start( TCallBack( CloseSwiSession, this ) ); - } - -// --------------------------------------------------------- -// CWmWidgetData::RunError -// --------------------------------------------------------- -// -TInt CWmWidgetData::RunError(TInt /*aError*/) - { - iAsyncUninstalling = EFalse; - iAnimationIndex = 0; - DestroyAnimData(); - FireDataChanged(); - - // close SWI session - if ( iIdle && iIdle->IsActive() ) - { - iIdle->Cancel(); - } - iIdle->Start( TCallBack( CloseSwiSession, this ) ); - - return KErrNone; - } - // End of file