X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Ftizen%2Fframework-tizen.cpp;h=addc5a71b9a010b1b600c877a8febf91b52795b1;hb=07258d253749adf0fc003cdf7329b46d86591cba;hp=4fcba8174e0ed2f45be2b33818d8d61335da8ace;hpb=49ce5c4f4d8dd5b849f86ede9b938c96ef414dcc;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/tizen/framework-tizen.cpp b/adaptors/tizen/framework-tizen.cpp index 4fcba81..addc5a7 100644 --- a/adaptors/tizen/framework-tizen.cpp +++ b/adaptors/tizen/framework-tizen.cpp @@ -26,6 +26,7 @@ #include #include +#include #include // CONDITIONAL INCLUDES @@ -168,6 +169,13 @@ struct Framework::Impl #endif mApplicationType = type; mCallbackManager = CallbackManager::New(); + + char* region; + char* language; + system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, ®ion ); + system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &language ); + mRegion = std::string( region ); + mLanguage = std::string( language ); } ~Impl() @@ -207,11 +215,32 @@ struct Framework::Impl } } + void SetLanguage( const std::string& language ) + { + mLanguage = language; + } + + void SetRegion( const std::string& region ) + { + mRegion = region; + } + + std::string GetLanguage() const + { + return mLanguage; + } + + std::string GetRegion() const + { + return mRegion; + } // Data Type mApplicationType; CallbackBase* mAbortCallBack; CallbackManager *mCallbackManager; + std::string mLanguage; + std::string mRegion; Framework* mFramework; AppCore::AppEventHandlerPtr handlers[5]; @@ -350,8 +379,9 @@ struct Framework::Impl static void AppLanguageChanged(AppCore::AppEventInfoPtr event, void *data) { - Observer *observer = &static_cast(data)->mObserver; - + Framework* framework = static_cast(data); + Observer *observer = &framework->mObserver; + framework->SetLanguage( std::string( static_cast(event->value) ) ); observer->OnLanguageChanged(); } @@ -361,23 +391,65 @@ struct Framework::Impl static void AppRegionChanged(AppCore::AppEventInfoPtr event, void *data) { - Observer *observer = &static_cast(data)->mObserver; - + Framework* framework = static_cast(data); + Observer *observer = &framework->mObserver; + framework->SetRegion( std::string( static_cast(event->value) ) ); observer->OnRegionChanged(); } static void AppBatteryLow(AppCore::AppEventInfoPtr event, void *data) { Observer *observer = &static_cast(data)->mObserver; + int status = *static_cast(event->value); + Dali::DeviceStatus::Battery::Status result = Dali::DeviceStatus::Battery::NORMAL; - observer->OnBatteryLow(); + // convert to dali battery status + switch( status ) + { + case 1: + { + result = Dali::DeviceStatus::Battery::POWER_OFF; + break; + } + case 2: + { + result = Dali::DeviceStatus::Battery::CRITICALLY_LOW; + break; + } + default : + break; + } + observer->OnBatteryLow(result); } static void AppMemoryLow(AppCore::AppEventInfoPtr event, void *data) { Observer *observer = &static_cast(data)->mObserver; + int status = *static_cast(event->value); + Dali::DeviceStatus::Memory::Status result = Dali::DeviceStatus::Memory::NORMAL; - observer->OnMemoryLow(); + // convert to dali memmory status + switch( status ) + { + case 1: + { + result = Dali::DeviceStatus::Memory::NORMAL; + break; + } + case 2: + { + result = Dali::DeviceStatus::Memory::LOW; + break; + } + case 4: + { + result = Dali::DeviceStatus::Memory::CRITICALLY_LOW; + break; + } + default : + break; + } + observer->OnMemoryLow(result); } @@ -452,34 +524,6 @@ struct Framework::Impl observer->OnAmbientChanged(ambient); } - static void WatchAppLanguageChanged(app_event_info_h event, void *data) - { - Observer *observer = &static_cast(data)->mObserver; - - observer->OnLanguageChanged(); - } - - static void WatchAppRegionChanged(app_event_info_h event, void *data) - { - Observer *observer = &static_cast(data)->mObserver; - - observer->OnRegionChanged(); - } - - static void WatchAppBatteryLow(app_event_info_h event, void *data) - { - Observer *observer = &static_cast(data)->mObserver; - - observer->OnBatteryLow(); - } - - static void WatchAppMemoryLow(app_event_info_h event, void *data) - { - Observer *observer = &static_cast(data)->mObserver; - - observer->OnMemoryLow(); - } - static void WatchAppControl(app_control_h app_control, void *data) { Framework* framework = static_cast(data); @@ -530,10 +574,10 @@ struct Framework::Impl mWatchCallback.ambient_tick = WatchAppAmbientTick; mWatchCallback.ambient_changed = WatchAppAmbientChanged; - watch_app_add_event_handler(&watchHandlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, WatchAppBatteryLow, mFramework); - watch_app_add_event_handler(&watchHandlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, WatchAppMemoryLow, mFramework); - watch_app_add_event_handler(&watchHandlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, WatchAppLanguageChanged, mFramework); - watch_app_add_event_handler(&watchHandlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, WatchAppRegionChanged, mFramework); + AppCore::AppAddEventHandler(&handlers[AppCore::LOW_BATTERY], AppCore::LOW_BATTERY, AppBatteryLow, mFramework); + AppCore::AppAddEventHandler(&handlers[AppCore::LOW_MEMORY], AppCore::LOW_MEMORY, AppMemoryLow, mFramework); + AppCore::AppAddEventHandler(&handlers[AppCore::LANGUAGE_CHANGED], AppCore::LANGUAGE_CHANGED, AppLanguageChanged, mFramework); + AppCore::AppAddEventHandler(&handlers[AppCore::REGION_FORMAT_CHANGED], AppCore::REGION_FORMAT_CHANGED, AppRegionChanged, mFramework); ret = watch_app_main(*mFramework->mArgc, *mFramework->mArgv, &mWatchCallback, mFramework); #endif @@ -547,7 +591,6 @@ struct Framework::Impl #endif } - private: // Undefined Impl( const Impl& impl ); @@ -687,6 +730,26 @@ void Framework::AbortCallback( ) } } +void Framework::SetLanguage( const std::string& language ) +{ + mImpl->SetLanguage( language ); +} + +void Framework::SetRegion( const std::string& region ) +{ + mImpl->SetRegion( region ); +} + +std::string Framework::GetLanguage() const +{ + return mImpl->GetLanguage(); +} + +std::string Framework::GetRegion() const +{ + return mImpl->GetRegion(); +} + } // namespace Adaptor } // namespace Internal