ui_gadget_h ug;
TapiHandle *handle;
bool tapi_responsed;
+ bool pause_flag;
setting_view *view_to_load;
SETTING_TRACE_END;
}
+static Eina_Bool __delay_remove(void *data)
+{
+ SETTING_TRACE_BEGIN;
+ SettingAboutUG *ad = data;
+ if (ad->popup)
+ {
+ evas_object_del(ad->popup);
+ ad->popup = NULL;
+ }
+ return FALSE;
+}
static void _input_panel_event_cb(void *data, Ecore_IMF_Context *ctx, int value)
{
SETTING_TRACE_BEGIN;
if (ad->item_dev_name) {
elm_object_focus_set(ad->item_dev_name->eo_check, EINA_FALSE);
- }
+ }//if Setting is overlapped by other app,the entry will lost its focus,
+ //the input pannel will be hided and any popup should be removed to fix blinking issue.
+ if (ad->pause_flag)
+ ecore_idler_add(__delay_remove, ad);
}
}
static void setting_about_ug_on_pause(ui_gadget_h ug, service_h service,
void *priv)
{
+ SETTING_TRACE_BEGIN;
+ SettingAboutUG *SettingAboutUG = priv;
+ SettingAboutUG->pause_flag = TRUE;
}
static void setting_about_ug_on_resume(ui_gadget_h ug, service_h service,
SETTING_TRACE_BEGIN;
setting_retm_if((!priv), "!priv");
SettingAboutUG *aboutUG = priv;
+ aboutUG->pause_flag = FALSE;
char str[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = { 0, };
if (!elm_entry_is_empty(obj))
elm_object_signal_emit(entry_container, "elm,state,eraser,show", "elm");
elm_object_signal_emit(entry_container, "elm,state,guidetext,hide", "elm");
+
+ Ecore_IMF_Context *imf_context = (Ecore_IMF_Context *)elm_entry_imf_context_get(obj);
+ if (imf_context) ecore_imf_context_input_panel_show(imf_context);
}
static void __eraser_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) // When X marked button is clicked, empty entry's contents.
{