#include <adaptor-impl.h>
// EXTERNAL INCLUDES
-#ifdef OVER_TIZEN_SDK_2_2
-#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)
{
- path = "";
-#ifdef OVER_TIZEN_SDK_2_2
+#ifdef USE_APPFW
char *pathInt = app_get_data_path();
if ( pathInt )
{
path = pathInt;
free( pathInt );
}
+ else
+ {
+ 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);
+
+ Ecore_Wl_Window* ecoreWlWindow = AnyCast<Ecore_Wl_Window*>( mNativeWindow );
+ screen_connector_provider_remote_enable(appId, ecore_wl_window_surface_get(ecoreWlWindow));
+#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
} // namespace Internal