#include "FApp_AppArg.h"
#include "FApp_IAppImpl.h"
#include "FApp_AppResourceImpl.h"
+#include <FSys_SettingInfoImpl.h>
using namespace Tizen::Base;
using namespace Tizen::Base::Collection;
_AppInfo::SetAppState(INITIALIZING);
+ r = _SettingInfoImpl::AddSettingEventListenerForInternal(*this);
+ SysTryLog(NID_APP, !IsFailed(r), "[%s] failed to add setting event listener.", GetErrorMessage(r));
+
return E_SUCCESS;
}
state_handler.low_memory = &OnLowMemory;
state_handler.low_battery = NULL;
- state_handler.language_changed = &OnLanguageChanged;
+ state_handler.language_changed = NULL;
state_handler.region_format_changed = NULL;
_Aul::SetPowerOffNotiListener(OnPowerOffNotiReceived, this);
SysTryReturnVoidResult(NID_APP, pAppImpl != null, E_INVALID_STATE, "[E_INVALID_STATE] Getting App instance failed.");
SysTryReturnVoidResult(NID_APP, pAppImpl->__pIAppImpl != null, E_INVALID_STATE, "[E_INVALID_STATE] Getting App instance failed.");
+ result r = _SettingInfoImpl::RemoveSettingEventListenerForInternal(*pAppImpl);
+ SysTryLog(NID_APP, !IsFailed(r), "[%s] failed to remove setting event listener.", GetErrorMessage(r));
+
__isTerminationRequested = true;
pAppImpl->__pIAppImpl->OnTerminate();
}
__pApp->OnBatteryLevelChanged(batteryLevel);
}
-void
-_AppImpl::OnLanguageChanged(void* user_data)
-{
- SysLog(NID_APP, "");
- _AppInfo::UpdatePackageInfo(true);
-
- _AppResourceImpl::Reinitialize();
- SysLog(NID_APP, "Language change done.");
-}
-
-
result
_AppImpl::SendUserEvent(RequestId requestId, const IList* pArgs, bool isPublic)
{
}
}
+void
+_AppImpl::OnSettingChanged(String& key)
+{
+ if (key == L"http://tizen.org/setting/locale.language")
+ {
+ _AppInfo::UpdatePackageInfo(true);
+ _AppResourceImpl::Reinitialize();
+ SysLog(NID_APP, "Reinitialized resources due to locale change.");
+ }
+}
+
bool
_AppImpl::IsForcedTermination(void)
{
#include <FSysBattery.h>
#include <FBaseRtIEventListener.h>
+#include <FSysISettingEventListener.h>
#include "FApp_Types.h"
#include "FApp_AppUserEvent.h"
#include "FApp_IAppUserEventListener.h"
: public Tizen::Base::Object
, public _IAppUserEventListener
, virtual public Tizen::Base::Runtime::IEventListener
+ , public Tizen::System::ISettingEventListener
{
public:
typedef result (_AppImpl::*AppRequestHandlerType)(service_s*, int, _AppHandler);
static void OnLowMemory(void* user_data);
/**
- * Called when language setting changes
- *
- * @param[in] user_data The user data passed from the callback registration function
- * @remarks This is a system dependent callback function
- */
- static void OnLanguageChanged(void* user_data);
-
- /**
* Set Listener
*
* @return An error code
static void OnPowerOffNotiReceived(void* node, void* pData);
+ /**
+ * Called when the setting information is changed.
+ */
+ virtual void OnSettingChanged(Tizen::Base::String& key);
+
private:
/**
* This is the default constructor for this class.