diff options
Diffstat (limited to 'client/ug-client.c')
-rwxr-xr-x | client/ug-client.c | 14 |
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); |