summaryrefslogtreecommitdiff
path: root/client/ug-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/ug-client.c')
-rwxr-xr-xclient/ug-client.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/client/ug-client.c b/client/ug-client.c
index cbbe223..11f385f 100755
--- a/client/ug-client.c
+++ b/client/ug-client.c
@@ -26,6 +26,7 @@
#include <dlog.h>
#include <aul.h>
#include <appsvc.h>
+#include <runtime_info.h>
#include "ug-client.h"
@@ -65,10 +66,16 @@ static int rotate(enum appcore_rm m, void *data)
{
struct appdata *ad = data;
int r;
+ bool is_rotation_lock = false;
if (ad == NULL || ad->win == NULL)
return 0;
+ /* rotation lock */
+ r = runtime_info_get_value_bool(RUNTIME_INFO_KEY_ROTATION_LOCK_ENABLED, &is_rotation_lock);
+ if ( !r && is_rotation_lock)
+ m = APPCORE_RM_PORTRAIT_NORMAL;
+
switch (m) {
case APPCORE_RM_PORTRAIT_NORMAL:
ug_send_event(UG_EVENT_ROTATE_PORTRAIT);
@@ -91,9 +98,6 @@ static int rotate(enum appcore_rm m, void *data)
break;
}
- if (r >= 0)
- elm_win_rotation_with_resize_set(ad->win, r);
-
return 0;
}
@@ -209,6 +213,7 @@ static int lang_changed(void *data)
static int app_create(void *data)
{
struct appdata *ad = data;
+ enum appcore_rm rm;
Evas_Object *win;
Evas_Object *ly;
@@ -230,6 +235,9 @@ static int app_create(void *data)
lang_changed(ad);
+ if (appcore_get_rotation_state(&rm) == 0)
+ rotate(rm, ad);
+
appcore_set_rotation_cb(rotate, ad);
appcore_set_event_callback(APPCORE_EVENT_LOW_MEMORY, low_memory, ad);
appcore_set_event_callback(APPCORE_EVENT_LOW_BATTERY, low_battery, ad);