#include <adaptor-impl.h>
// EXTERNAL INCLUDES
-#ifndef TIZEN_SDK_2_2_COMPATIBILITY
-#include <app.h>
+#include <app_common.h>
+#ifdef APPCORE_WATCH_AVAILABLE
+#include <screen_connector_provider.h>
+#include <ecore-wl-render-surface.h>
#endif
+#include <system_settings.h>
+
namespace Dali
{
namespace Adaptor
{
+namespace
+{
+
+static void OnSystemLanguageChanged( system_settings_key_e key, void* data )
+{
+ char* locale = NULL;
+ if( system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale ) != SYSTEM_SETTINGS_ERROR_NONE ||
+ locale == NULL )
+ {
+ DALI_LOG_ERROR( "DALI OnSystemLanguageChanged failed " );
+ return;
+ }
+
+ Adaptor* adaptor = static_cast< Adaptor* >( data );
+ if( adaptor != NULL )
+ {
+ adaptor->SetRootLayoutDirection( locale );
+ }
+
+ free( locale );
+}
+
+} // namesapce
+
void Adaptor::GetDataStoragePath( std::string& path)
{
-#ifdef TIZEN_SDK_2_2_COMPATIBILITY
- path = "";
-#else
+#ifdef USE_APPFW
char *pathInt = app_get_data_path();
if ( pathInt )
{
path = "";
}
#endif
+
+}
+
+void Adaptor::GetAppId( std::string& appId )
+{
+#ifdef USE_APPFW
+ char *id;
+ app_get_id(&id);
+ if ( id )
+ {
+ appId = id;
+ }
+ else
+ {
+ appId = "";
+ }
+#endif
+}
+
+void Adaptor::SurfaceInitialized()
+{
+#ifdef APPCORE_WATCH_AVAILABLE
+ if ( !mUseRemoteSurface )
+ {
+ return;
+ }
+ char *appId;
+ app_get_id(&appId);
+
+ // Use strdup() in app_get_id(), so need to free memory
+ if( appId )
+ {
+ Ecore_Wl_Window* ecoreWlWindow = AnyCast<Ecore_Wl_Window*>( mNativeWindow );
+ screen_connector_provider_remote_enable(appId, ecore_wl_window_surface_get(ecoreWlWindow));
+ free( appId );
+ }
+#endif
+}
+
+void Adaptor::SetupSystemInformation()
+{
+ if( system_settings_add_changed_cb( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, OnSystemLanguageChanged, this ) != SYSTEM_SETTINGS_ERROR_NONE )
+ {
+ DALI_LOG_ERROR( "DALI system_settings_set_changed_cb failed.\n" );
+ return;
+ }
+
+ char* locale = NULL;
+ if( system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale ) != SYSTEM_SETTINGS_ERROR_NONE ||
+ locale == NULL )
+ {
+ DALI_LOG_ERROR( "DALI OnSystemLanguageChanged failed " );
+ return;
+ }
+
+ SetRootLayoutDirection( locale );
+
+ free( locale );
+
}
} // namespace Adaptor