Add support of writing DALi cache file for Android.
[platform/core/uifw/dali-adaptor.git] / dali / internal / adaptor / android / android-framework-impl.cpp
index 70afaad..c83265e 100644 (file)
@@ -35,11 +35,19 @@ AndroidFramework* gAndroidFramework = nullptr; // raw specific pointer to allow
 Dali::Integration::AndroidFramework& AndroidFramework::New()
 {
   Dali::Integration::AndroidFramework* androidFramework = new Dali::Integration::AndroidFramework;
-  AndroidFramework* impl = new AndroidFramework( *androidFramework );
+  AndroidFramework* impl = new AndroidFramework( androidFramework );
   androidFramework->mImpl = impl;
   return *androidFramework;
 }
 
+void AndroidFramework::Delete()
+{
+  DALI_ASSERT_ALWAYS( gAndroidFramework != nullptr && "Cannot delete already deleted AndroidFramework." );
+
+  delete gAndroidFramework->mAndroidFramework;
+  gAndroidFramework = nullptr;
+}
+
 void AndroidFramework::SetNativeApplication( android_app* application )
 {
   mNativeApplication = application;
@@ -70,6 +78,16 @@ AAssetManager* AndroidFramework::GetApplicationAssets() const
   return mAssets;
 }
 
+void AndroidFramework::SetInternalDataPath( const std::string& path )
+{
+  mInternalDataPath = path;
+}
+
+std::string AndroidFramework::GetInternalDataPath() const
+{
+  return mInternalDataPath;
+}
+
 void AndroidFramework::SetApplicationConfiguration( AConfiguration* configuration )
 {
   mConfiguration = configuration;
@@ -119,10 +137,10 @@ Dali::Integration::AndroidFramework& AndroidFramework::Get()
 {
   DALI_ASSERT_ALWAYS( gAndroidFramework != nullptr && "AndroidFramework not instantiated" );
 
-  return gAndroidFramework->mAndroidFramework;
+  return *gAndroidFramework->mAndroidFramework;
 }
 
-AndroidFramework::AndroidFramework( Dali::Integration::AndroidFramework& androidFramework )
+AndroidFramework::AndroidFramework( Dali::Integration::AndroidFramework* androidFramework )
  : mAndroidFramework( androidFramework ),
    mFramework( nullptr ),
    mNativeApplication( nullptr ),