--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp Mon Jun 21 15:27:11 2010 +0300
@@ -352,8 +352,8 @@
CleanupStack::PopAndDestroy(); // DisableRenderUiLC();
- // Load initial view publishers
- ActiveViewData().LoadPublishers( EAiFwSystemStartup );
+ // Load initial view publishers
+ ActiveViewData().SetActive( ETrue );
}
// -----------------------------------------------------------------------------
@@ -378,6 +378,16 @@
delete iWidgetAmountTrigger;
iWidgetAmountTrigger = NULL;
+ // Destroy all publishers
+ RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
+
+ for ( TInt i = 0; i < views.Count(); i++ )
+ {
+ CXnViewData* view = static_cast< CXnViewData* >( views[i] );
+
+ view->DestroyPublishers( EAiFwSystemShutdown );
+ }
+
// Destroy active view data
ActiveViewData().Destroy();
@@ -387,6 +397,8 @@
User::Heap().Compress();
+ iUiReady = EFalse;
+
LoadUiL();
// Activate first view from the new configuration
@@ -1405,6 +1417,19 @@
}
// -----------------------------------------------------------------------------
+// CXnViewManager::NotifyAllViewsLoadedL()
+// Notifies that all views included in root configuration are loaded
+// -----------------------------------------------------------------------------
+//
+void CXnViewManager::NotifyAllViewsLoadedL()
+ {
+ for ( TInt i = 0; i < iObservers.Count(); i++ )
+ {
+ iObservers[i]->NotifyAllViewsLoadedL();
+ }
+ }
+
+// -----------------------------------------------------------------------------
// CXnViewManager::PublishersReadyL()
// Notifies that aViewData activation is complete
// -----------------------------------------------------------------------------
@@ -1456,6 +1481,8 @@
CXnBackgroundManager& bg( self->iAppUiAdapter.ViewAdapter().BgManager() );
TRAP_IGNORE( bg.StoreWallpaperL() );
+
+ self->NotifyContainerActivatedL( active );
return KErrNone;
}
@@ -1564,6 +1591,19 @@
}
// -----------------------------------------------------------------------------
+// CXnViewManager::NotifyContainerActivatedL()
+// Notifies view container is activated
+// -----------------------------------------------------------------------------
+//
+void CXnViewManager::NotifyContainerActivatedL( const CXnViewData& aViewData )
+ {
+ for ( TInt i = 0; i < iObservers.Count(); i++ )
+ {
+ iObservers[i]->NotifyContainerActivatedL( aViewData );
+ }
+ }
+
+// -----------------------------------------------------------------------------
// CXnViewManager::UpdateCachesL()
//
// -----------------------------------------------------------------------------