TizenRefApp-7366 [Call UI] Implement incoming call scenario with quick panel and... 89/90889/2
authorIgor Olshevskyi <i.olshevskyi@samsung.com>
Tue, 4 Oct 2016 15:07:38 +0000 (18:07 +0300)
committerIgor Olshevskyi <i.olshevskyi@samsung.com>
Tue, 4 Oct 2016 15:39:50 +0000 (18:39 +0300)
Change-Id: I9616e1b4801e4080668a4efb73a688d2a4d3e396

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

index 59e0e9d..047d667 100644 (file)
@@ -213,6 +213,16 @@ callui_result_e _callui_window_set_above_lockscreen_state(callui_window_h window
  */
 bool _callui_window_get_above_lockscreen_state(callui_window_h window_h);
 
+
+/**
+ * @brief Hides quick panel
+ *
+ * @param[in]  window_h        Window handle
+ *
+ * @return CALLUI_RESULT_OK on success or another result otherwise
+ */
+callui_result_e _callui_window_hide_quickpanel(callui_window_h window_h);
+
 /**
  * @brief Sets the quick panel for application window disable/enable state
  * @remark By default quick panel is enable
index 1e0fe08..32d8b1f 100644 (file)
@@ -205,6 +205,7 @@ static callui_result_e __callui_view_incoming_call_noti_oncreate(call_view_data_
        _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);
+       _callui_window_hide_quickpanel(ad->window);
 
        if (_callui_window_set_keygrab_mode(ad->window, CALLUI_KEY_HOME, CALLUI_WIN_KEYGRAB_SHARED) != CALLUI_RESULT_OK) {
                dbg("KEY_SELECT key grab failed");
@@ -766,6 +767,9 @@ static Evas_Event_Flags __gesture_layer_flick_end_cb(void *data, void *event_inf
 
        if (((line_info->angle >= 340. && line_info->angle <= 360.) ||
                        (line_info->angle >= 0. && line_info->angle <= 20.)) && !vd->rm_turned_on) {
+
+               _callui_manager_stop_alert(vd->base_view.ad->call_manager);
+
                DELETE_ECORE_IDLE_ENTERER(vd->transit_effect_idler);
                vd->transit_effect_idler = ecore_idle_enterer_before_add(__disappear_effect_activated_cb, vd);
        }
index 3c5c0fe..ff00ca0 100644 (file)
@@ -129,6 +129,7 @@ static callui_result_e __callui_view_incoming_call_oncreate(call_view_data_base_
 
        _callui_window_set_size_type(ad->window, CALLUI_WIN_SIZE_FULLSCREEN);
        _callui_window_set_rotation_locked(ad->window, true);
+       _callui_window_hide_quickpanel(ad->window);
 
        if (_callui_window_set_keygrab_mode(ad->window, CALLUI_KEY_HOME, CALLUI_WIN_KEYGRAB_TOPMOST) != CALLUI_RESULT_OK) {
                dbg("KEY_SELECT key grab failed");
index a453375..953b292 100755 (executable)
@@ -256,13 +256,7 @@ static void __caller_btn_click_cb(void *data, Evas_Object *obj, void *event_info
        CALLUI_RETURN_IF_FAIL(data);
 
        callui_qp_mc_h qp = data;
-       callui_app_data_t *ad = qp->ad;
-
-       __hide_minicontrol(qp);
-
-       _callui_window_activate(ad->window);
-
-       _callui_common_process_accept_incoming_call(ad);
+       _callui_common_process_accept_incoming_call(qp->ad);
 }
 
 static void __main_layout_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
index b4c7ca0..73760ac 100644 (file)
@@ -59,6 +59,7 @@ static void __eo_win_move_and_resize(callui_window_h window_h, bool force_resize
 static Elm_Win_Keygrab_Mode __convert_app_keygrab_mode(callui_win_keygrab_mode_e mode);
 static callui_result_e __create_tzsh_qp(callui_window_h window_h);
 static callui_result_e __set_above_lockscreen_state(callui_window_h window_h, bool above_lockscreen);
+static callui_result_e __hide_quickpanel(callui_window_h window_h);
 
 static callui_result_e __create_tzsh_qp(callui_window_h window_h)
 {
@@ -176,6 +177,8 @@ callui_result_e __callui_window_init(callui_window_h window_h, callui_app_data_t
 
        __eo_win_update_size(window_h, CALLUI_WIN_SIZE_ACTIVE_NOTI);
 
+       __hide_quickpanel(window_h);
+
        return __eo_win_set_rotation_locked(window_h, true);
 }
 
@@ -479,13 +482,38 @@ bool _callui_window_get_above_lockscreen_state(callui_window_h window_h)
        return res;
 }
 
+static callui_result_e __hide_quickpanel(callui_window_h window_h)
+{
+       tzsh_quickpanel_state_visible_e visible_state = TZSH_QUICKPANEL_STATE_VISIBLE_UNKNOWN;
+       int res = tzsh_quickpanel_visible_get(window_h->tzsh_qp, &visible_state);
+       CALLUI_RETURN_VALUE_IF_FAIL(res == TZSH_ERROR_NONE, CALLUI_RESULT_FAIL);
+
+       if (visible_state == TZSH_QUICKPANEL_STATE_VISIBLE_SHOWN) {
+               res = tzsh_quickpanel_hide(window_h->tzsh_qp);
+               CALLUI_RETURN_VALUE_IF_FAIL(res == TZSH_ERROR_NONE, CALLUI_RESULT_FAIL);
+       }
+       return CALLUI_RESULT_OK;
+}
+
+callui_result_e _callui_window_hide_quickpanel(callui_window_h window_h)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(window_h, CALLUI_RESULT_INVALID_PARAM);
+
+       return __hide_quickpanel(window_h);
+}
+
 callui_result_e _callui_window_set_quickpanel_disable(callui_window_h window_h, bool is_disable)
 {
        CALLUI_RETURN_VALUE_IF_FAIL(window_h, CALLUI_RESULT_INVALID_PARAM);
        CALLUI_RETURN_VALUE_IF_FAIL(window_h->tzsh_qp, CALLUI_RESULT_INVALID_PARAM);
 
-       int res = tzsh_quickpanel_scrollable_set(window_h->tzsh_qp, !is_disable);
-       CALLUI_RETURN_VALUE_IF_FAIL(res == TZSH_ERROR_NONE, CALLUI_RESULT_FAIL);
+       if (is_disable) {
+               callui_result_e res = __hide_quickpanel(window_h);
+               CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
+       }
+
+       int ret = tzsh_quickpanel_scrollable_set(window_h->tzsh_qp, !is_disable);
+       CALLUI_RETURN_VALUE_IF_FAIL(ret == TZSH_ERROR_NONE, CALLUI_RESULT_FAIL);
 
        return CALLUI_RESULT_OK;
 }