summaryrefslogtreecommitdiff
path: root/lib/phoneui/ph-front-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/phoneui/ph-front-view.c')
-rwxr-xr-xlib/phoneui/ph-front-view.c382
1 files changed, 0 insertions, 382 deletions
diff --git a/lib/phoneui/ph-front-view.c b/lib/phoneui/ph-front-view.c
deleted file mode 100755
index 2babe0b..0000000
--- a/lib/phoneui/ph-front-view.c
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-#include <bundle.h>
-#include <vconf.h>
-#include <aul.h>
-#include <appsvc.h>
-
-#include "phone.h"
-#include "phone-ui.h"
-#include "phone-log.h"
-#include "phone-dialer.h"
-#include "ph-front-view.h"
-
-// for removing build warning ////////////////////////////////////
-void ctui_change_background(void *data, bool is_background);
-void ctui_list_view_reset(void *clist_d);
-Evas_Object* ctui_create_phone_list_view(void *ug, Evas_Object *win, Evas_Object *navi);
-void ct_list_navi_set(int mode, void *clist_d);
-////////////////////////////////////////////////////////
-
-static void front_view_reset_current_sub_view(ph_phoneui_data *phoneui_d)
-{
- PH_FN_CALL;
- p_ret_if(phoneui_d->select_tab <= PH_VIEW_NONE || PH_VIEW_MAX <= phoneui_d->select_tab);
- if (phoneui_d->sub_view[phoneui_d->select_tab]) {
- switch (phoneui_d->select_tab) {
- case PH_VIEW_DIALER:
- phone_dialer_view_reset(phoneui_d->sub_view[PH_VIEW_DIALER]);
- break;
- case PH_VIEW_CONTACT :
- ctui_list_view_reset(evas_object_data_get(phoneui_d->navi, "clist_d"));
- break;
- case PH_VIEW_LOG :
- phone_log_view_reset(phoneui_d->navi);
- break;
- case PH_VIEW_FAVORITE :
- phone_favor_view_reset(phoneui_d->sub_view[PH_VIEW_FAVORITE]);
- break;
- }
- }
-}
-
-static void front_view_load_sub_view(ph_phoneui_data *phoneui_d, int tab_index)
-{
- PH_FN_CALL;
- switch (tab_index) {
- case PH_VIEW_CONTACT:
- phoneui_d->sub_view[PH_VIEW_CONTACT] = ctui_create_phone_list_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- return;
- case PH_VIEW_DIALER:
- phoneui_d->sub_view[tab_index] = phone_create_dialer_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- break;
- case PH_VIEW_LOG:
- phoneui_d->sub_view[tab_index] = phone_create_log_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- break;
- case PH_VIEW_FAVORITE:
- phoneui_d->sub_view[tab_index] = phone_create_favorite_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- break;
- default:
- return;
- };
-}
-
-static void front_view_show_sub_view(ph_phoneui_data *phoneui_d, int tab_index)
-{
- PH_FN_CALL;
- Evas_Object *view;
- p_retm_if(tab_index <= PH_VIEW_NONE || PH_VIEW_MAX <= tab_index, "tab index is invalid");
- p_retm_if(phoneui_d->select_tab == tab_index, "The tab is already shown");
-
- front_view_reset_current_sub_view(phoneui_d);
- phone_hide_notify(phoneui_d->navi);
-
- switch (tab_index) {
- case PH_VIEW_DIALER:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_dialer_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- phone_dialer_set_navi(phoneui_d->sub_view[PH_VIEW_DIALER]);
- phone_dialer_check_focus(phoneui_d->sub_view[PH_VIEW_DIALER]);
- if(!phoneui_d->ug)
- phone_front_view_show_call_app(phoneui_d);
- break;
- case PH_VIEW_CONTACT:
- if (NULL == phoneui_d->sub_view[tab_index]) {
- phoneui_d->sub_view[PH_VIEW_CONTACT] = ctui_create_phone_list_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- }
- ct_list_navi_set(0, evas_object_data_get(phoneui_d->navi, "clist_d"));
- break;
- case PH_VIEW_LOG:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_log_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- if (!phoneui_d->ug)
- phone_log_missed_info_update(phoneui_d->navi);
- phone_log_set_navi(phoneui_d->navi);
- break;
- case PH_VIEW_FAVORITE:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_favorite_view(phoneui_d->ug,
- phoneui_d->win, phoneui_d->navi);
- phone_favor_set_navi(phoneui_d->sub_view[tab_index], PH_FAVOR_MODE_DEFAULT);
- break;
- default:
- return;
- }
- phoneui_d->select_tab = tab_index;
- view = elm_object_part_content_get(phoneui_d->layout, "elm.swallow.content");
- if (view) {
- elm_object_part_content_unset(phoneui_d->layout, "elm.swallow.content");
- evas_object_hide(view);
- }
- elm_object_part_content_set(phoneui_d->layout, "elm.swallow.content", phoneui_d->sub_view[tab_index]);
- evas_object_show(phoneui_d->sub_view[tab_index]);
-}
-
-static Eina_Bool front_view_load_all_sub_view(void *data)
-{
- PH_FN_CALL;
- ph_phoneui_data *phoneui_d = data;
- int i;
-
- for (i=PH_VIEW_DIALER;i<PH_VIEW_MAX;i++) {
- if (NULL == phoneui_d->sub_view[i]) {
- front_view_load_sub_view(phoneui_d, i);
- return ECORE_CALLBACK_RENEW;
- }
- }
- phoneui_d->idler = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-API Eina_Bool phone_front_view_load_timer(void *data)
-{
- ph_phoneui_data *phoneui_d = data;
- phoneui_d->idler = ecore_idler_add(front_view_load_all_sub_view, phoneui_d);
- phoneui_d->timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void front_view_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_FN_CALL;
- int i;
- Elm_Object_Item *selected_it;
- ph_phoneui_data *phoneui_d = data;
-
- selected_it = elm_toolbar_selected_item_get(obj);
-
- for (i=PH_VIEW_DIALER;i<PH_VIEW_MAX;i++) {
- if (phoneui_d->item[i])
- if (selected_it == phoneui_d->item[i]) break;
- }
- PH_DBG("cur sel : %d, sel index : %d", phoneui_d->select_tab, i);
- front_view_show_sub_view(phoneui_d, i);
-}
-
-static void front_view_delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_FN_CALL;
- ph_phoneui_data *phoneui_d = data;
- int i;
-
- p_retm_if(NULL == phoneui_d, "phoneui_d is null");
-
- if (PH_VIEW_NONE != phoneui_d->select_tab) {
- int ret = vconf_set_int(PH_START_VIEW, phoneui_d->select_tab);
- p_warn_if(0 != ret, "vconf_set_int() Failed(%d)", ret);
- }
-
- if (phoneui_d->contact_ug) {
- ug_destroy(phoneui_d->contact_ug);
- phoneui_d->sub_view[PH_VIEW_CONTACT] = NULL;
- }
-
- for (i=0;i<PH_VIEW_MAX;i++) {
- if (phoneui_d->sub_view[i]) {
- evas_object_del(phoneui_d->sub_view[i]);
- }
- }
-
- if (phoneui_d->idler)
- ecore_idler_del(phoneui_d->idler);
-
- if (phoneui_d->timer)
- ecore_timer_del(phoneui_d->timer);
-
- free(phoneui_d);
- PH_FN_END;
-}
-
-Evas_Object* ph_front_create_toolbar(ph_phoneui_data *phoneui_d)
-{
- Evas_Object *base;
- Evas_Object *layout;
- Evas_Object *naviframe;
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
-
- base = elm_layout_add(phoneui_d->win);
- p_retvm_if(NULL == base, NULL, "elm_layout_add() Failed");
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_layout_theme_set(base, "layout", "application", "default");
- elm_win_resize_object_add(phoneui_d->win, base);
- evas_object_show(base);
-
- naviframe = elm_naviframe_add(base);
- elm_naviframe_prev_btn_auto_pushed_set(naviframe, EINA_FALSE);
- elm_object_part_content_set(base, "elm.swallow.content", naviframe);
- phoneui_d->navi = naviframe;
-
- layout = elm_layout_add(naviframe);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() Failed");
- elm_layout_theme_set(layout, "layout", "tabbar", "default");
- phoneui_d->layout = layout;
-
- toolbar = elm_toolbar_add(naviframe);
- p_retvm_if(NULL == toolbar, NULL, "elm_toolbar_add() Failed");
- elm_object_style_set(toolbar, "tabbar");
- elm_object_part_content_set(layout, "elm.swallow.tabbar", toolbar);
- phoneui_d->tabbar = toolbar;
-
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
-
- phoneui_d->item[PH_VIEW_DIALER] = elm_toolbar_item_append(toolbar,
- IMG_DIALER_ICON, T_(PH_GET_TEXT_BASIC, PHTEXT_DIALER), front_view_change_cb, phoneui_d);
- phoneui_d->item[PH_VIEW_CONTACT] = elm_toolbar_item_append(toolbar,
- IMG_CONTACTS_ICON, S_(PH_SYS_BODY_CONTACTS), front_view_change_cb, phoneui_d);
- phoneui_d->item[PH_VIEW_LOG] = elm_toolbar_item_append(toolbar,
- IMG_LOGS_ICON, T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS), front_view_change_cb, phoneui_d);
- phoneui_d->item[PH_VIEW_FAVORITE] = elm_toolbar_item_append(toolbar,
- IMG_FAVORITE_ICON, T_(PH_GET_TEXT_BASIC, PHTEXT_FAVORITES), front_view_change_cb, phoneui_d);
-
- navi_it = elm_naviframe_item_push(naviframe, NULL, NULL, NULL, layout, NULL);
- elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE);
- evas_object_event_callback_add(phoneui_d->layout, EVAS_CALLBACK_DEL,
- front_view_delete_cb, phoneui_d);
-
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
- PH_FN_END;
- return base;
-}
-
-API void phone_front_view_region_changed(ph_phoneui_data *phoneui_d)
-{
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_LOG])
- phone_log_views_update(phoneui_d->navi);
-}
-
-API void phone_front_view_pause(ph_phoneui_data *phoneui_d)
-{
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_LOG])
- phone_log_set_background(phoneui_d->navi, true);
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_CONTACT])
- ctui_change_background(phoneui_d->navi, true);
-}
-
-API void phone_front_view_resume(ph_phoneui_data *phoneui_d)
-{
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_LOG]) {
- phone_log_set_background(phoneui_d->navi, false);
- if (PH_VIEW_LOG == phoneui_d->select_tab)
- phone_log_missed_info_update(phoneui_d->navi);
- }
- if(phoneui_d && phoneui_d->sub_view[PH_VIEW_CONTACT])
- ctui_change_background(phoneui_d->navi, false);
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_DIALER]) {
- if (PH_VIEW_DIALER == phoneui_d->select_tab)
- phone_dialer_view_resume(phoneui_d->sub_view[PH_VIEW_DIALER]);
- }
-}
-
-API void phone_front_view_reset(ph_phoneui_data *phoneui_d, int tab_index, char *val)
-{
- PH_FN_CALL;
- int call_launched = FALSE;
- Evas_Object *view;
-
- front_view_reset_current_sub_view(phoneui_d);
- if (phoneui_d->sub_view[PH_VIEW_LOG])
- phone_log_set_background(phoneui_d->navi, false);
- if (phoneui_d->sub_view[PH_VIEW_CONTACT])
- ctui_change_background(phoneui_d->navi, false);
-
- if(PH_VIEW_NONE != tab_index) {
- switch (tab_index) {
- case PH_VIEW_DIALER:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_dialer_view(phoneui_d->ug, phoneui_d->win, phoneui_d->navi);
- if (val)
- phone_dialer_view_set_num(phoneui_d->sub_view[PH_VIEW_DIALER], val+4);
- else
- phone_dialer_view_resume(phoneui_d->sub_view[PH_VIEW_DIALER]);
-
- phone_dialer_set_navi(phoneui_d->sub_view[PH_VIEW_DIALER]);
- phone_dialer_check_focus(phoneui_d->sub_view[PH_VIEW_DIALER]);
-
- if(!phoneui_d->ug)
- call_launched = phone_front_view_show_call_app(phoneui_d);
- break;
- case PH_VIEW_LOG:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_log_view(phoneui_d->ug, phoneui_d->win, phoneui_d->navi);
- if (!phoneui_d->ug)
- phone_log_missed_info_update(phoneui_d->navi);
- phone_log_set_navi(phoneui_d->navi);
- break;
- case PH_VIEW_FAVORITE:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_favorite_view(phoneui_d->ug, phoneui_d->win, phoneui_d->navi);
- phone_favor_set_navi(phoneui_d->sub_view[tab_index], PH_FAVOR_MODE_DEFAULT);
- break;
- default:
- break;
- }
-
- view = elm_object_part_content_get(phoneui_d->layout, "elm.swallow.content");
- if (view) {
- elm_object_part_content_unset(phoneui_d->layout, "elm.swallow.content");
- evas_object_hide(view);
- }
- elm_object_part_content_set(phoneui_d->layout, "elm.swallow.content", phoneui_d->sub_view[tab_index]);
- evas_object_show(phoneui_d->sub_view[tab_index]);
- phoneui_d->select_tab = tab_index;
- elm_toolbar_item_selected_set(phoneui_d->item[tab_index], EINA_TRUE);
- if (!phoneui_d->ug)
- vconf_set_int(PH_START_VIEW, tab_index);
- }
-
- if (phoneui_d->win && FALSE == call_launched)
- elm_win_activate(phoneui_d->win);
- phoneui_d->timer = ecore_timer_add(3.0, phone_front_view_load_timer, phoneui_d);
-}
-
-static int front_view_call_app_check(const char *pkg_name, void *data)
-{
- int *call_app_launched = data;
-
- // premise : Only one Call app can be running at a time
- if (1 == aul_app_is_running(pkg_name)) {
- aul_open_app(pkg_name);
- *call_app_launched = TRUE;
- return 0;
- }
- return 1;
-}
-
-API int phone_front_view_show_call_app(ph_phoneui_data *phoneui_d)
-{
- PH_FN_CALL;
- bundle * bd;
- int call_app_launched = FALSE;
- bd = bundle_create();
- appsvc_set_operation(bd, APPSVC_OPERATION_CALL);
- appsvc_set_uri(bd, "tel:");
- appsvc_get_list(bd, front_view_call_app_check, (void *)&call_app_launched);
-
- if (call_app_launched)
- return 1;
- return 0;
-}
-