2 * Copyright (c) 2019 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <dali/internal/adaptor/common/adaptor-impl.h>
22 #include <app_common.h>
23 #include <system_settings.h>
25 #ifdef APPCORE_WATCH_AVAILABLE
26 #include <screen_connector_provider.h>
30 #include <dali/internal/adaptor/tizen-wayland/dali-ecore-wl2.h>
32 #include <dali/internal/adaptor/tizen-wayland/dali-ecore-wayland.h>
50 static void OnSystemLanguageChanged( system_settings_key_e key, void* data )
53 if( system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale ) != SYSTEM_SETTINGS_ERROR_NONE ||
56 DALI_LOG_ERROR( "DALI OnSystemLanguageChanged failed " );
60 Adaptor* adaptor = static_cast< Adaptor* >( data );
63 adaptor->SetRootLayoutDirection( locale );
71 std::string Adaptor::GetApplicationPackageName()
73 char appname[4096] = {0};
75 aul_app_get_pkgname_bypid( pid, appname, sizeof( appname ) );
79 void Adaptor::GetDataStoragePath( std::string& path)
82 char *pathInt = app_get_data_path();
96 void Adaptor::GetAppId( std::string& appId )
113 void Adaptor::SurfaceInitialized()
115 #ifdef APPCORE_WATCH_AVAILABLE
116 if ( !mUseRemoteSurface )
123 // Use strdup() in app_get_id(), so need to free memory
126 #ifdef ECORE_WAYLAND2
127 Ecore_Wl2_Window* ecoreWlWindow = AnyCast< Ecore_Wl2_Window* >( mWindows.front()->GetNativeHandle() );
128 screen_connector_provider_remote_enable( appId, ecore_wl2_window_surface_get( ecoreWlWindow ) );
130 Ecore_Wl_Window* ecoreWlWindow = AnyCast< Ecore_Wl_Window* >( mWindows.front()->GetNativeHandle() );
131 screen_connector_provider_remote_enable( appId, ecore_wl_window_surface_get( ecoreWlWindow ) );
138 void Adaptor::SetupSystemInformation()
140 if( system_settings_add_changed_cb( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, OnSystemLanguageChanged, this ) != SYSTEM_SETTINGS_ERROR_NONE )
142 DALI_LOG_ERROR( "DALI system_settings_add_changed_cb failed.\n" );
147 if( system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale ) != SYSTEM_SETTINGS_ERROR_NONE ||
150 DALI_LOG_ERROR( "DALI OnSystemLanguageChanged failed " );
154 SetRootLayoutDirection( locale );
160 } // namespace Adaptor
162 } // namespace Internal