From: Taehyub Kim Date: Fri, 31 Jan 2020 05:40:07 +0000 (+0900) Subject: more_option: fix the delay for opened get API X-Git-Tag: submit/tizen_5.5/20200218.023333~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f9110ab190bfeda6b363946d52417f09a154d580;p=platform%2Fcore%2Fuifw%2Fefl-ext.git more_option: fix the delay for opened get API Change-Id: I86988ca90cba8100ba9f2e890603fcd15fb80b41 --- diff --git a/inc/wearable/efl_extension_common_private.h b/inc/wearable/efl_extension_common_private.h index af1ef02..3b30597 100644 --- a/inc/wearable/efl_extension_common_private.h +++ b/inc/wearable/efl_extension_common_private.h @@ -304,6 +304,7 @@ struct _Eext_More_Option_Data { Eina_Stringshare *scrollbar_fg_color_class; Eina_Stringshare *scrollbar_bg_color_class; // + Eina_Bool is_opened; void *mask_buffer; }; diff --git a/src/wearable/efl_extension_more_option.c b/src/wearable/efl_extension_more_option.c index 6500922..243094a 100644 --- a/src/wearable/efl_extension_more_option.c +++ b/src/wearable/efl_extension_more_option.c @@ -1365,7 +1365,11 @@ _drawer_back_cb(void *data, Evas_Object *obj, void *event_info) eext_rotary_object_event_activated_set(mold->rotary_selector, EINA_FALSE); LOGI("Panel Status: %d",elm_panel_hidden_get(panel)); - if (!elm_panel_hidden_get(panel)) elm_panel_toggle(panel); + if (!elm_panel_hidden_get(panel)) + { + elm_panel_toggle(panel); + mold->is_opened = !elm_panel_hidden_get(panel); + } } static void @@ -1516,6 +1520,7 @@ _panel_cue_clicked_cb(void *data, Evas_Object *obj, const char *emission, const return; } + mold->is_opened = EINA_TRUE; if (__elm_product_theme_is_loaded()) { _eext_more_option_effect_create(mold); @@ -1940,6 +1945,7 @@ eext_more_option_add(Evas_Object *parent) } LOGI("Panel Status: %d",elm_panel_hidden_get(mold->panel)); elm_panel_toggle(mold->panel); + mold->is_opened = !elm_panel_hidden_get(mold->panel); //for accessibility evas_object_smart_callback_add(mold->more_option, "atspi,screen,reader,changed", _more_option_screen_reader_changed, mold); @@ -2238,27 +2244,36 @@ eext_more_option_opened_set(Evas_Object *obj, Eina_Bool opened) } // //ONEUI1.5(20190424):Avoid panel close by api when panel is not active. - if (!opened && !mold->is_panel_active) return; + if (!opened && !mold->is_panel_active) + { + mold->is_opened = opened; + return; + } // if (elm_panel_hidden_get(mold->panel) && opened) { + mold->is_opened = opened; _eext_more_option_effect_create(mold); } else if (!elm_panel_hidden_get(mold->panel) && !opened) { - LOGI("Panel Status: %d",elm_panel_hidden_get(mold->panel)); elm_panel_toggle(mold->panel); + mold->is_opened = !elm_panel_hidden_get(mold->panel); } } else { - LOGI("Panel Status: %d",elm_panel_hidden_get(mold->panel)); if (elm_panel_hidden_get(mold->panel) && opened) { eext_rotary_object_event_activated_set(mold->rotary_selector, EINA_TRUE); elm_panel_toggle(mold->panel); + mold->is_opened = !elm_panel_hidden_get(mold->panel); + } + else if (!elm_panel_hidden_get(mold->panel) && !opened) + { + elm_panel_toggle(mold->panel); + mold->is_opened = !elm_panel_hidden_get(mold->panel); } - else if (!elm_panel_hidden_get(mold->panel) && !opened) elm_panel_toggle(mold->panel); } } } @@ -2276,7 +2291,7 @@ eext_more_option_opened_get(Evas_Object *obj) mold = _more_option_data_get(obj); if (mold) { - return !elm_panel_hidden_get(mold->panel); + return mold->is_opened; } return EINA_FALSE; @@ -2439,12 +2454,15 @@ _access_action_cb(void *data, Evas_Object *obj, Elm_Access_Action_Info *action_i //ONEUI1.5(12MAR2019): fixed bug(The bezel is not operated when screen-reader is on) if (__elm_product_theme_is_loaded()) { + //There are VI delays here, so turn on the is_opened flag directly + mold->is_opened = EINA_TRUE; _eext_more_option_effect_create(mold); } else { eext_rotary_object_event_activated_set(mold->rotary_selector, EINA_TRUE); elm_panel_toggle(mold->panel); + mold->is_opened = !elm_panel_hidden_get(mold->panel); } // }