// CLASS HEADER
#include <dali/internal/adaptor/common/adaptor-impl.h>
+#include <dali/internal/addons/common/addon-manager-impl.h>
+#include <dali/internal/addons/common/addon-manager-factory.h>
#include <dali/internal/adaptor/common/adaptor-builder-impl.h>
// EXTERNAL INCLUDES
#include <dali/integration-api/events/touch-event-integ.h>
#include <dali/integration-api/events/wheel-event-integ.h>
#include <dali/integration-api/processor-interface.h>
+#include <dali/integration-api/addon-manager.h>
// INTERNAL INCLUDES
#include <dali/public-api/dali-adaptor-common.h>
EglSyncImplementation& eglSyncImpl = eglGraphics->GetSyncImplementation();
EglContextHelperImplementation& eglContextHelperImpl = eglGraphics->GetContextHelperImplementation();
+ // Create the AddOnManager
+ mAddOnManager.reset( Dali::Internal::AddOnManagerFactory::CreateAddOnManager() );
+
mCore = Integration::Core::New( *this,
*mPlatformAbstraction,
mGLES,
mGraphics->GetStencilBufferRequired(),
mGraphics->GetPartialUpdateRequired() );
+
defaultWindow->SetAdaptor( Get() );
Dali::Integration::SceneHolder defaultSceneHolder( defaultWindow );
{
(*iter)->OnStart();
}
+
+ if (mAddOnManager)
+ {
+ mAddOnManager->Start();
+ }
}
// Dali::Internal::Adaptor::Adaptor::Pause
(*iter)->OnPause();
}
+ // Extensions
+ if (mAddOnManager)
+ {
+ mAddOnManager->Pause();
+ }
+
// Pause all windows event handlers when adaptor paused
for( auto window : mWindows )
{
window->Resume();
}
+ // Resume AddOnManager
+ if (mAddOnManager)
+ {
+ mAddOnManager->Resume();
+ }
+
// Inform observers that we have resumed.
for( ObserverContainer::iterator iter = mObservers.begin(), endIter = mObservers.end(); iter != endIter; ++iter )
{
(*iter)->OnStop();
}
+ if (mAddOnManager)
+ {
+ mAddOnManager->Stop();
+ }
+
mThreadController->Stop();
// Delete the TTS player
DALI_LOG_RELEASE_INFO( "Adaptor::OnWindowShown: Update requested.\n" );
}
+ else if( PAUSED_WHILE_INITIALIZING == mState )
+ {
+ // Change the state to READY again. It will be changed to RUNNING after the adaptor is started.
+ mState = READY;
+ }
else
{
DALI_LOG_RELEASE_INFO( "Adaptor::OnWindowShown: Adaptor is not paused state.[%d]\n", mState );
idleAdded = mCallbackManager->AddIdleEntererCallback( callback );
}
+ if( !idleAdded )
+ {
+ // Delete callback
+ delete callback;
+ }
+
return idleAdded;
}