TizenRefApp-6579 [Call UI] Fix issue with window indicator animation during active... 34/76634/2
authorIgor Olshevskyi <i.olshevskyi@samsung.com>
Fri, 24 Jun 2016 13:28:07 +0000 (16:28 +0300)
committerIgor Olshevskyi <i.olshevskyi@samsung.com>
Fri, 24 Jun 2016 13:31:37 +0000 (16:31 +0300)
Change-Id: Icff54a1f34b6a0ac4fc23233a52de639b4209343

inc/callui-window.h
src/callui-view-incoming-call-noti.c
src/callui-window.c

index a9bcb66..ab0c3fd 100644 (file)
@@ -183,4 +183,14 @@ callui_result_e _callui_window_set_keygrab_mode(callui_window_h win_handler,
  */
 callui_result_e _callui_window_unset_keygrab_mode(callui_window_h win_handler, const char *key);
 
+/**
+ * @brief Sets visibility state of indicator
+ *
+ * @param[in]  win_handler     Window handler
+ * @param[in]  is_visible      Visibility state of indicator
+ *
+ * @return CALLUI_RESULT_OK on success or another result otherwise
+ */
+callui_result_e _callui_window_set_indicator_visible(callui_window_h win_handler, bool is_visible);
+
 #endif /* __CALLUI_WINDOW_H__ */
index d3ae8f8..f04113f 100644 (file)
@@ -198,6 +198,7 @@ static callui_result_e __callui_view_incoming_call_noti_oncreate(call_view_data_
        _callui_window_set_size_type(ad->window, CALLUI_WIN_SIZE_ACTIVE_NOTI);
        _callui_window_set_rotation_locked(ad->window, false);
        _callui_window_set_top_level_priority(ad->window, true);
+       _callui_window_set_indicator_visible(ad->window, false);
 
        if (_callui_window_set_keygrab_mode(ad->window, CALLUI_KEY_SELECT, CALLUI_WIN_KEYGRAB_TOPMOST) != CALLUI_RESULT_OK) {
                dbg("KEY_SELECT key grab failed");
@@ -232,6 +233,7 @@ static callui_result_e __callui_view_incoming_call_noti_ondestroy(call_view_data
        _callui_window_set_size_type(ad->window, CALLUI_WIN_SIZE_FULLSCREEN);
        _callui_window_set_rotation_locked(ad->window, true);
        _callui_window_set_top_level_priority(ad->window, false);
+       _callui_window_set_indicator_visible(ad->window, true);
 
        _callui_window_unset_keygrab_mode(ad->window, CALLUI_KEY_SELECT);
 
index c6372ae..4297aa0 100644 (file)
@@ -378,3 +378,20 @@ callui_result_e _callui_window_unset_keygrab_mode(callui_window_h win_handler, c
        }
        return CALLUI_RESULT_OK;
 }
+
+callui_result_e _callui_window_set_indicator_visible(callui_window_h win_handler, bool is_visible)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(win_handler, CALLUI_RESULT_INVALID_PARAM);
+
+       Elm_Win_Indicator_Mode indicator_mode = elm_win_indicator_mode_get(win_handler->win);
+
+       if (is_visible && indicator_mode == ELM_WIN_INDICATOR_HIDE) {
+               elm_win_indicator_mode_set(win_handler->win, ELM_WIN_INDICATOR_SHOW);
+       } else if (!is_visible && indicator_mode == ELM_WIN_INDICATOR_SHOW) {
+               elm_win_indicator_mode_set(win_handler->win, ELM_WIN_INDICATOR_HIDE);
+       } else {
+               dbg("Indicator is already %s", is_visible ? "shown": "hidden");
+       }
+
+       return CALLUI_RESULT_OK;
+}