CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(bt-syspopup C)
-SET(SRCS ${CMAKE_SOURCE_DIR}/src/bt-syspopup.c)
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_WEARABLE")
+SET(SRCS ${CMAKE_SOURCE_DIR}/src/bt-syspopup-w.c)
+ENDIF()
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_MOBILE")
+SET(SRCS ${CMAKE_SOURCE_DIR}/src/bt-syspopup-m.c)
+ENDIF()
SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_WEARABLE")
+SET(TABLEDIR "/usr/apps/org.tizen.bt-syspopup/shared/res/tables")
+ENDIF()
+
IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
SET(CMAKE_BUILD_TYPE "Release")
ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
INCLUDE(FindPkgConfig)
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_WEARABLE")
pkg_check_modules(pkgs REQUIRED
capi-appfw-application
bundle
evas
gobject-2.0
syspopup
+ syspopup-caller
utilX
capi-network-bluetooth
feedback
aul
efl-assist)
+ELSEIF("$ENV{CFLAGS}" MATCHES "-DTIZEN_MOBILE")
+pkg_check_modules(pkgs REQUIRED
+ capi-appfw-application
+ bundle
+ deviced
+ dlog
+ dbus-glib-1
+ ecore
+ ecore-input
+ ecore-imf
+ edbus
+ edje
+ elementary
+ evas
+ efl-assist
+ gobject-2.0
+ syspopup
+ utilX
+ capi-network-bluetooth
+ feedback
+ notification
+ aul)
+ENDIF()
FOREACH(flag ${pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -g")
ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
-# Edje
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_WEARABLE")
ADD_CUSTOM_TARGET(custom_popup.edj
COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/data/images
-${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edc
+${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup_w.edc
+${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edj DEPENDS
+${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup_w.edc
+)
+ENDIF()
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_MOBILE")
+ADD_CUSTOM_TARGET(custom_popup.edj
+COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/data
+${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup_m.edc
${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edj DEPENDS
-${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edc
+${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup_m.edc
)
+ENDIF()
ADD_DEPENDENCIES(${PROJECT_NAME} custom_popup.edj)
# install desktop file & icon
SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/data/org.tizen.bt-syspopup.xml DESTINATION /usr/share/packages/)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/data/org.tizen.bt-syspopup.rule DESTINATION /etc/smack/accesses2.d)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/org.tizen.bt-syspopup.png DESTINATION /usr/share/icons/default/small)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edj DESTINATION /usr/apps/org.tizen.bt-syspopup/res/edje)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/images/ DESTINATION /usr/apps/org.tizen.bt-syspopup/res/images)
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_WEARABLE")
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tables/ DESTINATION ${TABLEDIR} FILES_MATCHING PATTERN "*.xml")
+ENDIF()
Derivative Works; or, within a display generated by the Derivative Works,
if and wherever such third-party notices normally appear.
The contents of the NOTICE file are for informational purposes only
- and do not modify the License.
-
-You may add Your own attribution notices within Derivative Works
-that You distribute, alongside or as an addendum to the NOTICE text
-from the Work, provided that such additional attribution notices
-cannot be construed as modifying the License. You may add Your own
-copyright statement to Your modifications and may provide additional or
-different license terms and conditions for use, reproduction, or
-distribution of Your modifications, or for any such Derivative Works
-as a whole, provided Your use, reproduction, and distribution of
-the Work otherwise complies with the conditions stated in this License.
+ and do not modify the License. You may add Your own attribution notices
+ within Derivative Works that You distribute, alongside or as an addendum
+ to the NOTICE text from the Work, provided that such additional attribution
+ notices cannot be construed as modifying the License. You may add Your own
+ copyright statement to Your modifications and may provide additional or
+ different license terms and conditions for use, reproduction, or
+ distribution of Your modifications, or for any such Derivative Works
+ as a whole, provided Your use, reproduction, and distribution of
+ the Work otherwise complies with the conditions stated in this License
+ and your own copyright statement or terms and conditions do not conflict
+ the conditions stated in the License including section 3.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
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.
+
--- /dev/null
+Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
\ No newline at end of file
+#define POPUP_HEIGHT_LANDSCAPE 55
+#define POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 15
+#define POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC 96
+#define POPUP_WITH_3_GL_ITEMS 300
+#define POPUP_WITH_2_GL_ITEMS 235
+
collections {
group {
name: "passwd_popup";
- images {
- image: "00_search_edit_field_bg.png" COMP;
- }
parts {
part {
- name: "pad_t";
+ name:"pad_t";
type: SPACER;
scale: 1;
description {
state: "default" 0.0;
- align: 0.5 0.0;
min: 0 0;
+ align: 0.5 0.0;
fixed: 0 1;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part {
+ name:"elm.swallow.layout";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 POPUP_WITH_3_GL_ITEMS;
+ align: 0.5 1.0;
+ fixed: 1 0;
rel1 {
- relative: 1.0 0.0;to_x: "pad_l";
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
}
rel2 {
- relative: 0.0 0.0;to_x: "pad_r";
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
}
}
}
+
+ part {
+ name:"pad_b";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ fixed: 0 1;
+ rel1.relative: 0.0 1.0;
+ }
+ }
+
part {
name: "pad_l";
type: SPACER;
description {
state: "default" 0.0;
min: 0 0;
- max: 0 0;
fixed: 1 0;
+ align: 0.0 0.0;
rel1 {
relative: 0.0 0.0;
}
rel2 {
relative: 0.0 1.0;
}
- align: 0.0 0.0;
- }
+ }
}
+
part {
name: "pad_r";
type: SPACER;
description {
state: "default" 0.0;
min: 0 0;
- max: 0 0;
fixed: 1 0;
+ align: 1.0 0.0;
rel1 {
relative: 1.0 0.0;
}
rel2 {
relative: 1.0 1.0;
}
- align: 1.0 0.0;
}
}
+ }
+ }
- part { name: "label";
- type: SWALLOW;
+ group { name: "entry_style";
+ parts {
+ part {
+ name: "base";
+ type: SPACER;
scale: 1;
description {
state: "default" 0.0;
+ min: 450 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC;
+ max: 450 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC;
+ fixed: 1 0;
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 0;
+ fixed: 1 0;
rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
+ relative: 0.0 0.0;
+ to: "base";
}
rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "label_space";
+ relative: 0.0 1.0;
+ to: "base";
}
+ align: 0.0 0.0;
}
}
-
- part {
- name: "label_space";
- type: SWALLOW;
+ part { name: "pad_r";
+ type: SPACER;
scale: 1;
- description {
- state: "default" 0.0;
+ description { state: "default" 0.0;
+ min: POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 0;
+ fixed: 1 0;
rel1 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ rel2 {
relative: 1.0 1.0;
+ to: "base";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "entry_part";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC;
+ align: 0.0 0.0;
+ rel1{
+ relative: 1.0 0.0 ;
to_x: "pad_l";
- to_y: "label";
}
- rel2 {
- relative: 0.0 0.0;
+ rel2{
+ relative: 0.0 1.0;
to_x: "pad_r";
- to_y: "entry";
}
}
}
+ }
+ }
+
+ group {
+ name: "passwd_popup_landscape_ly";
+ inherit: "passwd_popup";
+ parts {
part {
- name: "entry";
+ name:"elm.swallow.layout";
type: SWALLOW;
scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
description {
state: "default" 0.0;
+ min: 0 POPUP_HEIGHT_LANDSCAPE;
+ align: 0.5 1.0;
+ fixed: 1 0;
rel1 {
relative: 1.0 1.0;
to_x: "pad_l";
- to_y: "label";
+ to_y: "pad_t";
}
rel2 {
relative: 0.0 0.0;
}
}
}
- part {
- name: "pad_b";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 1.0;
- fixed: 1 1;
- rel1 {
- relative: 0.0 1.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- }
- }
}
}
-
group {
name: "auth_popup";
parts {
description {
state: "default" 0.0;
align: 0.5 1.0;
- min: 0 63;
+ min: 0 100;
fixed: 0 1;
rel1 {
relative: 0.0 1.0;
description {
state: "default" 0.0;
align: 0.0 0.5;
+ min: 36 36;
fixed: 1 1;
- rel1.to: "end_field";
- rel2.to: "end_field";
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_b";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ }
+ }
+ group {
+ name: "access_req_popup";
+ parts {
+ part {
+ name:"pad_t";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part {
+ name:"elm.swallow.layout";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 POPUP_WITH_2_GL_ITEMS;
+ align: 0.5 1.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+
+ part {
+ name:"pad_b";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ fixed: 0 1;
+ rel1.relative: 0.0 1.0;
+ }
+ }
+
+ part {
+ name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ }
+ }
+
+ part {
+ name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
}
}
}
} \
} \
+#define HOR_SIZE 360
+#define VER_SIZE 480
+#define BUTTON_HEIGHT 85
collections {
#include "groups/passkey_confirm.edc"
#include "groups/passkey_confirm_popup.edc"
}
-#define HOR_SIZE 320
-#define VER_SIZE 320
-#define BUTTON_HEIGHT 76
*
*/
-RESOURCE_IMAGE("b_setup_wizard_watch_01.png");
-RESOURCE_IMAGE("b_setup_wizard_device_01.png");
+RESOURCE_IMAGE("b_setup_wizard_watch.png");
+RESOURCE_IMAGE("b_setup_wizard_device.png");
RESOURCE_IMAGE("b_setup_wizard_pairing_01.png");
+#define BG_COLOR "AO011"
-#define BG_COLOR 0 0 0 255
-#define FONT_COLOR 255 144 0 255
-#define HOR_SIZE 320
-#define VER_SIZE 320
-#define BUTTON_HEIGHT 76
+#define WATCH_W 54
+#define WATCH_H 70
+#define PHONE_W 62
+#define PHONE_H 112
+#define PROCESS_W 54
+#define PROCESS_H 54
+#define MID_PADDING_W 17
+#define LINE_H 41
+#define BUTTON_H 85
-#define WTCH_PAD_LEFT 59
-#define WTCH_PAD_TOP 13
-#define PHN_PAD_LEFT 320-66-60
-#define PHN_PAD_TOP 9
-#define ICON_PAD_LEFT 59+54+17-7
-#define ICON_PAD_TOP 9+26
+#define PROCESS_PAD_LEFT (HOR_SIZE/2 - PROCESS_W/2)
+#define PROCESS_PAD_TOP (88)
+#define WTCH_PAD_TOP (VER_SIZE - LINE_H * 4 - BUTTON_H - WATCH_H)/2
+#define TEXT_PAD (16)
-#define W_W 47
-#define W_H 93
-#define P_W 66
-#define P_H 105
-#define L_W 54
-#define L_H 54
group { name: "passkey_confirm";
scale: 1;
description { state: "default" 0.0;
min: HOR_SIZE VER_SIZE;
- color: BG_COLOR;
+ color_class: BG_COLOR;
}
}
mouse_events: 1;
description {
state: "default" 0;
- color: 0 0 0 255;
+ color_class: BG_COLOR;
+
}
}
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: TEXT_PAD 0;
+ max: TEXT_PAD 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: TEXT_PAD 0;
+ max: TEXT_PAD 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ min: 0 TEXT_PAD;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+
part {
name: "elm.swallow.img.watch";
- type: SWALLOW;
+ type: IMAGE;
scale: 1;
description {
- state: "default" 0;
+ state: "default" 0.0;
+ align: 1.0 0.0;
visible: 1;
fixed: 1 1;
- min: W_W W_H;
- max: W_W W_H;
+ min: WATCH_W WATCH_H;
+ max: WATCH_W WATCH_H;
+ image.normal: "b_setup_wizard_watch.png";
+ color_class: "AO014";
rel1 {
relative: 0 0;
- offset: WTCH_PAD_LEFT WTCH_PAD_TOP;
to:"background";
+ offset:0 WTCH_PAD_TOP;
}
rel2 {
relative: 0 0;
- offset: (WTCH_PAD_LEFT+W_W) (WTCH_PAD_TOP+W_H);
- to:"background";
+ to_x:"elm.swallow.img.icon";
+ offset: (-MID_PADDING_W) 0;
}
}
}
part {
name: "elm.swallow.img.phone";
- type: SWALLOW;
+ type: IMAGE;
scale: 1;
description {
- state: "default" 0;
+ state: "default" 0.0;
visible: 1;
fixed: 1 1;
- min: P_W P_H;
- max: P_W P_H;
+ min: PHONE_W PHONE_H;
+ max: PHONE_W PHONE_H;
+ image.normal: "b_setup_wizard_device.png";
+ color_class: "AO014";
rel1 {
- relative: 0.0 0.0;
- offset: PHN_PAD_LEFT PHN_PAD_TOP;
- to:"background";
+ relative: 1.0 0.0;
+ to:"elm.swallow.img.icon";
+ offset: MID_PADDING_W (-26);
}
rel2 {
- relative: 0.0 0.0;
- offset: (PHN_PAD_LEFT+P_W) (PHN_PAD_TOP+P_H);
- to:"background";
+ relative: 1.0 1.0;
+ to:"elm.swallow.img.icon";
+ offset: (MID_PADDING_W + PHONE_W) (26);
}
}
}
+
part {
name: "elm.swallow.img.icon";
type: IMAGE;
state: "default" 0.0;
visible: 1;
fixed: 1 1;
- min: L_W L_H;
- max: L_W L_H;
+ min: PROCESS_W PROCESS_H;
+ max: PROCESS_W PROCESS_H;
image.normal: "b_setup_wizard_pairing_01.png";
+ color_class: "AO013L2";
+
rel1 {
relative: 0.0 0.0;
- offset: ICON_PAD_LEFT ICON_PAD_TOP;
+ offset: PROCESS_PAD_LEFT PROCESS_PAD_TOP;
to:"background";
}
rel2 {
relative: 0.0 0.0;
- offset: (ICON_PAD_LEFT+L_W) (ICON_PAD_TOP+L_H);
+ offset: (PROCESS_PAD_LEFT+PROCESS_W) (PROCESS_PAD_TOP+PROCESS_H);
to:"background";
}
map {
scale: 1;
description {
state: "default" 0.0;
+ color_class: BG_COLOR;
+ align: 0.0 0.0;
rel1 {
- relative: 0.0 0.0;
- offset: 0 9+P_H+18;
- to:"background";
+ relative: 1.0 1.0;
+ to_x:"pad_l";
+ to_y:"elm.swallow.img.phone";
+ offset: 0 46;
}
rel2 {
- relative: 1.0 1.0;
- to:"background";
+ relative: 0.0 0.0;
+ to_x:"pad_r";
+ to_y:"pad_b";
}
- align: 0.0 0.0;
}
}
}
}
#define BG_COLOR 0 0 0 255
-#define HOR_SIZE 320
-#define VER_SIZE 320
-#define BUTTON_HEIGHT 76
group { name: "passkey_confirm_popup";
parts {
--- /dev/null
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+#define WIN_WIDTH 360
+#define WIN_HEIGHT 480
+
+RESOURCE_IMAGE("b_privacy_lock_button_00.png");
+RESOURCE_IMAGE("b_privacy_lock_button_01.png");
+RESOURCE_IMAGE("b_privacy_lock_button_02.png");
+RESOURCE_IMAGE("b_privacy_lock_button_03.png");
+RESOURCE_IMAGE("b_privacy_lock_button_04.png");
+RESOURCE_IMAGE("b_privacy_lock_button_05.png");
+RESOURCE_IMAGE("b_privacy_lock_button_06.png");
+RESOURCE_IMAGE("b_privacy_lock_button_07.png");
+RESOURCE_IMAGE("b_privacy_lock_button_08.png");
+RESOURCE_IMAGE("b_privacy_lock_button_09.png");
+RESOURCE_IMAGE("b_privacy_lock_clear_btn.png");
+RESOURCE_IMAGE("b_privacy_lock_button_clear.png");
+
+#define KEYPAD_BUTTON_DESC_CC(part_name, sx, sy, dx, dy, ox, oy)\
+ part {\
+ name : part_name",bg";\
+ type : RECT;\
+ mouse_events : 1;\
+ description {\
+ state : "default" 0.0;\
+ min : dx dy;\
+ fixed : 1 1;\
+ rel1 { relative : sx sy; offset: ox oy; }\
+ rel2 { relative : sx sy; }\
+ color_class : "AO012L2";\
+ align : 0.0 0.0;\
+ }\
+ description {\
+ state : "pressed" 0.0;\
+ inherit : "default" 0.0;\
+ color_class : "AO012L2P";\
+ }\
+ }\
+ part {\
+ name : part_name;\
+ type : IMAGE;\
+ mouse_events : 1;\
+ description {\
+ state : "default" 0.0;\
+ rel1.to : part_name",bg"; \
+ rel2.to : part_name",bg"; \
+ min : dx 63;\
+ max : dx 63;\
+ fixed : 1 1;\
+ image { normal : "b_privacy_lock_"part_name".png"; }\
+ color_class : "AO012";\
+ }\
+ description {\
+ state : "disable" 0.0;\
+ visible : 0;\
+ }\
+ }\
+ part {\
+ name : part_name",sw";\
+ type : SWALLOW;\
+ description {\
+ state : "default" 0.0;\
+ fixed : 1 1;\
+ rel1.to : part_name",bg"; \
+ rel2.to : part_name",bg"; \
+ }\
+ description {\
+ state : "hidden" 0.0;\
+ visible : 0;\
+ }\
+ }
+
+#define KEYPAD_TXT_DESC_CC(part_name, sx, sy, dx, dy,ox,oy)\
+ part {\
+ name : part_name",bg";\
+ type : RECT;\
+ mouse_events : 1;\
+ description {\
+ state : "default" 0.0;\
+ min : dx dy;\
+ fixed : 1 1;\
+ rel1 { relative : sx sy; offset: ox oy; }\
+ rel2 { relative : sx sy; }\
+ color_class : "AO012L2";\
+ align : 0.0 0.0;\
+ }\
+ description {\
+ state : "pressed" 0.0;\
+ inherit : "default" 0.0;\
+ color_class : "AO012L2P";\
+ }\
+ }\
+ part {\
+ name : part_name;\
+ type : TEXT;\
+ mouse_events : 1;\
+ description {\
+ state : "default" 0.0;\
+ rel1.to : part_name",bg";\
+ rel2.to : part_name",bg";\
+ color : 255 255 255 255;\
+ text {\
+ font : "Tizen:style=Regular";\
+ text_class : tizen;\
+ size : 32;\
+ }\
+ }\
+ description {\
+ state : "disable" 0.0;\
+ inherit : "default" 0.0;\
+ color : 128 128 128 255;\
+ }\
+ }\
+ part {\
+ name : part_name",sw";\
+ type : SWALLOW;\
+ description {\
+ state : "default" 0.0;\
+ fixed : 1 1;\
+ rel1.to : part_name",bg"; \
+ rel2.to : part_name",bg"; \
+ }\
+ description {\
+ state : "hidden" 0.0;\
+ visible : 0;\
+ }\
+ }
+
+#define KEYPAD_BUTTON_PGM(part_name)\
+ program {\
+ name : "keypad,"part_name",release";\
+ signal : "normal";\
+ source : part_name;\
+ action : STATE_SET "default" 0.0;\
+ target : part_name",bg";\
+ }\
+ program {\
+ name : "keypad,"part_name",press";\
+ signal : "pressed";\
+ source : part_name;\
+ action : STATE_SET "pressed" 0.0;\
+ target : part_name",bg";\
+ }\
+ program {\
+ name : "keypad,"part_name",disable";\
+ signal : "disable";\
+ source : part_name;\
+ action : STATE_SET "disable" 0.0;\
+ target : part_name;\
+ }\
+ program {\
+ name : "keypad,"part_name",enable";\
+ signal : "enable";\
+ source : part_name;\
+ action : STATE_SET "default" 0.0;\
+ target : part_name;\
+ }
+
+#define KEYPAD_TXT_PGM(part_name)\
+ program {\
+ name : "keypad,"part_name",release";\
+ signal : "normal";\
+ source : part_name;\
+ action : STATE_SET "default" 0.0;\
+ target : part_name",bg";\
+ }\
+ program {\
+ name : "keypad,"part_name",press";\
+ signal : "pressed";\
+ source : part_name;\
+ action : STATE_SET "pressed" 0.0;\
+ target : part_name",bg";\
+ }\
+ program {\
+ name : "keypad,"part_name",disable";\
+ signal : "disable";\
+ source : part_name;\
+ action : STATE_SET "disable" 0.0;\
+ target : part_name;\
+ }\
+ program {\
+ name : "keypad,"part_name",enable";\
+ signal : "enable";\
+ source : part_name;\
+ action : STATE_SET "default" 0.0;\
+ target : part_name;\
+ }
+
+#define FOCUS_TARGET(part_name)\
+ target : part_name",sw";
+
+group {
+ name: "passwd_popup";
+ parts {
+ part{
+ name: "base";
+ type: RECT;
+ scale: 1;
+ description{
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color_class : "B011";
+ }
+ }
+ part { name: "label";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 6/WIN_WIDTH 0.0; to: "base"; offset: 0 0; }
+ rel2 { relative: (WIN_WIDTH-6)/WIN_WIDTH 0.0; to: "base"; offset: 0 11+66; }
+ }
+ }
+ part{
+ name: "pass.txt.bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "base"; offset: 0 74+8; }
+ rel2 { relative: 1.0 0.0; to: "base"; offset: 0 74+8+42; }
+ color_class : "B011";
+ }
+ }
+ part {
+ name: "elm.text.password";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { to: "pass.txt.bg"; }
+ rel2 { to: "pass.txt.bg"; }
+ color_class: "AT013";
+ text {
+ text_class: "AT013";
+ align: 0.5 0.5;
+ }
+ }
+ }
+ part{
+ name: "sw.keypad";
+ type: SWALLOW;
+ scale: 1;
+ description{
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "base"; offset: 0 74+8+42; }
+ rel2 { relative: 1.0 0.0; to: "base"; offset: 0 74+8+42+299; }
+ }
+ }
+ }
+}
+
+group {
+ name: "keypad";
+ parts {
+ part {
+ name : "rect.bg";
+ type : RECT;
+ mouse_events : 1;
+ description {
+ fixed: 1 1;
+ state : "default" 0.0;
+ color_class : "AO012L1";
+ }
+ }
+
+ KEYPAD_BUTTON_DESC_CC("button_01", 0.0, 0.0, 117+1, 70, 0,1)
+ KEYPAD_BUTTON_DESC_CC("button_02", (117+4)/WIN_WIDTH, 0.0, 117+1, 70, 1,1)
+ KEYPAD_BUTTON_DESC_CC("button_03", (118+4)*2/WIN_WIDTH, 0.0, 117, 70, 0,1)
+
+ KEYPAD_BUTTON_DESC_CC("button_04", 0.0, (71+4)/299, 117+1, 70, 0,1)
+ KEYPAD_BUTTON_DESC_CC("button_05", (117+4)/WIN_WIDTH, (71+4)/299, 117+1, 70, 1,1)
+ KEYPAD_BUTTON_DESC_CC("button_06", (118+4)*2/WIN_WIDTH, (71+4)/299, 117, 70, 0,1)
+
+ KEYPAD_BUTTON_DESC_CC("button_07", 0.0, (71+4)*2/299, 117+1, 70, 0,1)
+ KEYPAD_BUTTON_DESC_CC("button_08", (117+4)/WIN_WIDTH, (71+4)*2/299, 117+1, 70, 1,1)
+ KEYPAD_BUTTON_DESC_CC("button_09", (118+4)*2/WIN_WIDTH, (71+4)*2/299, 117, 70, 0,1)
+
+ KEYPAD_TXT_DESC_CC("confirm", (118+4)*2/WIN_WIDTH, (71+4)*3/299, 117, 74, 0,2)
+ KEYPAD_BUTTON_DESC_CC("button_00", (117+4)/WIN_WIDTH, (71+4)*3/299, 117+1, 74, 1,2)
+ KEYPAD_BUTTON_DESC_CC("button_clear", 0.0, (71+4)*3/299, 117+1, 74, 0,2)
+
+ }
+
+ programs {
+ KEYPAD_BUTTON_PGM("button_00")
+ KEYPAD_BUTTON_PGM("button_01")
+ KEYPAD_BUTTON_PGM("button_02")
+ KEYPAD_BUTTON_PGM("button_03")
+ KEYPAD_BUTTON_PGM("button_04")
+ KEYPAD_BUTTON_PGM("button_05")
+ KEYPAD_BUTTON_PGM("button_06")
+ KEYPAD_BUTTON_PGM("button_07")
+ KEYPAD_BUTTON_PGM("button_08")
+ KEYPAD_BUTTON_PGM("button_09")
+ KEYPAD_BUTTON_PGM("button_clear")
+ KEYPAD_TXT_PGM("confirm")
+
+ program {
+ name : "set,tts,enable";
+ signal : "set,tts,enable";
+ source : "bg";
+ action : STATE_SET "default" 0.0;
+ FOCUS_TARGET("button_00")
+ FOCUS_TARGET("button_01")
+ FOCUS_TARGET("button_02")
+ FOCUS_TARGET("button_03")
+ FOCUS_TARGET("button_04")
+ FOCUS_TARGET("button_05")
+ FOCUS_TARGET("button_06")
+ FOCUS_TARGET("button_07")
+ FOCUS_TARGET("button_08")
+ FOCUS_TARGET("button_09")
+ FOCUS_TARGET("button_clear")
+ FOCUS_TARGET("confirm")
+ }
+ program {
+ name : "set,tts,disable";
+ signal : "set,tts,disable";
+ source : "bg";
+ action : STATE_SET "hidden" 0.0;
+ FOCUS_TARGET("button_00")
+ FOCUS_TARGET("button_01")
+ FOCUS_TARGET("button_02")
+ FOCUS_TARGET("button_03")
+ FOCUS_TARGET("button_04")
+ FOCUS_TARGET("button_05")
+ FOCUS_TARGET("button_06")
+ FOCUS_TARGET("button_07")
+ FOCUS_TARGET("button_08")
+ FOCUS_TARGET("button_09")
+ FOCUS_TARGET("button_clear")
+ FOCUS_TARGET("confirm")
+ }
+ }
+}
--- /dev/null
+org.tizen.app-tray org.tizen.bt-syspopup r-x--- ------
+org.tizen.bt-syspopup ug_bluetooth r----- ------
+org.tizen.bt-syspopup system::use_internet r----- ------
+org.tizen.bt-syspopup xorg rw---- ------
+org.tizen.bt-syspopup isf rwx--- ------
+org.tizen.bt-syspopup ail::db rw---- ------
+org.tizen.bt-syspopup syspopup::db rwx--- ------
+org.tizen.bt-syspopup dbus rw---- ------
+org.tizen.bt-syspopup sound_server rw---- ------
+org.tizen.bt-syspopup power_manager -w---- ------
+org.tizen.bt-syspopup immvibed rw---- ------
+org.tizen.bt-syspopup svi-data r-x--- ------
+org.tizen.bt-syspopup ui-gadget::client rw---- ------
+org.tizen.bt-syspopup deviced rwx--- ------
+org.tizen.bt-syspopup deviced::display rw---- ------
+org.tizen.bt-syspopup deviced::haptic rw---- ------
+org.tizen.bt-syspopup ug-setting-call-efl::vconf r----l ------
+org.tizen.bt-syspopup org.tizen.setting::default-resources r-x--- ------
+org.tizen.bt-syspopup e17::notification rw---- ------
+org.tizen.bt-syspopup starter::vconf r----l ------
+deviced org.tizen.bt-syspopup rwx--- ------
+org.tizen.bt-syspopup system::homedir rwxat- ------
+org.tizen.bt-syspopup system::vconf rwxat- ------
+org.tizen.bt-syspopup system::media rwxat- ------
+org.tizen.bt-syspopup system::share rwxat- ------
+org.tizen.bt-syspopup pulseaudio rwxat- ------
+e17 org.tizen.bt-syspopup -w---- ------
+org.tizen.bt-syspopup device::app_logging -w---- ------
+org.tizen.bt-syspopup sys-assert::core rwxat- ------
+stest-service org.tizen.bt-syspopup r-x--- ------
+org.tizen.bt-syspopup stest-service -w---- ------
+org.tizen.bt-syspopup privacy-manager::db r----l ------
+org.tizen.bt-syspopup pkgmgr::db r----l ------
+org.tizen.bt-syspopup system::vconf_inhouse rw---- ------
+org.tizen.bt-syspopup system::vconf_setting rw---- ------
+org.tizen.bt-syspopup system::vconf_privacy rw---- ------
+org.tizen.bt-syspopup system::vconf_system rw---- ------
+org.tizen.bt-syspopup system::vconf_multimedia rw---- ------
+org.tizen.bt-syspopup system::vconf_network rw---- ------
+org.tizen.bt-syspopup system::vconf_misc rw---- ------
+org.tizen.bt-syspopup ecore::lock rwxat- ------
<label>Bluetooth System Popup</label>
<author email="dh79.pyun@samsung.com" href="www.samsung.com">DoHyun Pyun</author>
<description>Bluetooth System Popup</description>
- <ui-application appid="org.tizen.bt-syspopup" exec="/opt/apps/org.tizen.bt-syspopup/bin/bt-syspopup" nodisplay="true" multiple="false" type="capp" taskmanage="false">
+ <ui-application appid="org.tizen.bt-syspopup" exec="/usr/apps/org.tizen.bt-syspopup/bin/bt-syspopup" nodisplay="true" multiple="false" type="capp" taskmanage="false">
<label>Bluetooth System Popup</label>
<icon>org.tizen.bt-syspopup.png</icon>
</ui-application>
--- /dev/null
+org.tizen.bt-syspopup ug_bluetooth r----- ------
+org.tizen.bt-syspopup system::use_internet r----- ------
+org.tizen.bt-syspopup system::media rwxat- ------
+org.tizen.bt-syspopup system::homedir rwxat- ------
+org.tizen.bt-syspopup xorg rw---- ------
+org.tizen.bt-syspopup isf rwx--- ------
+org.tizen.bt-syspopup ail::db rw---- ------
+org.tizen.bt-syspopup syspopup::db rwx--- ------
+org.tizen.bt-syspopup dbus rw---- ------
+org.tizen.bt-syspopup sound_server rw---- ------
+org.tizen.bt-syspopup power_manager -w---- ------
+org.tizen.bt-syspopup immvibed rw---- ------
+org.tizen.bt-syspopup svi-data r-x--- ------
+org.tizen.bt-syspopup ui-gadget::client rw---- ------
+org.tizen.bt-syspopup deviced rwx--- ------
+org.tizen.bt-syspopup deviced::display rw---- ------
+org.tizen.bt-syspopup deviced::haptic rwx--- ------
+org.tizen.bt-syspopup org.tizen.b2-setup-wizard rw---- ------
+org.tizen.bt-syspopup org.tizen.shealth::vconf rw---- ------
+deviced org.tizen.bt-syspopup rwx--- ------
+org.tizen.app-tray org.tizen.bt-syspopup r-x--- ------
+e17 org.tizen.bt-syspopup -w---- ------
+org.tizen.bt-syspopup system::vconf rwxat- ------
+org.tizen.bt-syspopup system::share rwxat- ------
+org.tizen.bt-syspopup pulseaudio rwxat- ------
+org.tizen.bt-syspopup sys-assert::core rwxat- ------
+stest-service org.tizen.bt-syspopup r-x--- ------
+org.tizen.bt-syspopup stest-service -w---- ------
+org.tizen.bt-syspopup privacy-manager::db r----l ------
+org.tizen.bt-syspopup pkgmgr::db r----l ------
+org.tizen.bt-syspopup system::vconf_inhouse rw---- ------
+org.tizen.bt-syspopup system::vconf_setting rw---- ------
+org.tizen.bt-syspopup system::vconf_privacy rw---- ------
+org.tizen.bt-syspopup system::vconf_system rw---- ------
+org.tizen.bt-syspopup system::vconf_multimedia rw---- ------
+org.tizen.bt-syspopup system::vconf_network rw---- ------
+org.tizen.bt-syspopup system::vconf_misc rw---- ------
+org.tizen.bt-syspopup device::app_logging -w---- ------
+org.tizen.bt-syspopup device::sys_logging -w---- ------
+org.tizen.bt-syspopup org.tizen.w-idle-clock-weather2 rwx--- ------
+org.tizen.bt-syspopup org.tizen.idle-clock-pedometer rwx--- ------
+org.tizen.bt-syspopup org.tizen.w-idle-clock-shortcut2 rwx--- ------
+org.tizen.bt-syspopup org.tizen.idle-clock-event rwx--- ------
+org.tizen.bt-syspopup org.tizen.idle-clock-dual rwx--- ------
+org.tizen.bt-syspopup org.tizen.w-idle-clock-analog3 rwx--- ------
+org.tizen.bt-syspopup org.tizen.w-idle-clock-analog1 rwx--- ------
+org.tizen.bt-syspopup org.tizen.idle-clock-digital rwx--- ------
+org.tizen.bt-syspopup org.tizen.w-idle-clock-analog2 rwx--- ------
+org.tizen.bt-syspopup org.tizen.setting::system r-x--l ------
+org.tizen.bt-syspopup org.tizen.bt-connection-popup --x--- ------
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.bt-syspopup" version="2.0.25" install-location="internal-only">
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.bt-syspopup" version="2.0.25" install-location="internal-only" support-mode="screen-reader">
<label>Bluetooth System Popup</label>
<author email="dh79.pyun@samsung.com" href="www.samsung.com">DoHyun Pyun</author>
<description>Bluetooth System Popup</description>
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(bt-syspopup C)
-
-SET(SRCS ${CMAKE_SOURCE_DIR}/src/bt-syspopup.c)
-
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-
-IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
- SET(CMAKE_BUILD_TYPE "Release")
-ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
-MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED
- appcore-efl
- bundle
- devman
- devman_haptic
- dlog
- dbus-glib-1
- ecore
- ecore-input
- ecore-imf
- edbus
- edje
- elementary
- evas
- gobject-2.0
- pmapi
- syspopup
- utilX
- bluetooth-api
- feedback
- aul)
-
-FOREACH(flag ${pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -g")
-ENDFOREACH(flag)
-#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g ")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-#This is flag for Gprof
-#SET(CMAKE_C_FLAGS_RELEASE "-pg")
-
-FIND_PROGRAM(UNAME NAMES uname)
-EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
-IF("${ARCH}" STREQUAL "arm")
- ADD_DEFINITIONS("-DTARGET")
- MESSAGE("add -DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
-
-ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
-ADD_DEFINITIONS("-DSLP_DEBUG")
-
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
-
-ADD_CUSTOM_TARGET(custom_popup.edj
-COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/data
-${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edc
-${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edj DEPENDS
-${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edc
-)
-
-ADD_DEPENDENCIES(${PROJECT_NAME} custom_popup.edj)
-
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /opt/apps/org.tizen.bt-syspopup/bin)
-
-# install desktop file & icon
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/data/org.tizen.bt-syspopup.xml DESTINATION /usr/share/packages/)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/data/org.tizen.bt-syspopup.rule DESTINATION /opt/etc/smack/accesses.d)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/org.tizen.bt-syspopup.png DESTINATION /opt/share/icons/default/small)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/custom_popup.edj DESTINATION /opt/apps/org.tizen.bt-syspopup/res/edje)
+++ /dev/null
-Flora License
-
-Version 1.1, April, 2013
-
-http://floralicense.org/license/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction,
-and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by
-the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and
-all other entities that control, are controlled by, or are
-under common control with that entity. For the purposes of
-this definition, "control" means (i) the power, direct or indirect,
-to cause the direction or management of such entity,
-whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
-or more of the outstanding shares, or (iii) beneficial ownership of
-such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity
-exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications,
-including but not limited to software source code, documentation source,
-and configuration files.
-
-"Object" form shall mean any form resulting from mechanical
-transformation or translation of a Source form, including but
-not limited to compiled object code, generated documentation,
-and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form,
-made available under the License, as indicated by a copyright notice
-that is included in or attached to the work (an example is provided
-in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form,
-that is based on (or derived from) the Work and for which the editorial
-revisions, annotations, elaborations, or other modifications represent,
-as a whole, an original work of authorship. For the purposes of this License,
-Derivative Works shall not include works that remain separable from,
-or merely link (or bind by name) to the interfaces of, the Work and
-Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original
-version of the Work and any modifications or additions to that Work or
-Derivative Works thereof, that is intentionally submitted to Licensor
-for inclusion in the Work by the copyright owner or by an individual or
-Legal Entity authorized to submit on behalf of the copyright owner.
-For the purposes of this definition, "submitted" means any form of
-electronic, verbal, or written communication sent to the Licensor or
-its representatives, including but not limited to communication on
-electronic mailing lists, source code control systems, and issue
-tracking systems that are managed by, or on behalf of, the Licensor
-for the purpose of discussing and improving the Work, but excluding
-communication that is conspicuously marked or otherwise designated
-in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity
-on behalf of whom a Contribution has been received by Licensor and
-subsequently incorporated within the Work.
-
-"Tizen Certified Platform" shall mean a software platform that complies
-with the standards set forth in the Tizen Compliance Specification
-and passes the Tizen Compliance Tests as defined from time to time
-by the Tizen Technical Steering Group and certified by the Tizen
-Association or its designated agent.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the
-Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-(except as stated in this section) patent license to make, have made,
-use, offer to sell, sell, import, and otherwise transfer the Work
-solely as incorporated into a Tizen Certified Platform, where such
-license applies only to those patent claims licensable by such
-Contributor that are necessarily infringed by their Contribution(s)
-alone or by combination of their Contribution(s) with the Work solely
-as incorporated into a Tizen Certified Platform to which such
-Contribution(s) was submitted. If You institute patent litigation
-against any entity (including a cross-claim or counterclaim
-in a lawsuit) alleging that the Work or a Contribution incorporated
-within the Work constitutes direct or contributory patent infringement,
-then any patent licenses granted to You under this License for that
-Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
-Work or Derivative Works thereof pursuant to the copyright license
-above, in any medium, with or without modifications, and in Source or
-Object form, provided that You meet the following conditions:
-
- 1. You must give any other recipients of the Work or Derivative Works
- a copy of this License; and
- 2. You must cause any modified files to carry prominent notices stating
- that You changed the files; and
- 3. You must retain, in the Source form of any Derivative Works that
- You distribute, all copyright, patent, trademark, and attribution
- notices from the Source form of the Work, excluding those notices
- that do not pertain to any part of the Derivative Works; and
- 4. If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable
- copy of the attribution notices contained within such NOTICE file,
- excluding those notices that do not pertain to any part of
- the Derivative Works, in at least one of the following places:
- within a NOTICE text file distributed as part of the Derivative Works;
- within the Source form or documentation, if provided along with the
- Derivative Works; or, within a display generated by the Derivative Works,
- if and wherever such third-party notices normally appear.
- The contents of the NOTICE file are for informational purposes only
- and do not modify the License.
-
-You may add Your own attribution notices within Derivative Works
-that You distribute, alongside or as an addendum to the NOTICE text
-from the Work, provided that such additional attribution notices
-cannot be construed as modifying the License. You may add Your own
-copyright statement to Your modifications and may provide additional or
-different license terms and conditions for use, reproduction, or
-distribution of Your modifications, or for any such Derivative Works
-as a whole, provided Your use, reproduction, and distribution of
-the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-any Contribution intentionally submitted for inclusion in the Work
-by You to the Licensor shall be under the terms and conditions of
-this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify
-the terms of any separate license agreement you may have executed
-with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-names, trademarks, service marks, or product names of the Licensor,
-except as required for reasonable and customary use in describing the
-origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-agreed to in writing, Licensor provides the Work (and each
-Contributor provides its Contributions) on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-implied, including, without limitation, any warranties or conditions
-of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-PARTICULAR PURPOSE. You are solely responsible for determining the
-appropriateness of using or redistributing the Work and assume any
-risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-whether in tort (including negligence), contract, or otherwise,
-unless required by applicable law (such as deliberate and grossly
-negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special,
-incidental, or consequential damages of any character arising as a
-result of this License or out of the use or inability to use the
-Work (including but not limited to damages for loss of goodwill,
-work stoppage, computer failure or malfunction, or any and all
-other commercial damages or losses), even if such Contributor
-has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-the Work or Derivative Works thereof, You may choose to offer,
-and charge a fee for, acceptance of support, warranty, indemnity,
-or other liability obligations and/or rights consistent with this
-License. However, in accepting such obligations, You may act only
-on Your own behalf and on Your sole responsibility, not on behalf
-of any other Contributor, and only if You agree to indemnify,
-defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason
-of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Flora License to your work
-
-To apply the Flora License to your work, attach the following
-boilerplate notice, with the fields enclosed by brackets "[]"
-replaced with your own identifying information. (Don't include
-the brackets!) The text should be enclosed in the appropriate
-comment syntax for the file format. We also recommend that a
-file or class name and description of purpose be included on the
-same "printed page" as the copyright notice for easier
-identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Flora License, Version 1.1 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://floralicense.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.
+++ /dev/null
-Copyright (c) Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Flora License, Version 1.1.
-Please, see the LICENSE.Flora file for Flora License, Version 1.1 terms and conditions.
-
+++ /dev/null
-[ProcessSetting]
-BG_SCHEDULE=true
+++ /dev/null
-org.tizen.bt-syspopup system::homedir rwxat
-org.tizen.bt-syspopup system::vconf rwxat
-org.tizen.bt-syspopup system::media rwxat
-org.tizen.bt-syspopup system::share rwxat
-org.tizen.app-tray org.tizen.bt-syspopup r-x--
-org.tizen.bt-syspopup pulseaudio rwxat
-org.tizen.bt-syspopup sys-assert::core rwxat
-e17 org.tizen.bt-syspopup rwx--
-org.tizen.bt-syspopup ug_bluetooth r----
-org.tizen.bt-syspopup system::use_internet r----
-org.tizen.bt-syspopup xorg rw---
-org.tizen.bt-syspopup isf rwx--
-org.tizen.bt-syspopup ail::db rw---
-org.tizen.bt-syspopup syspopup::db rwx--
-org.tizen.bt-syspopup dbus rw---
-org.tizen.bt-syspopup sound_server rw---
-org.tizen.bt-syspopup power_manager -w---
-org.tizen.bt-syspopup immvibed rw---
-org.tizen.bt-syspopup svi-data r-x--
-org.tizen.bt-syspopup ui-gadget::client rw---
-org.tizen.bt-syspopup deviced rwx--
-deviced org.tizen.bt-syspopup rwx--
+++ /dev/null
-bt-syspopup (0.2.51) unstable; urgency=low
-
- * Change the button theme to popop style
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.51
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 02 Aug 2012 13:49:22 +0900
-
-bt-syspopup (0.2.50) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.50
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 01 Aug 2012 15:48:03 +0900
-
-bt-syspopup (0.2.49) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.49
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Sat, 28 Jul 2012 10:20:27 +0900
-
-bt-syspopup (0.2.48) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.48
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 27 Jul 2012 15:03:06 +0900
-
-bt-syspopup (0.2.47) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.47
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 12 Jun 2012 08:44:35 +0900
-
-bt-syspopup (0.2.46) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.46
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Mon, 04 Jun 2012 12:45:57 +0530
-
-bt-syspopup (0.2.45) unstable; urgency=low
-
- * Change the pairing messagef as UX guideline
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.45
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 04 Jun 2012 09:01:59 +0900
-
-bt-syspopup (0.2.44) unstable; urgency=low
-
- * Change the pairing messagef as UX guideline
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.44
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 31 May 2012 15:56:50 +0900
-
-bt-syspopup (0.2.43) unstable; urgency=low
-
- * Covert the pin code input view to popup
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.43
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 29 May 2012 16:12:38 +0900
-
-bt-syspopup (0.2.42) unstable; urgency=low
-
- * Upload packagefor changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.42
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 May 2012 13:26:09 +0900
-
-bt-syspopup (0.2.41) unstable; urgency=low
-
- * Upload package for changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.41
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 May 2012 10:51:08 +0900
-
-bt-syspopup (0.2.40) unstable; urgency=low
-
- * Upload package for changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.40
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 18 May 2012 10:22:03 +0900
-
-bt-syspopup (0.2.39) unstable; urgency=low
-
- * Upload package for changes.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.39
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Mon, 14 May 2012 16:24:38 +0530
-
-bt-syspopup (0.2.38) unstable; urgency=low
-
- * Remove the codes about the MDM popup
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.38
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 08 May 2012 09:01:38 +0900
-
-bt-syspopup (0.2.37) unstable; urgency=low
-
- * SLP prefix is changed
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.37
-
- -- InJun Yang <injun.yang@samsung.com> Thu, 15 Mar 2012 18:58:24 +0900
-
-bt-syspopup (0.2.36) unstable; urgency=low
-
- * Upload the changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.36
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 15 Mar 2012 11:30:53 +0900
-
-bt-syspopup (0.2.35) unstable; urgency=low
-
- * Upload the changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.35
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 14 Mar 2012 17:05:52 +0900
-
-bt-syspopup (0.2.34) unstable; urgency=low
-
- * Modify and upload for elementary changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.34
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Tue, 13 Mar 2012 17:55:50 +0530
-
-bt-syspopup (0.2.33) unstable; urgency=low
-
- * Upload the changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.33
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 12 Mar 2012 11:15:11 +0900
-
-bt-syspopup (0.2.32) unstable; urgency=low
-
- * Change the code about editfield
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.32
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 29 Feb 2012 15:58:27 +0900
-
-bt-syspopup (0.2.31) unstable; urgency=low
-
- * Apply the winset changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.31
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 16 Feb 2012 10:01:12 +0900
-
-bt-syspopup (0.2.30) unstable; urgency=low
-
- * Add the popup for MDM service
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.30
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 01 Feb 2012 09:40:35 +0900
-
-bt-syspopup (0.2.29) unstable; urgency=low
-
- * Remove the package dependency of devman / sysman
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.29
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 06 Dec 2011 16:45:07 +0900
-
-bt-syspopup (0.2.28) unstable; urgency=low
-
- * Add new design ID to support multi-language
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.28
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 Nov 2011 13:37:08 +0900
-
-bt-syspopup (0.2.27) unstable; urgency=low
-
- * Fix the display bug about input view
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.27
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 14 Nov 2011 17:02:17 +0900
-
-bt-syspopup (0.2.26) unstable; urgency=low
-
- * Fix the bug about editfield focus
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.26
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 11 Nov 2011 11:07:09 +0900
-
-bt-syspopup (0.2.25) unstable; urgency=low
-
- * Adjust the position of the naviframe to bottom
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.25
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 09 Nov 2011 09:00:14 +0900
-
-bt-syspopup (0.2.24) unstable; urgency=low
-
- * Change the focus method of editfield as new policy
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.24
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 03 Nov 2011 08:51:42 +0900
-
-bt-syspopup (0.2.23) unstable; urgency=low
-
- * Add the code to display the indicator (H0100135960)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.23
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 27 Oct 2011 11:22:14 +0900
-
-bt-syspopup (0.2.22) unstable; urgency=low
-
- * Remove the deprecated IME API (ecore_imf_context_input_panel_reset)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.22
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 26 Oct 2011 17:31:24 +0900
-
-bt-syspopup (0.2.21) unstable; urgency=low
-
- * Modify the desktop file for Manage applications
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.21
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 24 Oct 2011 11:20:33 +0900
-
-bt-syspopup (0.2.20) unstable; urgency=low
-
- * Add the baselayout size in desktop file
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.20
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 10 Oct 2011 11:14:26 +0900
-
-bt-syspopup (0.2.19) unstable; urgency=low
-
- * Apply the naviframe patch
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.19
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 05 Oct 2011 09:23:35 +0900
-
-bt-syspopup (0.2.18) unstable; urgency=low
-
- * Upload the packages
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.18
-
- -- Chethan T N <chethan.tn@samsung.com> Fri, 30 Sep 2011 18:34:32 +0530
-
-bt-syspopup (0.2.17) unstable; urgency=low
-
- * Remove the dependency of libui-bgimage-dev
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.17
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 29 Sep 2011 08:38:38 +0900
-
-bt-syspopup (0.2.16) unstable; urgency=low
-
- * Upload package for changee
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.16
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 29 Aug 2011 19:23:14 +0900
-
-bt-syspopup (0.2.15) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.15
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 11 Aug 2011 08:29:37 +0900
-
-bt-syspopup (0.2.14) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.14
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 09 Aug 2011 08:29:51 +0900
-
-bt-syspopup (0.2.13) unstable; urgency=low
-
- * Apply the changed layout style & elm_bg
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.13
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 03 Aug 2011 18:42:59 +0900
-
-bt-syspopup (0.2.12) unstable; urgency=low
-
- * Remove the system popup when the remote device cancel the event (H0100131180)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.12
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 01 Aug 2011 08:24:54 +0900
-
-bt-syspopup (0.2.11) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.11
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 21 Jul 2011 11:11:18 +0900
-
-bt-syspopup (0.2.10) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.10
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Thu, 07 Jul 2011 17:47:11 +0530
-
-bt-syspopup (0.2.9) unstable; urgency=low
-
- * Remove 'ReplyPinCode' event when the timeout occured about keyboard. (H0100129046)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.9
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 30 Jun 2011 11:43:31 +0900
-
-bt-syspopup (0.2.8) unstable; urgency=low
-
- * Change the button align to center
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.8
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 29 Jun 2011 14:56:34 +0900
-
-bt-syspopup (0.2.7) unstable; urgency=low
-
- * Apply the landscape mode
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.7
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 10 Jun 2011 11:50:13 +0900
-
-bt-syspopup (0.2.6) unstable; urgency=low
-
- * Upload packages for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.6
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Thu, 09 Jun 2011 15:05:15 +0530
-
-bt-syspopup (0.2.5) unstable; urgency=low
-
- * Add the icon in navigation bar (Defect H0100127548)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.5
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 31 May 2011 16:08:49 +0900
-
-bt-syspopup (0.2.4) unstable; urgency=low
-
- * Add the dbus name to broadcast the dbus message
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.4
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 25 May 2011 17:24:31 +0900
-
-bt-syspopup (0.2.3) unstable; urgency=low
-
- * Replace the dialogue group API to genlist dialogue group
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.3
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 16 May 2011 09:54:35 +0900
-
-bt-syspopup (0.2.2) unstable; urgency=low
-
- * Show the ticker noti when the file recieved (Defect H0100126544)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.2
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 13 May 2011 17:27:36 +0900
-
-bt-syspopup (0.2.1) unstable; urgency=low
-
- * Upload package for changes.
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.1
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Mon, 09 May 2011 17:03:49 +0530
-
-bt-syspopup (0.2.0) unstable; urgency=low
-
- * Release ug-obexd init dpkg
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.0
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 27 Apr 2011 18:25:30 +0900
-
-bt-syspopup (0.1.14) unstable; urgency=low
-
- * Change package name
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.1.14
-
- -- InJun Yang <injun.yang@samsung.com> Mon, 11 Apr 2011 20:53:33 +0900
-
-deb.com.samsung.bt-syspopup (0.1.13) unstable; urgency=low
-
- * Add the dependency of the development package about dbus-glib-1 and gobject-2.0 in control file
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.13
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 07 Apr 2011 16:49:40 +0900
-
-deb.com.samsung.bt-syspopup (0.1.12) unstable; urgency=low
-
- * Remove dependency of the imlib package
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.12
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 29 Mar 2011 20:20:03 +0900
-
-deb.com.samsung.bt-syspopup (0.1.11) unstable; urgency=low
-
- * Apply N-beat UX
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.11
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 22 Mar 2011 16:56:59 +0900
-
-deb.com.samsung.bt-syspopup (0.1.10) unstable; urgency=low
-
- * New popup for applcation usage.
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.10
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Fri, 25 Feb 2011 12:29:26 +0530
-
-deb.com.samsung.bt-syspopup (0.1.9) unstable; urgency=low
-
- * Remove the unnecessary NULL pointer check
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.9
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 Feb 2011 20:44:00 +0900
-
-deb.com.samsung.bt-syspopup (0.1.8) unstable; urgency=low
-
- * Corrected IME appearance
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.8
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 18 Feb 2011 18:50:52 +0900
-
-deb.com.samsung.bt-syspopup (0.1.7) unstable; urgency=low
-
- * Modify the desktop path to intall
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.7
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 17 Feb 2011 19:17:32 +0900
-
-deb.com.samsung.bt-syspopup (0.1.6) unstable; urgency=low
-
- * Change the desktop path to install, name of the icon
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.6
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 14 Feb 2011 17:09:22 +0900
-
-deb.com.samsung.bt-syspopup (0.1.5) unstable; urgency=low
-
- * hide bt-syspopup in task manager
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.5
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 08 Feb 2011 15:16:03 +0900
-
-deb.com.samsung.bt-syspopup (0.1.4) unstable; urgency=low
-
- * Fix the build break (libslp-pm-dev)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.4
-
- -- Hyeongbae Park <jupio.park@samsung.com> Mon, 07 Feb 2011 18:02:00 +0900
-
-deb.com.samsung.bt-syspopup (0.1.3) unstable; urgency=low
-
- * Fix the BS when try to pair with the Arabic name's device
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.3
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 07 Feb 2011 11:26:00 +0900
-
-deb.com.samsung.bt-syspopup (0.1.2) unstable; urgency=low
-
- * Add the code to avoid the BS
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.2
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 19 Jan 2011 20:33:48 +0900
-
-deb.com.samsung.bt-syspopup (0.1.1) unstable; urgency=low
-
- * Show the IME after displaying the main layout
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.1
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 07 Jan 2011 13:50:37 +0900
-
-deb.com.samsung.bt-syspopup (0.1.0) unstable; urgency=low
-
- * Initial Release.
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.0
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 28 Dec 2010 16:31:28 +0900
+++ /dev/null
-Source: bt-syspopup
-Section: main
-Priority: extra
-Maintainer: Hocheol Seo <hocheol.seo@samsung.com>, DoHyun Pyun <dh79.pyun@samsung.com>, InJun Yang <injun.yang@samsung.com>, Chanyeol Park <chanyeol.park@samsung.com>
-Uploaders: Sunil Behera <sunil.behera@samsung.com>, Syam Sidhardhan <s.syam@samsung.com>
-Build-Depends: debhelper (>= 5),libevas-dev,libecore-dev,libethumb-dev,libelm-dev,libefreet-dev, libslp-sensor-dev,libappcore-efl-dev,libdevman-dev, libslp-utilx-dev, syspopup-dev, dlog-dev, libslp-pm-dev, libdbus-glib-1-dev, libglib2.0-dev, libaul-1-dev
-Standards-Version: 0.1.0
-
-Package: org.tizen.bt-syspopup
-Section: main
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libslp-utilx-0, libdlog-0
-Description: bluetooth system-popup application (bluetooth system popup)
-
-Package: org.tizen.bt-syspopup-dbg
-Section: debug
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: bluetooth system-popup application (unstripped)
+++ /dev/null
-/opt/apps/org.tizen.bt-syspopup/bin/bt-syspopup
-/opt/share/icons/*
-/opt/share/process-info/bt-syspopup.ini
+++ /dev/null
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-PREFIX ?= /opt/apps/org.tizen.bluetooth
-CFLAGS ?= -Wall -g
-CXXFLAGS ?= -Wall -g
-LDFLAGS ?=
-DATADIR ?= /opt
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0
- CXXFLAGS += -O0
-else
- CFLAGS += -O2
- CXXFLAGS += -O2
-endif
-
-LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed
-
-#CMAKE_TMP_DIR = $(CURDIR)/cmake_tmp
-
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- # Add here commands to configure the package.
-# mkdir -p $(CMAKE_TMP_DIR);
- CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" cmake . -DCMAKE_INSTALL_PREFIX=$(PREFIX)
-
- touch configure-stamp
-
-build: build-stamp
-
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- $(MAKE)
- #docbook-to-man debian/wavplayer.sgml > wavplayer.1
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- cat $$f > $${f%.in}; \
- sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
- sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
- done
-
-
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- -$(MAKE) clean
- #rm -rf $(CMAKE_TMP_DIR)
-
- for f in `find $(CURDIR)/ -name "CMakeCache.txt"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "CMakeFiles"`; do \
- rm -rf $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "cmake_install.cmake"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "Makefile"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "install_manifest.txt"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- rm -f $${f%.in}; \
- done
- rm -f data/*.desktop
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/wavplayer.
- $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
-# dh_installchangelogs
-# dh_installdocs
-# dh_installexamples
- dh_install --sourcedir=debian/tmp
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_python
-# dh_installinit
-# dh_installcron
-# dh_installinfo
-# dh_installman
- dh_link
- dh_strip --dbg-package=org.tizen.bt-syspopup-dbg
- dh_compress
- dh_fixperms
-# dh_perl
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+++ /dev/null
-<manifest>
- <define>
- <domain name="org.tizen.bt-syspopup"/>
- </define>
- <assign>
- <filesystem path="/usr/share/applications/org.tizen.bt-syspopup.desktop" label="_"/>
- <filesystem path="/opt/share/icons/default/small/org.tizen.bt-syspopup.png" label="_"/>
- </assign>
- <request>
- <domain name="org.tizen.bt-syspopup"/>
- </request>
-</manifest>
+++ /dev/null
-/*
- * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.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.
- */
-
-#ifndef __DEF_BT_SYSPOPUP_H_
-#define __DEF_BT_SYSPOPUP_H_
-
-#include <Elementary.h>
-#include <dlog.h>
-#include <glib.h>
-#include <dbus/dbus-glib.h>
-
-#ifndef PACKAGE_NAME
-#define PACKAGE_NAME "org.tizen.bt-syspopup"
-#endif
-
-#ifndef PREFIX
-#define PREFIX "/opt/apps"PACKAGE_NAME
-#endif
-
-#define EXPORT __attribute__((visibility("default")))
-
-#define TEMP_DIR "/tmp"
-
-#define PACKAGE "bt-syspopup"
-#define APPNAME "bt-syspopup"
-#define ICON_DIR PREFIX"/res/default/small/icon"
-
-#define CUSTOM_POPUP_PATH PREFIX"/res/edje/custom_popup.edj"
-
-#define BT_COMMON_PKG "ug-setting-bluetooth-efl"
-#define BT_COMMON_RES "/usr/ug/res/locale"
-
-#define _EDJ(obj) elm_layout_edje_get(obj)
-
-#define BT_AUTHENTICATION_TIMEOUT 35
-#define BT_AUTHORIZATION_TIMEOUT 25
-#define BT_NOTIFICATION_TIMEOUT 2
-#define BT_ERROR_TIMEOUT 1
-
-#define BT_PIN_MLEN 16 /* Pin key max length */
-#define BT_PK_MLEN 6 /* Passkey max length */
-#define BT_CONTROLBAR_MAX_LENGTH 3
-
-#define BT_GLOBALIZATION_STR_LENGTH 256
-#define BT_DEVICE_NAME_LENGTH_MAX 256
-#define BT_FILE_NAME_LENGTH_MAX 256
-#define BT_TEXT_EXTRA_LEN 20
-
-#define BT_TITLE_STR_MAX_LEN \
- (BT_GLOBALIZATION_STR_LENGTH+BT_DEVICE_NAME_LENGTH_MAX+BT_FILE_NAME_LENGTH_MAX)
-
-#define BT_MESSAGE_STRING_SIZE 256*2+1
-
-#undef LOG_TAG
-#define LOG_TAG "BT_SYSPOPUP"
-
-#define BT_DBG(format, args...) SLOGD(format, ##args)
-#define BT_ERR(format, args...) SLOGE(format, ##args)
-
-#define BT_DBG_SECURE(fmt, args...) SECURE_SLOGD(fmt, ##args)
-#define BT_ERR_SECURE(fmt, args...) SECURE_SLOGE(fmt, ##args)
-
-#define BT_SYS_POPUP_IPC_NAME "org.projectx"
-#define BT_SYS_POPUP_IPC_RESPONSE_OBJECT "/org/projectx/bt_syspopup_res"
-#define BT_SYS_POPUP_INTERFACE "User.Bluetooth.syspopup"
-#define BT_SYS_POPUP_METHOD_RESPONSE "Response"
-
-/* String defines to support multi-languages */
-#define BT_STR_ENTER_PIN \
- dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_ENTERPIN")
-#define BT_STR_ALLOW_PS_TO_CONNECT_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_ALLOW_PS_TO_CONNECT_Q")
-
-#define BT_STR_RECEIVE_PS_FROM_PS_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_RECEIVE_PS_FROM_PS_Q")
-
-#define BT_STR_PASSKEY_MATCH_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_MATCH_PASSKEYS_ON_PS_Q")
-
-#define BT_STR_OVERWRITE_FILE_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_PS_ALREADY_EXISTS_OVERWRITE_Q")
-
-#define BT_STR_ENTER_PS_ON_PS_TO_PAIR \
- dgettext(BT_COMMON_PKG, "IDS_BT_BODY_ENTER_P1SS_ON_P2SS_TO_PAIR_THEN_TAP_RETURN_OR_ENTER")
-
-#define BT_STR_RECEIVE_FILE_FROM_PS_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_RECEIVE_FILE_FROM_PS_Q")
-
-/* Need to convert the design ID */
-#define BT_STR_BLUETOOTH_PAIRING_REQUEST \
- dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_BLUETOOTH_PAIRING_REQUEST")
-
-#define BT_STR_ENTER_PIN_TO_PAIR \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_ENTER_PIN_TO_PAIR_WITH_PS_HTRY_0000_OR_1234")
-
-#define BT_STR_SHOW_PASSWORD \
- dgettext(BT_COMMON_PKG, "IDS_BT_BODY_SHOW_PASSWORD")
-
-#define BT_STR_CONFIRM_PASSKEY_PS_TO_PAIR_WITH_PS \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_CONFIRM_PASSKEY_IS_P2SS_TO_PAIR_WITH_P1SS")
-
-#define BT_STR_ALLOW_PS_PHONEBOOK_ACCESS_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_BODY_ALLOW_PS_PHONEBOOK_ACCESS")
-
-#define BT_STR_ALLOW_PS_TO_ACCESS_MESSAGES_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_ALLOW_PS_TO_ACCESS_MESSAGES_Q")
-
-#define BT_STR_DONT_ASK_AGAIN \
- dgettext(BT_COMMON_PKG, "IDS_BT_BODY_DONT_ASK_AGAIN")
-
-#define BT_STR_PIN_ERROR_TRY_AGAIN_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_INCORRECT_PIN_TRY_AGAIN_Q")
-
-#define BT_STR_TIMEOUT_TRY_AGAIN_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_BLUETOOTH_TIMEOUT_TRY_AGAIN_Q")
-
-#define BT_STR_BLUETOOTH_ERROR_TRY_AGAIN_Q \
- dgettext(BT_COMMON_PKG, "IDS_BT_POP_BLUETOOTH_ERROR_TRY_AGAIN_Q")
-#define BT_STR_TAP_TO_ENTER \
- dgettext(BT_COMMON_PKG, "IDS_SIM_BODY_TAP_TO_ENTER_ABB")
-
-#define BT_STR_OK dgettext("sys_string", "IDS_COM_SK_OK")
-#define BT_STR_YES dgettext("sys_string", "IDS_COM_SK_YES")
-#define BT_STR_NO dgettext("sys_string", "IDS_COM_SK_NO")
-#define BT_STR_DONE dgettext("sys_string", "IDS_COM_SK_DONE")
-#define BT_STR_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL")
-
-
-typedef enum {
- BT_CHANGED_MODE_ENABLE,
- BT_CHANGED_MODE_DISABLE,
-} bt_changed_mode_type_t;
-
-typedef enum {
- BT_EVENT_PIN_REQUEST = 0x0001,
- BT_EVENT_PASSKEY_CONFIRM_REQUEST = 0x0002,
- BT_EVENT_PASSKEY_REQUEST = 0x0004,
- BT_EVENT_PASSKEY_DISPLAY_REQUEST = 0x0008,
- BT_EVENT_AUTHORIZE_REQUEST = 0x0010,
- BT_EVENT_APP_CONFIRM_REQUEST = 0x0020,
- BT_EVENT_PUSH_AUTHORIZE_REQUEST = 0x0040,
- BT_EVENT_CONFIRM_OVERWRITE_REQUEST = 0x0080,
- BT_EVENT_FILE_RECEIVED = 0x0100,
- BT_EVENT_KEYBOARD_PASSKEY_REQUEST = 0x0200,
- BT_EVENT_INFORMATION = 0x0400,
- BT_EVENT_TERMINATE = 0x0800,
- BT_EVENT_EXCHANGE_REQUEST = 0x1000,
- BT_EVENT_PHONEBOOK_REQUEST = 0x2000,
- BT_EVENT_MESSAGE_REQUEST = 0x4000,
- BT_EVENT_RETRY_PAIR_REQUEST = 0x8000,
-} bt_popup_event_type_t;
-
-typedef enum {
- BT_AGENT_ACCEPT,
- BT_AGENT_REJECT,
- BT_AGENT_CANCEL,
- BT_CORE_AGENT_TIMEOUT,
- BT_AGENT_ACCEPT_ALWAYS,
-} bt_agent_accept_type_t;
-
-struct bt_popup_appdata {
- Evas *evas;
- Evas_Object *win_main;
- Evas_Object *popup;
-
- /* Passkey layout objects */
- Evas_Object *entry;
- Evas_Object *edit_field_save_btn;
- Evas_Object *ticker_noti;
-
- Ecore_Timer *timer;
-
- DBusGProxy *agent_proxy;
- DBusGProxy *obex_proxy;
- E_DBus_Connection *EDBusHandle;
- DBusGConnection *conn;
-
- int changed_mode;
- gboolean make_trusted;
- bt_popup_event_type_t event_type;
-};
-
-#endif /* __DEF_BT_SYSPOPUP_H_ */
<manifest>
<define>
<domain name="org.tizen.bt-syspopup"/>
+ <request>
+ <smack request="syspopup::db" type="rwx"/>
+ </request>
</define>
<assign>
<filesystem path="/usr/share/applications/org.tizen.bt-syspopup.desktop" label="_"/>
--- /dev/null
+<manifest>
+ <define>
+ <domain name="org.tizen.bt-syspopup"/>
+ <request>
+ <smack request="aul::launch" type="x"/>
+ </request>
+ </define>
+ <assign>
+ <filesystem path="/usr/share/applications/org.tizen.bt-syspopup.desktop" label="_"/>
+ <filesystem path="/usr/share/icons/default/small/org.tizen.bt-syspopup.png" label="_"/>
+ <filesystem path="/opt/share/process-info/bt-syspopup.ini" label="_"/>
+ <filesystem path="/usr/apps/org.tizen.bt-syspopup/shared/res/tables/org.tizen.bt-syspopup_ChangeableColorTable.xml" label="_"/>
+ <filesystem path="/usr/apps/org.tizen.bt-syspopup/shared/res/tables/org.tizen.bt-syspopup_FontInfoTable.xml" label="_"/>
+ </assign>
+ <request>
+ <domain name="org.tizen.bt-syspopup"/>
+ </request>
+</manifest>
-%if %{_repository} == "wearable"
%define _usrdir /usr
%define _appdir %{_usrdir}/apps
-%elseif %{_repository} == "mobile"
-%define _optdir /opt
-%define _usrdir /usr
-%define _appdir %{_optdir}/apps
-%endif
Name: org.tizen.bt-syspopup
Summary: bluetooth system-popup application (bluetooth system popup)
-Version: 0.2.56
+Version: 0.2.103
Release: 1
+%if "%{?tizen_profile_name}" == "wearable"
+VCS: magnolia/apps/home/bt-syspopup#bt-syspopup_0.2.78-63-g4343fdeb355156f438784eceb6261b10b880ce1b
+%endif
Group: main
License: Flora Software License, Version 1.1
Source0: %{name}-%{version}.tar.gz
Requires(post): sys-assert
BuildRequires: pkgconfig(evas)
+%if "%{?tizen_profile_name}" == "mobile"
+BuildRequires: pkgconfig(efl-assist)
+%endif
BuildRequires: pkgconfig(ecore-input)
BuildRequires: pkgconfig(ethumb)
BuildRequires: pkgconfig(elementary)
+%if "%{?tizen_profile_name}" == "wearable"
+BuildRequires: efl-assist-devel
+%endif
BuildRequires: pkgconfig(efreet)
BuildRequires: pkgconfig(sensor)
+BuildRequires: pkgconfig(capi-appfw-application)
BuildRequires: pkgconfig(utilX)
BuildRequires: pkgconfig(syspopup)
+%if "%{?tizen_profile_name}" == "wearable"
+BuildRequires: pkgconfig(syspopup-caller)
+%endif
BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(deviced)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(aul)
+BuildRequires: pkgconfig(capi-network-bluetooth)
BuildRequires: pkgconfig(feedback)
+%if "%{?tizen_profile_name}" == "mobile"
+BuildRequires: pkgconfig(notification)
+%endif
BuildRequires: edje-tools
+
BuildRequires: cmake
BuildRequires: gettext-devel
-%if %{_repository} == "wearable"
-BuildRequires: efl-assist-devel
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(deviced)
-BuildRequires: pkgconfig(capi-network-bluetooth)
-BuildRequires: pkgconfig(deviced)
BuildRequires: hash-signer
-%endif
-%if %{_repository} == "mobile"
-BuildRequires: pkgconfig(sysman)
-BuildRequires: pkgconfig(appcore-efl)
-BuildRequires: pkgconfig(devman)
-BuildRequires: pkgconfig(pmapi)
-BuildRequires: pkgconfig(devman_haptic)
-BuildRequires: pkgconfig(bluetooth-api)
-BuildRequires: sysman-internal-devel
-%endif
%description
bluetooth system-popup application (bluetooth system popup).
%prep
%setup -q
-
%build
-%if %{_repository} == "wearable"
-%if 0%{?tizen_build_binary_release_type_eng}
-export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
+#%if 0%{?sec_build_binary_debug_enable}
+%if "%{?tizen_profile_name}" == "wearable"
+export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE -DTIZEN_WEARABLE"
export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
+%elseif "%{?tizen_profile_name}" == "mobile"
+echo 1234mobile
+export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE -DTIZEN_MOBILE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
+export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
%endif
-%endif
+#%endif
+%if "%{?tizen_profile_name}" == "wearable"
export CFLAGS+=" -fpie -fvisibility=hidden"
export LDFLAGS+=" -Wl,--rpath=/usr/lib -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs -pie"
-
-%if %{_repository} == "wearable"
-cd wearable
-%elseif %{_repository} == "mobile"
-cd mobile
+%elseif "%{?tizen_profile_name}" == "mobile"
+export CFLAGS+=" -fpie -fvisibility=hidden -D__ENABLE_BLUEZ5__"
%endif
-cmake . -DCMAKE_INSTALL_PREFIX=%{_appdir}/%{name}
+
+cmake . -DCMAKE_INSTALL_PREFIX=%{_appdir}/org.tizen.bt-syspopup
make %{?jobs:-j%jobs}
%install
rm -rf %{buildroot}
-
-%if %{_repository} == "wearable"
-cd wearable
%make_install
PKG_ID=org.tizen.bt-syspopup
%define tizen_sign 1
+%if "%{?tizen_profile_name}" == "wearable"
%define tizen_sign_base /usr/apps/${PKG_ID}
+%elseif "%{?tizen_profile_name}" == "mobile"
+%define tizen_sign_base /usr/apps/org.tizen.bt-syspopup
+%endif
%define tizen_sign_level platform
%define tizen_author_sign 1
%define tizen_dist_sign 1
-install -D -m 0644 LICENSE.Flora %{buildroot}%{_datadir}/license/org.tizen.bt-syspopup
-%elseif %{_repository} == "mobile"
-cd mobile
-%make_install
-mkdir -p %{buildroot}/usr/share/license
-cp LICENSE.Flora %{buildroot}/usr/share/license/%{name}
+install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/org.tizen.bt-syspopup
+
+%if "%{?tizen_profile_name}" == "wearable"
+install -D -m 0644 data/org.tizen.bt-syspopup-w.efl %{buildroot}/etc/smack/accesses.d/org.tizen.bt-syspopup.efl
+install -D -m 0644 data/org.tizen.bt-syspopup-w.xml %{buildroot}%{_usrdir}/share/packages/org.tizen.bt-syspopup.xml
+%elseif "%{?tizen_profile_name}" == "mobile"
+install -D -m 0644 data/org.tizen.bt-syspopup-m.efl %{buildroot}/etc/smack/accesses.d/org.tizen.bt-syspopup.efl
+install -D -m 0644 data/org.tizen.bt-syspopup-m.xml %{buildroot}%{_usrdir}/share/packages/org.tizen.bt-syspopup.xml
%endif
+%post
+
%files
-%if %{_repository} == "wearable"
-%manifest wearable/org.tizen.bt-syspopup.manifest
-/etc/smack/accesses2.d/org.tizen.bt-syspopup.rule
+%if "%{?tizen_profile_name}" == "wearable"
+%manifest org.tizen.bt-syspopup-w.manifest
+%elseif "%{?tizen_profile_name}" == "mobile"
+%manifest org.tizen.bt-syspopup-m.manifest
+%endif
%defattr(-,root,root,-)
+/etc/smack/accesses.d/org.tizen.bt-syspopup.efl
%{_usrdir}/share/packages/org.tizen.bt-syspopup.xml
%{_appdir}/org.tizen.bt-syspopup/bin/bt-syspopup
%{_appdir}/org.tizen.bt-syspopup/res/edje/*.edj
-%{_appdir}/org.tizen.bt-syspopup/res/images/*.png
%{_appdir}/org.tizen.bt-syspopup/author-signature.xml
%{_appdir}/org.tizen.bt-syspopup/signature1.xml
%{_usrdir}/share/icons/default/small/org.tizen.bt-syspopup.png
%{_datadir}/license/org.tizen.bt-syspopup
-%elseif %{_repository} == "mobile"
-%manifest mobile/org.tizen.bt-syspopup.manifest
-/opt/etc/smack/accesses.d/org.tizen.bt-syspopup.rule
-%defattr(-,root,root,-)
-%{_usrdir}/share/packages/org.tizen.bt-syspopup.xml
-%{_appdir}/org.tizen.bt-syspopup/bin/bt-syspopup
-%{_appdir}/org.tizen.bt-syspopup/res/edje/*.edj
-%{_optdir}/share/icons/default/small/org.tizen.bt-syspopup.png
-/usr/share/license/%{name}
+%if "%{?tizen_profile_name}" == "wearable"
+/usr/apps/org.tizen.bt-syspopup/shared/res/tables/org.tizen.bt-syspopup_ChangeableColorTable.xml
+/usr/apps/org.tizen.bt-syspopup/shared/res/tables/org.tizen.bt-syspopup_FontInfoTable.xml
%endif
/*
- * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.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.
- */
+* bt-syspopup
+*
+* Copyright 2013 Samsung Electronics Co., Ltd
+*
+* Contact: Hocheol Seo <hocheol.seo@samsung.com>
+* GirishAshok Joshi <girish.joshi@samsung.com>
+* DoHyun Pyun <dh79.pyun@samsung.com>
+*
+* Licensed under the Flora License, Version 1.1 (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 <stdio.h>
-#include <pmapi.h>
-#include <appcore-efl.h>
+#include <dd-display.h>
+#include <app.h>
#include <Ecore_X.h>
#include <utilX.h>
#include <vconf.h>
#include <syspopup.h>
#include <E_DBus.h>
#include <aul.h>
-#include <bluetooth-api.h>
+#include <bluetooth.h>
#include <feedback.h>
-
-#include "bt-syspopup.h"
+#include "bt-syspopup-m.h"
+#include <notification.h>
+#include <bundle.h>
+#include <app_control.h>
+#include <app_control_internal.h>
+#include <efl_assist.h>
static void __bluetooth_delete_input_view(struct bt_popup_appdata *ad);
static void __bluetooth_win_del(void *data);
static void __bluetooth_mouseup_auth_cb(void *data,
Evas *e, Evas_Object *obj, void *event_info);
-static int __bluetooth_terminate(void *data);
+
+static void __bluetooth_terminate(void *data);
+
+static void __bluetooth_remove_all_event(struct bt_popup_appdata *ad);
+
+static void __bluetooth_set_win_level(Evas_Object *parent);
static int __bluetooth_term(bundle *b, void *data)
{
+ struct bt_popup_appdata *ad;
+
BT_DBG("System-popup: terminate");
+
+ if (data == NULL)
+ return 0;
+
+ ad = (struct bt_popup_appdata *)data;
+ /* Destory UI and timer */
+ if (ad->timer) {
+ BT_DBG("removing the timer");
+ ecore_timer_del(ad->timer);
+ ad->timer = NULL;
+ }
+ __bluetooth_remove_all_event(ad);
__bluetooth_terminate(data);
return 0;
}
/* Cleanup objects to avoid mem-leak */
static void __bluetooth_cleanup(struct bt_popup_appdata *ad)
{
- if (ad == NULL)
- return;
+ ret_if(ad == NULL);
if (ad->popup) {
evas_object_del(ad->popup);
ad->popup = NULL;
}
-
- if (ad->win_main) {
- evas_object_del(ad->win_main);
- ad->win_main = NULL;
+ if (ad->layout) {
+ evas_object_del(ad->layout);
+ ad->layout = NULL;
+ }
+ if (ad->conform) {
+ evas_object_del(ad->conform);
+ ad->conform = NULL;
}
-
if (ad->agent_proxy) {
g_object_unref(ad->agent_proxy);
ad->agent_proxy = NULL;
}
}
+static void __bt_main_win_rot_changed_cb(void *data, Evas_Object *obj,
+ void *event)
+{
+ FN_START;
+
+ ret_if(!data);
+
+ struct bt_popup_appdata *ad = data;
+ int changed_ang = elm_win_rotation_get(obj);
+ BT_INFO("New angle: %d, old angle: %d", changed_ang,
+ ad->rotation);
+ if (changed_ang == ad->rotation) {
+ return;
+ } else {
+ ad->rotation = changed_ang;
+ }
+
+ BT_INFO("Rotation: %d", ad->rotation);
+
+ if (ad->popup) {
+ if (ad->event_type == BT_EVENT_PIN_REQUEST ||
+ ad->event_type == BT_EVENT_PASSKEY_CONFIRM_REQUEST){
+ if (ad->rotation == APP_DEVICE_ORIENTATION_0 ||
+ ad->rotation == APP_DEVICE_ORIENTATION_180)
+ elm_layout_file_set(elm_object_content_get(ad->popup),
+ CUSTOM_POPUP_PATH, "passwd_popup");
+ else
+ elm_layout_file_set(elm_object_content_get(ad->popup),
+ CUSTOM_POPUP_PATH, "passwd_popup_landscape_ly");
+ }
+ }
+ FN_END;
+}
+
+static void __bluetooth_cleanup_win(struct bt_popup_appdata *ad)
+{
+ ret_if(ad == NULL);
+
+ if (ad->win_main) {
+ evas_object_smart_callback_del(ad->win_main, "wm,rotation,changed",
+ __bt_main_win_rot_changed_cb);
+ evas_object_del(ad->win_main);
+ ad->win_main = NULL;
+ }
+}
+
static void __bluetooth_notify_event(void)
{
int result;
+ char *path = NULL;
BT_DBG("Notify event");
return;
}
+ /* Set the notification sound from vconf*/
+ path = vconf_get_str(VCONF_NOTI_SOUND);
+ if (path) {
+ BT_DBG("feedback_play Path : %s", path);
+ result = feedback_set_resource_path(FEEDBACK_TYPE_SOUND,
+ FEEDBACK_PATTERN_GENERAL, path);
+ if (result != 0)
+ BT_ERR("feedback_set_resource_path Failed : %d", result);
+ free(path);
+ } else {
+ BT_ERR("vconf_get_str failed");
+ }
+
result = feedback_play(FEEDBACK_PATTERN_GENERAL);
- BT_DBG("ret value : %d", result);
+ if (result != FEEDBACK_ERROR_NONE)
+ BT_ERR("feedback_play Error : %d", result);
result = feedback_deinitialize();
if (result != FEEDBACK_ERROR_NONE) {
- BT_DBG("feedback_initialize error : %d", result);
+ BT_ERR("feedback_deinitialize error : %d", result);
return;
}
}
ad->event_type = BT_EVENT_MESSAGE_REQUEST;
else if (!strcasecmp(event_type, "pairing-retry-request"))
ad->event_type = BT_EVENT_RETRY_PAIR_REQUEST;
+ else if (!strcasecmp(event_type, "remote-legacy-pair-failed"))
+ ad->event_type = BT_EVENT_LEGACY_PAIR_FAILED_FROM_REMOTE;
else
ad->event_type = 0x0000;
- return;
+ return;
}
static void __bluetooth_request_to_cancel(void)
{
- bluetooth_cancel_bonding();
+ bt_device_cancel_bonding();
}
static void __bluetooth_remove_all_event(struct bt_popup_appdata *ad)
{
- BT_DBG("Remove event 0X%X", ad->event_type);
+ BT_INFO("Remove event 0X%X", ad->event_type);
switch (ad->event_type) {
case BT_EVENT_PIN_REQUEST:
break;
case BT_EVENT_PUSH_AUTHORIZE_REQUEST:
+ case BT_EVENT_PHONEBOOK_REQUEST:
+ case BT_EVENT_MESSAGE_REQUEST:
case BT_EVENT_EXCHANGE_REQUEST:
dbus_g_proxy_call_no_reply(ad->agent_proxy,
e_dbus_message_send(ad->EDBusHandle, msg, NULL, -1, NULL);
dbus_message_unref(msg);
+
break;
}
elm_entry_markup_to_utf8(input_text);
}
- if (!g_strcmp0(event, BT_STR_OK))
+ if (!g_strcmp0(event, BT_STR_PAIR))
response = BT_AGENT_ACCEPT;
else
response = BT_AGENT_CANCEL;
if (convert_input_text == NULL)
return;
- BT_DBG("PIN/Passkey[%s] event[%d] response[%d - %s]",
+ BT_DBG_SECURE("PIN/Passkey[%s] event[%d] response[%d - %s]",
convert_input_text, ad->event_type, response,
(response == BT_AGENT_ACCEPT) ? "Accept" : "Cancel");
{
struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
- bluetooth_cancel_bonding();
+ bt_device_cancel_bonding();
__bluetooth_win_del(ad);
}
struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
const char *event = elm_object_text_get(obj);
- if (!g_strcmp0(event, BT_STR_OK)) {
+ if (!g_strcmp0(event, BT_STR_CONFIRM)) {
dbus_g_proxy_call_no_reply(ad->agent_proxy, "ReplyConfirmation",
G_TYPE_UINT, BT_AGENT_ACCEPT,
G_TYPE_INVALID, G_TYPE_INVALID);
e_dbus_init();
ad->EDBusHandle = e_dbus_bus_get(DBUS_BUS_SYSTEM);
if (!ad->EDBusHandle) {
- BT_ERR("e_dbus_bus_get failed \n ");
+ BT_ERR("e_dbus_bus_get failed");
return FALSE;
} else {
- BT_DBG("e_dbus_bus_get success \n ");
+ BT_DBG("e_dbus_bus_get success");
e_dbus_request_name(ad->EDBusHandle,
BT_SYS_POPUP_IPC_NAME, 0, NULL, NULL);
}
const char *event = elm_object_text_get(obj);
- if (!g_strcmp0(event, BT_STR_OK)) {
+ if (!g_strcmp0(event, BT_STR_OK) || !g_strcmp0(event, BT_STR_ACCEPT)
+ || !g_strcmp0(event, BT_STR_ALLOW)) {
reply_val = (ad->make_trusted == TRUE) ?
BT_AGENT_ACCEPT_ALWAYS : BT_AGENT_ACCEPT;
} else {
__bluetooth_win_del(ad);
}
+static void __bluetooth_information_cb(void *data,
+ Evas_Object *obj,
+ void *event_info)
+{
+ struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
+
+ if (obj == NULL || ad == NULL)
+ return;
+
+ __bluetooth_win_del(ad);
+}
+
static void __bluetooth_push_authorization_request_cb(void *data,
Evas_Object *obj,
void *event_info)
static void __bluetooth_ime_hide(void)
{
+ FN_START;
Ecore_IMF_Context *imf_context = NULL;
imf_context = ecore_imf_context_add(ecore_imf_context_default_id_get());
if (imf_context)
ecore_imf_context_input_panel_hide(imf_context);
+ FN_END;
+}
+
+static void __bluetooth_entry_keydown_cb(void *data, Evas *e, Evas_Object *obj,
+ void *event_info)
+{
+ FN_START;
+ Evas_Event_Key_Down *ev;
+ Evas_Object *entry = obj;
+
+ if (data == NULL || event_info == NULL || entry == NULL)
+ return;
+
+ ev = (Evas_Event_Key_Down *)event_info;
+ BT_INFO("ENTER ev->key:%s", ev->key);
+
+ if (g_strcmp0(ev->key, "KP_Enter") == 0 ||
+ g_strcmp0(ev->key, "Return") == 0) {
+
+ Ecore_IMF_Context *imf_context = NULL;
+
+ imf_context =
+ (Ecore_IMF_Context*)elm_entry_imf_context_get(entry);
+ if (imf_context)
+ ecore_imf_context_input_panel_hide(imf_context);
+
+ elm_object_focus_set(entry, EINA_FALSE);
+ }
+ FN_END;
}
static void __bluetooth_entry_change_cb(void *data, Evas_Object *obj,
if (text_length == 0) {
elm_object_disabled_set(ad->edit_field_save_btn,
EINA_TRUE);
+ elm_entry_input_panel_return_key_disabled_set(obj,
+ EINA_TRUE);
} else {
elm_object_disabled_set(ad->edit_field_save_btn,
EINA_FALSE);
+ elm_entry_input_panel_return_key_disabled_set(obj,
+ EINA_FALSE);
}
- if (ad->event_type == BT_EVENT_PASSKEY_REQUEST) {
- if (text_length > BT_PK_MLEN) {
- convert_input_text[BT_PK_MLEN] = '\0';
- output_text = elm_entry_utf8_to_markup(
- convert_input_text);
-
- elm_entry_entry_set(obj, output_text);
- elm_entry_cursor_end_set(obj);
- free(output_text);
- }
- } else {
- if (text_length > BT_PIN_MLEN) {
- convert_input_text[BT_PIN_MLEN] = '\0';
- output_text = elm_entry_utf8_to_markup(
- convert_input_text);
-
- elm_entry_entry_set(obj, output_text);
- elm_entry_cursor_end_set(obj);
- free(output_text);
- }
- }
free(convert_input_text);
}
}
struct bt_popup_appdata *ad = data;
Eina_Bool state = elm_check_state_get(obj);
- BT_DBG("Check %d", state);
+ BT_INFO("Check %d", state);
ad->make_trusted = state;
}
+static void __bluetooth_auth_check_label_clicked_cb(void *data, Evas_Object *obj,
+ void *event_info)
+{
+ FN_START;
+ ret_if (!obj || !data);
+
+ Elm_Object_Item *item = NULL;
+ item = (Elm_Object_Item *)event_info;
+ ret_if (!item);
+
+ struct bt_popup_appdata *ad = data;
+ ret_if (!ad);
+
+ Evas_Object *content = elm_object_item_part_content_get(item, "elm.icon.2");
+ Evas_Object *ck = elm_object_part_content_get(content, "elm.swallow.content");
+
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ Eina_Bool state = elm_check_state_get(ck);
+
+ elm_check_state_set(ck, !state);
+
+ BT_INFO("Check %d", !state);
+ ad->make_trusted = !state;
+
+ FN_END;
+}
static void __bluetooth_mouseup_auth_cb(void *data,
Evas *e, Evas_Object *obj, void *event_info)
{
DBusMessage *msg = NULL;
int response = BT_AGENT_REJECT;
- BT_DBG("Mouse event callback function is called + \n");
+ BT_DBG("Mouse event callback function is called + ");
if (ev->button == 3) {
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
dbus_message_unref(msg);
__bluetooth_win_del(ad);
}
- BT_DBG("Mouse event callback -\n");
+ BT_DBG("Mouse event callback -");
}
static void __bluetooth_keyback_auth_cb(void *data,
DBusMessage *msg = NULL;
int response = BT_AGENT_REJECT;
- BT_DBG("Keyboard event callback function is called + \n");
+ BT_DBG("Keyboard event callback function is called + ");
if (!strcmp(ev->keyname, KEY_BACK)) {
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
dbus_message_unref(msg);
__bluetooth_win_del(ad);
}
- BT_DBG("Keyboard Mouse event callback -\n");
+ BT_DBG("Keyboard Mouse event callback -");
}
static void __bluetooth_draw_auth_popup(struct bt_popup_appdata *ad,
Evas_Object *layout = NULL;
Evas_Object *label = NULL;
Evas_Object *check = NULL;
-
BT_DBG("+");
ad->make_trusted = TRUE;
- ad->popup = elm_popup_add(ad->win_main);
+ ad->popup = elm_popup_add(ad->layout);
evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
+ EVAS_HINT_EXPAND);
elm_object_style_set(ad->popup, "transparent");
+ /*set window level to HIGH*/
+ __bluetooth_set_win_level(ad->popup);
+
layout = elm_layout_add(ad->popup);
elm_layout_file_set(layout, CUSTOM_POPUP_PATH, "auth_popup");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
if (title != NULL) {
+
+ elm_object_part_text_set(ad->popup, "title,text",
+ BT_STR_ALLOW_APP_PERMISSION);
+
snprintf(temp_str, BT_TITLE_STR_MAX_LEN + BT_TEXT_EXTRA_LEN,
"%s", title);
evas_object_show(label);
}
+ /* check */
check = elm_check_add(ad->popup);
- elm_check_state_set(check, EINA_TRUE);
+ elm_object_style_set(check, "popup");
+ elm_check_state_set(check, EINA_FALSE);
elm_object_text_set(check, BT_STR_DONT_ASK_AGAIN);
evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
Evas_Event_Mouse_Up *ev = event_info;
struct bt_popup_appdata *ad = data;
- BT_DBG("Mouse event callback function is called + \n");
+ BT_DBG("Mouse event callback function is called + ");
if (ev->button == 3) {
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
__bluetooth_keyback_cb);
__bluetooth_remove_all_event(ad);
}
- BT_DBG("Mouse event callback -\n");
+ BT_DBG("Mouse event callback -");
}
static void __bluetooth_keyback_cb(void *data,
Evas_Event_Key_Down *ev = event_info;
struct bt_popup_appdata *ad = data;
- BT_DBG("Keyboard event callback function is called %s+ \n", ev->keyname);
+ BT_DBG("Keyboard event callback function is called %s+ ", ev->keyname);
if (!strcmp(ev->keyname, KEY_BACK)) {
__bluetooth_keyback_cb);
__bluetooth_remove_all_event(ad);
}
- BT_DBG("Keyboard Mouse event callback -\n");
+ BT_DBG("Keyboard Mouse event callback -");
}
static void __bluetooth_draw_popup(struct bt_popup_appdata *ad,
- const char *title, char *btn1_text,
+ const char *title, char *text, char *btn1_text,
char *btn2_text, void (*func) (void *data,
Evas_Object *obj, void *event_info))
{
- char temp_str[BT_TITLE_STR_MAX_LEN+BT_TEXT_EXTRA_LEN] = { 0 };
Evas_Object *btn1;
Evas_Object *btn2;
BT_DBG("__bluetooth_draw_popup");
- ad->popup = elm_popup_add(ad->win_main);
+ ad->popup = elm_popup_add(ad->layout);
evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
- elm_object_style_set(ad->popup, "transparent");
+ /*set window level to HIGH*/
+ __bluetooth_set_win_level(ad->popup);
+#ifdef TIZEN_REDWOOD
+ elm_object_style_set(ad->popup, "transparent");
+#endif
if (title != NULL) {
- snprintf(temp_str, BT_TITLE_STR_MAX_LEN+BT_TEXT_EXTRA_LEN,
- "<align=center>%s</align>", title);
- elm_object_text_set(ad->popup, temp_str);
+ elm_object_part_text_set(ad->popup, "title,text", title);
+ }
+
+ if (text != NULL) {
+ char *markup_text = NULL;
+ markup_text = elm_entry_utf8_to_markup(text);
+ elm_object_text_set(ad->popup, markup_text);
+ free(markup_text);
}
if ((btn1_text != NULL) && (btn2_text != NULL)) {
static void __bluetooth_input_mouseup_cb(void *data,
Evas *e, Evas_Object *obj, void *event_info)
{
+ FN_START;
Evas_Event_Mouse_Up *ev = event_info;
struct bt_popup_appdata *ad = data;
int response = BT_AGENT_CANCEL;
char *input_text = NULL;
char *convert_input_text = NULL;
- BT_DBG("Mouse event callback function is called + \n");
+
+ BT_DBG("ev->button : %d", ev->button);
if (ev->button == 3) {
- if (ad == NULL)
- return;
+ ret_if (ad == NULL);
evas_object_event_callback_del(ad->entry, EVAS_CALLBACK_MOUSE_UP,
__bluetooth_input_mouseup_cb);
evas_object_event_callback_del(ad->entry, EVAS_CALLBACK_KEY_DOWN,
}
__bluetooth_win_del(ad);
}
- BT_DBG("Mouse event callback -\n");
+ FN_END;
}
static void __bluetooth_input_keyback_cb(void *data,
Evas *e, Evas_Object *obj, void *event_info)
{
+ FN_START;
Evas_Event_Key_Down *ev = event_info;
struct bt_popup_appdata *ad = data;
int response = BT_AGENT_CANCEL;
char *input_text = NULL;
char *convert_input_text = NULL;
-
- BT_DBG("Keyboard event callback function is called + \n");
-
if (!strcmp(ev->keyname, KEY_BACK)) {
if (ad == NULL)
return;
return;
if (ad->event_type == BT_EVENT_PIN_REQUEST) {
- BT_DBG("It is PIN Request event \n");
+ BT_DBG("It is PIN Request event ");
dbus_g_proxy_call_no_reply(ad->agent_proxy,
"ReplyPinCode", G_TYPE_UINT, response,
G_TYPE_STRING, convert_input_text,
G_TYPE_INVALID, G_TYPE_INVALID);
} else {
- BT_DBG("It is PASSKEYRequest event \n");
+ BT_DBG("It is PASSKEYRequest event ");
dbus_g_proxy_call_no_reply(ad->agent_proxy,
"ReplyPasskey", G_TYPE_UINT, response,
G_TYPE_STRING, convert_input_text,
free(convert_input_text);
__bluetooth_win_del(ad);
}
- BT_DBG("Keyboard Mouse event callback -\n");
+ FN_END;
+}
+
+static void __bluetooth_pin_check_clicked_cb(void *data, Evas_Object *obj,
+ void *event_info)
+{
+ FN_START;
+ ret_if(!obj || !data);
+
+ Eina_Bool state = elm_check_state_get(obj);
+
+ BT_INFO("Check %d", state);
+ if (state) {
+ elm_entry_password_set((Evas_Object *)data, EINA_FALSE);
+ } else {
+ elm_entry_password_set((Evas_Object *)data, EINA_TRUE);
+ }
+
+ FN_END;
+}
+
+static void __bluetooth_pswd_check_box_sel(void *data, Evas_Object *obj,
+ void *event_info)
+{
+ FN_START;
+ ret_if (!obj || !data);
+
+ Elm_Object_Item *item = NULL;
+ item = (Elm_Object_Item *)event_info;
+ ret_if (!item);
+
+ struct bt_popup_appdata *ad = data;
+ ret_if (!ad);
+
+ Evas_Object *content = elm_object_item_part_content_get(item, "elm.icon.2");
+ Evas_Object *ck = elm_object_part_content_get(content, "elm.swallow.content");
+
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ Eina_Bool state = elm_check_state_get(ck);
+
+ elm_check_state_set(ck, !state);
+
+ if (ad->entry) {
+ __bluetooth_pin_check_clicked_cb(ad->entry, ck, NULL);
+ }
+
+ FN_END;
+}
+
+static void __bluetooth_entry_edit_mode_show_cb(void *data, Evas *e, Evas_Object *obj,
+ void *event_info)
+{
+ FN_START;
+ struct bt_popup_appdata *ad = data;
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW,
+ __bluetooth_entry_edit_mode_show_cb);
+
+ elm_object_focus_set(obj, EINA_TRUE);
+ FN_END;
+}
+
+static void __bluetooth_entry_activated_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ FN_START;
+ if (!obj)
+ return;
+
+ elm_object_focus_set(obj, EINA_FALSE);
+ FN_END;
+}
+
+
+
+static Evas_Object *__bluetooth_passwd_entry_icon_get(
+ void *data, Evas_Object *obj, const char *part)
+{
+ FN_START;
+ retv_if (obj == NULL || data == NULL, NULL);
+
+ Evas_Object *entry = NULL;
+ Evas_Object *layout = NULL;
+ Evas_Object *button = NULL;
+ struct bt_popup_appdata *ad = data;
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+
+ if (!strcmp(part, "elm.icon.entry")) {
+ layout = elm_layout_add(obj);
+ elm_layout_file_set(layout, CUSTOM_POPUP_PATH, "entry_style");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+
+ static Elm_Entry_Filter_Accept_Set accept_set = {
+ .accepted = "0123456789",
+ .rejected = NULL
+ };
+
+ entry = ea_editfield_add(layout, EA_EDITFIELD_SCROLL_SINGLELINE_PASSWORD);
+ ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
+ evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_prediction_allow_set(entry, EINA_FALSE);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_object_signal_emit(entry, "elm,action,hide,search_icon", "");
+ elm_object_part_text_set(entry, "elm.guide", BT_STR_PIN);
+
+ elm_entry_markup_filter_append(entry, elm_entry_filter_accept_set,
+ &accept_set);
+
+ elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+
+ elm_entry_password_set(entry, EINA_TRUE);
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
+
+ elm_entry_input_panel_return_key_type_set(entry, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+ elm_entry_input_panel_return_key_disabled_set(entry, EINA_TRUE);
+
+ if (ad->event_type == BT_EVENT_PASSKEY_REQUEST)
+ limit_filter_data.max_char_count = BT_PK_MLEN;
+ else
+ limit_filter_data.max_char_count = BT_PIN_MLEN;
+
+ elm_entry_markup_filter_append(entry,
+ elm_entry_filter_limit_size, &limit_filter_data);
+
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_KEY_DOWN,
+ __bluetooth_entry_keydown_cb, ad);
+
+ evas_object_smart_callback_add(entry, "activated",
+ __bluetooth_entry_activated_cb, ad);
+ evas_object_smart_callback_add(entry, "changed",
+ __bluetooth_entry_change_cb, ad);
+
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW,
+ __bluetooth_entry_edit_mode_show_cb, ad);
+
+ elm_object_part_content_set(layout, "entry_part", entry);
+ //evas_object_show(entry);
+ //elm_object_focus_set(entry, EINA_TRUE);
+
+ ad->entry = entry;
+
+ }
+
+ FN_END;
+ return layout;
+}
+
+static char *__bluetooth_popup_desc_label_get(void *data, Evas_Object *obj,
+ const char *part)
+{
+ retv_if (!data, NULL);
+
+ if (!strcmp(part, "elm.text.multiline"))
+ return (char *)data;
+ return NULL;
+}
+
+static char *__bluetooth_access_check_label_get(void *data, Evas_Object *obj,
+ const char *part)
+{
+ FN_START;
+ retv_if (!data, NULL);
+ retv_if (!strcmp(part, "elm.text.main.left"),
+ g_strdup(BT_STR_DO_NOT_SHOW_AGAIN));
+ FN_END;
+ return NULL;
+}
+
+static char *__bluetooth_passwd_show_passwd_label_get(void *data, Evas_Object *obj,
+ const char *part)
+{
+ FN_START;
+ retv_if (!data, NULL);
+ retv_if (!strcmp(part, "elm.text.main.left"), g_strdup(BT_STR_SHOW_PIN));
+ FN_END;
+ return NULL;
+}
+static Evas_Object *__bluetooth_access_check_icon_get(
+ void *data, Evas_Object *obj, const char *part)
+
+{
+ FN_START;
+ retv_if (strcmp(part, "elm.icon.2"), NULL);
+ struct bt_popup_appdata *ad = data;
+ retv_if(!ad, NULL);
+ Evas_Object *layout = NULL;
+ layout = elm_layout_add(obj);
+
+ elm_layout_theme_set(layout, "layout", "list/C/type.2", "default");
+ Evas_Object *check = elm_check_add(layout);
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ elm_object_style_set(check, "popup");
+ if (ad->make_trusted == 0)
+ elm_check_state_set(check, EINA_FALSE);
+ else
+ elm_check_state_set(check, EINA_TRUE);
+ evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_smart_callback_add(check, "changed",
+ __bluetooth_auth_check_clicked_cb, ad);
+
+ elm_object_tree_focus_allow_set(check, EINA_FALSE);
+ elm_layout_content_set(layout, "elm.swallow.content", check);
+ FN_END;
+ return layout;
+}
+static Evas_Object *__bluetooth_passwd_show_passwd_icon_get(
+ void *data, Evas_Object *obj, const char *part)
+
+{
+ FN_START;
+ retv_if (strcmp(part, "elm.icon.2"), NULL);
+ struct bt_popup_appdata *ad = data;
+ retv_if(!ad, NULL);
+ Evas_Object *layout = NULL;
+ layout = elm_layout_add(obj);
+
+ elm_layout_theme_set(layout, "layout", "list/C/type.2", "default");
+ Evas_Object *check = elm_check_add(layout);
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ elm_object_style_set(check, "popup");
+ elm_check_state_set(check, EINA_FALSE);
+ evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_smart_callback_add(check, "changed",
+ __bluetooth_pin_check_clicked_cb, ad->entry);
+
+ elm_object_tree_focus_allow_set(check, EINA_FALSE);
+ elm_layout_content_set(layout, "elm.swallow.content", check);
+ FN_END;
+ return layout;
}
static void __bluetooth_draw_input_view(struct bt_popup_appdata *ad,
void (*func)
(void *data, Evas_Object *obj, void *event_info))
{
+ FN_START;
Evas_Object *conformant = NULL;
Evas_Object *content = NULL;
Evas_Object *layout = NULL;
Evas_Object *passpopup = NULL;
Evas_Object *label = NULL;
Evas_Object *entry = NULL;
+ Evas_Object *check = NULL;
Evas_Object *l_button = NULL;
Evas_Object *r_button = NULL;
+ Ecore_IMF_Context *imf_context;
static Elm_Entry_Filter_Limit_Size limit_filter_data;
+ Evas_Object *genlist = NULL;
+ Elm_Object_Item *git = NULL;
- if (ad == NULL || ad->win_main == NULL) {
- BT_ERR("Invalid parameter");
- return;
- }
+ ret_if(ad == NULL || ad->win_main == NULL || ad->layout == NULL);
evas_object_show(ad->win_main);
- conformant = elm_conformant_add(ad->win_main);
- if (conformant == NULL) {
- BT_ERR("conformant is NULL");
- return;
- }
- ad->popup = conformant;
-
- elm_win_conformant_set(ad->win_main, EINA_TRUE);
- elm_win_resize_object_add(ad->win_main, conformant);
- evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(conformant);
+ passpopup = elm_popup_add(ad->layout);
+ elm_object_content_set(ad->layout, passpopup);
+ elm_object_style_set(passpopup, "no_effect");
+ ad->popup = passpopup;
- content = elm_layout_add(conformant);
- elm_object_content_set(conformant, content);
+ /*set window level to HIGH*/
+ __bluetooth_set_win_level(ad->popup);
- passpopup = elm_popup_add(content);
elm_object_part_text_set(passpopup, "title,text", title);
elm_object_style_set(passpopup, "transparent");
layout = elm_layout_add(passpopup);
- elm_layout_file_set(layout, CUSTOM_POPUP_PATH, "passwd_popup");
+
+ ad->rotation = elm_win_rotation_get(ad->win_main);
+ BT_INFO("Start angle: %d", ad->rotation);
+
+ if (ad->rotation == BT_ROTATE_0 ||
+ ad->rotation == BT_ROTATE_180)
+ elm_layout_file_set(layout, CUSTOM_POPUP_PATH, "passwd_popup");
+ else
+ elm_layout_file_set(layout, CUSTOM_POPUP_PATH, "passwd_popup_landscape_ly");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- label = elm_label_add(passpopup);
- elm_object_style_set(label, "popup/default");
- elm_label_line_wrap_set(label, ELM_WRAP_WORD);
- elm_object_text_set(label, text);
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- entry = elm_entry_add(layout);
- elm_object_style_set(entry, "editfield/password/popup");
- /* As per specs PIN codes may be up to 16 characters*/
- limit_filter_data.max_char_count = 16;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_entry_single_line_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_object_signal_emit(entry, "elm,state,focus,on", "");
- elm_object_signal_emit(entry, "elm,action,hide,search_icon", "");
- elm_entry_prediction_allow_set(entry, EINA_FALSE);
- elm_entry_password_set(entry, EINA_TRUE);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
- evas_object_show(entry);
- ad->entry = entry;
-
- evas_object_smart_callback_add(entry, "changed",
- __bluetooth_entry_change_cb,
- ad);
-
- l_button = elm_button_add(ad->win_main);
+ genlist = elm_genlist_add(layout);
+ evas_object_size_hint_weight_set(genlist,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+
+ /* Description */
+ ad->passwd_desc_itc = elm_genlist_item_class_new();
+ ad->passwd_desc_itc->item_style = "multiline_main";
+ ad->passwd_desc_itc->func.text_get = __bluetooth_popup_desc_label_get;
+ ad->passwd_desc_itc->func.content_get = NULL;
+ ad->passwd_desc_itc->func.state_get = NULL;
+ ad->passwd_desc_itc->func.del = NULL;
+
+ git = elm_genlist_item_append(genlist, ad->passwd_desc_itc, g_strdup(text), NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(git,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /* Entry genlist item */
+ ad->passwd_entry_itc = elm_genlist_item_class_new();
+ ad->passwd_entry_itc->item_style = "entry.icon";
+ ad->passwd_entry_itc->func.text_get = NULL;
+ ad->passwd_entry_itc->func.content_get = __bluetooth_passwd_entry_icon_get;
+ ad->passwd_entry_itc->func.state_get = NULL;
+ ad->passwd_entry_itc->func.del = NULL;
+
+ elm_genlist_item_append(genlist, ad->passwd_entry_itc, ad,
+ NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+ /* Show password */
+ ad->passwd_show_passwd_itc = elm_genlist_item_class_new();
+ ad->passwd_show_passwd_itc->item_style = "1line";
+ ad->passwd_show_passwd_itc->func.text_get = __bluetooth_passwd_show_passwd_label_get;
+ ad->passwd_show_passwd_itc->func.content_get = __bluetooth_passwd_show_passwd_icon_get;
+ ad->passwd_show_passwd_itc->func.state_get = NULL;
+ ad->passwd_show_passwd_itc->func.del = NULL;
+
+ git = elm_genlist_item_append(genlist, ad->passwd_show_passwd_itc, ad,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ __bluetooth_pswd_check_box_sel, ad);
+
+ l_button = elm_button_add(passpopup);
elm_object_style_set(l_button, "popup");
elm_object_text_set(l_button, BT_STR_CANCEL);
elm_object_part_content_set(passpopup, "button1", l_button);
evas_object_smart_callback_add(l_button, "clicked", func, ad);
+ elm_object_tree_focus_allow_set(l_button, EINA_FALSE);
+
- r_button = elm_button_add(ad->win_main);
+ r_button = elm_button_add(passpopup);
elm_object_style_set(r_button, "popup");
- elm_object_text_set(r_button, BT_STR_OK);
+ elm_object_text_set(r_button, BT_STR_PAIR);
elm_object_part_content_set(passpopup, "button2", r_button);
evas_object_smart_callback_add(r_button, "clicked", func, ad);
elm_object_disabled_set(r_button, EINA_TRUE);
+ elm_object_tree_focus_allow_set(r_button, EINA_FALSE);
ad->edit_field_save_btn = r_button;
- evas_object_event_callback_add(entry, EVAS_CALLBACK_MOUSE_UP,
- __bluetooth_input_mouseup_cb, ad);
- evas_object_event_callback_add(entry, EVAS_CALLBACK_KEY_DOWN,
- __bluetooth_input_keyback_cb, ad);
evas_object_event_callback_add(ad->popup, EVAS_CALLBACK_MOUSE_UP,
__bluetooth_input_mouseup_cb, ad);
evas_object_event_callback_add(l_button, EVAS_CALLBACK_KEY_DOWN,
__bluetooth_input_keyback_cb, ad);
+ elm_genlist_realization_mode_set(genlist, EINA_TRUE);
+ evas_object_show(genlist);
+ elm_object_part_content_set(layout, "elm.swallow.layout", genlist);
+
+ elm_object_content_set(passpopup, layout);
+ evas_object_show(passpopup);
+ evas_object_show(layout);
- elm_object_part_content_set(layout, "entry", entry);
- elm_object_part_content_set(layout, "label", label);
+ FN_END;
+}
- elm_object_part_text_set(entry, "elm.guide", BT_STR_TAP_TO_ENTER);
+static void __bluetooth_draw_access_request_popup(struct bt_popup_appdata *ad,
+ const char *title, char *text, char *btn1_text,
+ char *btn2_text, void (*func) (void *data,
+ Evas_Object *obj, void *event_info))
+{
+ char temp_str[BT_TITLE_STR_MAX_LEN + BT_TEXT_EXTRA_LEN] = { 0 };
+ Evas_Object *layout = NULL;
+ Evas_Object *btn1 = NULL;
+ Evas_Object *btn2 = NULL;
+ Evas_Object *genlist = NULL;
+ Elm_Object_Item *git = NULL;
- evas_object_show(layout);
- evas_object_show(content);
- evas_object_show(passpopup);
- elm_object_content_set(passpopup, layout);
- elm_object_focus_set(entry, EINA_TRUE);
+ BT_DBG("+");
+ ad->make_trusted = FALSE;
+
+ ad->popup = elm_popup_add(ad->layout);
+ evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ /*set window level to HIGH*/
+ __bluetooth_set_win_level(ad->popup);
+
+ if (title != NULL) {
+ elm_object_part_text_set(ad->popup, "title,text", title);
+ }
+
+ /* layout */
+ layout = elm_layout_add(ad->popup);
+ elm_layout_file_set(layout, CUSTOM_POPUP_PATH, "access_req_popup");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ genlist = elm_genlist_add(layout);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ evas_object_size_hint_weight_set(genlist,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+
+ /* Description text*/
+ ad->desc_itc = elm_genlist_item_class_new();
+ ad->desc_itc->item_style = "multiline_main";
+ ad->desc_itc->func.text_get = __bluetooth_popup_desc_label_get;
+ ad->desc_itc->func.content_get = NULL;
+ ad->desc_itc->func.state_get = NULL;
+ ad->desc_itc->func.del = NULL;
+
+ git = elm_genlist_item_append(genlist, ad->desc_itc, g_strdup(text), NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(git,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /* Do not show again */
+ ad->check_itc = elm_genlist_item_class_new();
+ ad->check_itc->item_style = "1line";
+ ad->check_itc->func.text_get = __bluetooth_access_check_label_get;
+ ad->check_itc->func.content_get = __bluetooth_access_check_icon_get;
+ ad->check_itc->func.state_get = NULL;
+ ad->check_itc->func.del = NULL;
+
+ git = elm_genlist_item_append(genlist, ad->check_itc, ad,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ __bluetooth_auth_check_label_clicked_cb, ad);
+
+ if (btn1_text != NULL && btn2_text != NULL) {
+ /* Cancel button */
+ btn1 = elm_button_add(ad->popup);
+ elm_object_style_set(btn1, "popup");
+ elm_object_text_set(btn1, btn1_text);
+ elm_object_part_content_set(ad->popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", func, ad);
+
+ /* Allow button */
+ btn2 = elm_button_add(ad->popup);
+ elm_object_style_set(btn2, "popup");
+ elm_object_text_set(btn2, btn2_text);
+ elm_object_part_content_set(ad->popup, "button2", btn2);
+ evas_object_smart_callback_add(btn2, "clicked", func, ad);
+ }
+
+ elm_genlist_realization_mode_set(genlist, EINA_TRUE);
+ evas_object_show(genlist);
+ elm_object_part_content_set(layout, "elm.swallow.layout", genlist);
+
+ elm_object_content_set(ad->popup, layout);
+ evas_object_show(ad->popup);
+ evas_object_show(ad->win_main);
+ BT_DBG("-");
+}
+
+static void __bluetooth_draw_information_popup(struct bt_popup_appdata *ad,
+ const char *title, char *text, char *btn1_text,
+ void (*func) (void *data, Evas_Object *obj, void *event_info))
+{
+ BT_DBG("+");
+ Evas_Object *btn1 = NULL;
+
+ ad->popup = elm_popup_add(ad->layout);
+ evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_popup_align_set(ad->popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+ ea_object_event_callback_add(ad->popup, EA_CALLBACK_BACK, func, ad);
+
+ /*set window level to HIGH*/
+ __bluetooth_set_win_level(ad->popup);
+
+ if (title)
+ elm_object_part_text_set(ad->popup, "title,text", title);
+
+ if (text)
+ elm_object_text_set(ad->popup, text);
+
+ if (btn1_text != NULL) {
+ /* OK button */
+ btn1 = elm_button_add(ad->popup);
+ elm_object_style_set(btn1, "popup");
+ elm_object_text_set(btn1, btn1_text);
+ elm_object_part_content_set(ad->popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", func, ad);
+ }
+
+ evas_object_show(ad->popup);
+ evas_object_show(ad->win_main);
+ BT_DBG("-");
}
static void __bluetooth_delete_input_view(struct bt_popup_appdata *ad)
{
+ FN_START;
__bluetooth_ime_hide();
+ FN_END;
}
static DBusGProxy* __bluetooth_create_agent_proxy(DBusGConnection *conn,
const char *path)
{
+#ifdef __ENABLE_BLUEZ5__
+ return dbus_g_proxy_new_for_name(conn, "org.projectx.bt", path,
+ "org.bluez.Agent1");
+#else
return dbus_g_proxy_new_for_name(conn, "org.projectx.bt", path,
"org.bluez.Agent");
+#endif
}
/* AUL bundle handler */
static int __bluetooth_launch_handler(struct bt_popup_appdata *ad,
void *reset_data, const char *event_type)
{
+ FN_START;
bundle *kb = (bundle *) reset_data;
char view_title[BT_TITLE_STR_MAX_LEN] = { 0 };
char text[BT_GLOBALIZATION_STR_LENGTH] = { 0 };
const char *agent_path;
char *conv_str = NULL;
- BT_DBG("+");
-
if (!reset_data || !event_type)
return -1;
- BT_DBG("Event Type = %s[0X%X]", event_type, ad->event_type);
+ BT_INFO("Event Type = %s[0X%X]", event_type, ad->event_type);
if (!strcasecmp(event_type, "pin-request")) {
device_name = bundle_get_val(kb, "device-name");
agent_path = bundle_get_val(kb, "agent-path");
ad->agent_proxy = __bluetooth_create_agent_proxy(ad->conn, agent_path);
- if (!ad->agent_proxy)
- return -1;
+ retv_if(!ad->agent_proxy, -1);
if (device_name)
conv_str = elm_entry_utf8_to_markup(device_name);
"%s", BT_STR_BLUETOOTH_PAIRING_REQUEST);
snprintf(text, BT_GLOBALIZATION_STR_LENGTH,
- BT_STR_ENTER_PIN_TO_PAIR, conv_str);
+ BT_STR_ENTER_THE_PIN_TO_PAIR, conv_str);
if (conv_str)
free(conv_str);
return -1;
if (device_name && passkey) {
- conv_str = elm_entry_utf8_to_markup(device_name);
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_CONFIRM_PASSKEY_PS_TO_PAIR_WITH_PS,
- conv_str, passkey);
-
- BT_DBG("title: %s", view_title);
+ BT_STR_CONFIRM_PASSKEY_PS_TO_PAIR_WITH_PS,
+ device_name, passkey);
- if (conv_str)
- free(conv_str);
+ BT_INFO("title: %s", view_title);
- __bluetooth_draw_popup(ad, view_title,
- BT_STR_CANCEL, BT_STR_OK,
+ __bluetooth_draw_popup(ad, BT_STR_BLUETOOTH_PAIRING_REQUEST,
+ view_title, BT_STR_CANCEL, BT_STR_CONFIRM,
__bluetooth_passkey_confirm_cb);
} else {
timeout = BT_ERROR_TIMEOUT;
"%s", BT_STR_BLUETOOTH_PAIRING_REQUEST);
snprintf(text, BT_GLOBALIZATION_STR_LENGTH,
- BT_STR_ENTER_PIN_TO_PAIR, conv_str);
+ BT_STR_ENTER_THE_PIN_TO_PAIR, conv_str);
if (conv_str)
free(conv_str);
passkey = bundle_get_val(kb, "passkey");
if (device_name && passkey) {
- conv_str = elm_entry_utf8_to_markup(device_name);
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_ENTER_PS_ON_PS_TO_PAIR, passkey, conv_str);
-
- BT_DBG("title: %s", view_title);
+ BT_STR_ENTER_PS_ON_PS_TO_PAIR, passkey, device_name);
- if (conv_str)
- free(conv_str);
+ BT_INFO("title: %s", view_title);
- __bluetooth_draw_popup(ad, view_title,
+ __bluetooth_draw_popup(ad, BT_STR_SHOW_PASSWORD, view_title,
BT_STR_CANCEL, NULL,
__bluetooth_input_cancel_cb);
} else {
if (conv_str)
free(conv_str);
- __bluetooth_draw_auth_popup(ad, view_title, BT_STR_CANCEL, BT_STR_OK,
+ __bluetooth_draw_auth_popup(ad, view_title, BT_STR_CANCEL, BT_STR_ACCEPT,
__bluetooth_authorization_request_cb);
} else if (!strcasecmp(event_type, "app-confirm-request")) {
BT_DBG("app-confirm-request");
return -1;
if (strcasecmp(type, "twobtn") == 0) {
- __bluetooth_draw_popup(ad, title, BT_STR_CANCEL, BT_STR_OK,
+ __bluetooth_draw_popup(ad, NULL, title, BT_STR_CANCEL, BT_STR_OK,
__bluetooth_app_confirm_cb);
} else if (strcasecmp(type, "onebtn") == 0) {
timeout = BT_NOTIFICATION_TIMEOUT;
- __bluetooth_draw_popup(ad, title, BT_STR_OK, NULL,
+ __bluetooth_draw_popup(ad, NULL, title, BT_STR_OK, NULL,
__bluetooth_app_confirm_cb);
} else if (strcasecmp(type, "none") == 0) {
timeout = BT_NOTIFICATION_TIMEOUT;
- __bluetooth_draw_popup(ad, title, NULL, NULL,
+ __bluetooth_draw_popup(ad, NULL, title, NULL, NULL,
__bluetooth_app_confirm_cb);
}
} else if (!strcasecmp(event_type, "push-authorize-request")) {
device_name = bundle_get_val(kb, "device-name");
file = bundle_get_val(kb, "file");
- if (device_name)
- conv_str = elm_entry_utf8_to_markup(device_name);
-
- snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_RECEIVE_PS_FROM_PS_Q, file, conv_str);
-
- if (conv_str)
- free(conv_str);
+ if (device_name) {
+ snprintf(view_title, BT_TITLE_STR_MAX_LEN,
+ BT_STR_RECEIVE_PS_FROM_PS_Q, file, device_name);
+ }
- __bluetooth_draw_popup(ad, view_title, BT_STR_CANCEL, BT_STR_OK,
+ __bluetooth_draw_popup(ad, BT_STR_RECEIVE_FILE, view_title, BT_STR_CANCEL, BT_STR_OK,
__bluetooth_push_authorization_request_cb);
} else if (!strcasecmp(event_type, "confirm-overwrite-request")) {
timeout = BT_AUTHORIZATION_TIMEOUT;
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
BT_STR_OVERWRITE_FILE_Q, file);
- __bluetooth_draw_popup(ad, view_title, BT_STR_CANCEL, BT_STR_OK,
+ __bluetooth_draw_popup(ad, BT_STR_RECEIVE_FILE, view_title,
+ BT_STR_CANCEL, BT_STR_OK,
__bluetooth_app_confirm_cb);
} else if (!strcasecmp(event_type, "keyboard-passkey-request")) {
device_name = bundle_get_val(kb, "device-name");
passkey = bundle_get_val(kb, "passkey");
if (device_name && passkey) {
- conv_str = elm_entry_utf8_to_markup(device_name);
-
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_ENTER_PS_ON_PS_TO_PAIR, passkey, conv_str);
-
- BT_DBG("title: %s", view_title);
+ BT_STR_ENTER_PS_ON_PS_TO_PAIR, passkey, device_name);
- if (conv_str)
- free(conv_str);
+ BT_INFO("title: %s", view_title);
- __bluetooth_draw_popup(ad, view_title,
+ __bluetooth_draw_popup(ad, BT_STR_BLUETOOTH_PAIRING_REQUEST,
+ view_title,
BT_STR_CANCEL, NULL,
__bluetooth_input_cancel_cb);
} else {
return -1;
if (strcasecmp(type, "onebtn") == 0) {
- __bluetooth_draw_popup(ad, title, BT_STR_OK, NULL,
+ __bluetooth_draw_popup(ad, NULL, title, BT_STR_OK, NULL,
__bluetooth_app_confirm_cb);
} else if (strcasecmp(type, "none") == 0) {
- __bluetooth_draw_popup(ad, title, NULL, NULL,
+ __bluetooth_draw_popup(ad, NULL, title, NULL, NULL,
__bluetooth_app_confirm_cb);
}
} else if (!strcasecmp(event_type, "exchange-request")) {
if (!ad->agent_proxy)
return -1;
- if (device_name)
- conv_str = elm_entry_utf8_to_markup(device_name);
-
- snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_RECEIVE_FILE_FROM_PS_Q, conv_str);
-
- if (conv_str)
- free(conv_str);
+ if (device_name) {
+ snprintf(view_title, BT_TITLE_STR_MAX_LEN,
+ BT_STR_WANTS_TO_SEND_YOU_A_FILE, device_name);
+ }
- __bluetooth_draw_popup(ad, view_title, BT_STR_CANCEL, BT_STR_OK,
+ __bluetooth_draw_popup(ad, BT_STR_RECEIVE_FILE,
+ view_title, BT_STR_CANCEL, BT_STR_ACCEPT,
__bluetooth_authorization_request_cb);
} else if (!strcasecmp(event_type, "phonebook-request")) {
timeout = BT_AUTHORIZATION_TIMEOUT;
if (device_name)
conv_str = elm_entry_utf8_to_markup(device_name);
+#ifdef TIZEN_REDWOOD
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
BT_STR_ALLOW_PS_PHONEBOOK_ACCESS_Q, conv_str);
+#else
+ snprintf(view_title, BT_TITLE_STR_MAX_LEN,
+ BT_STR_PS_CONTACT_REQUEST, conv_str);
+#endif
if (conv_str)
free(conv_str);
+#ifdef TIZEN_REDWOOD
__bluetooth_draw_auth_popup(ad, view_title, BT_STR_CANCEL, BT_STR_OK,
__bluetooth_authorization_request_cb);
+#else
+ __bluetooth_draw_access_request_popup(ad, BT_STR_ALLOW_APP_PERMISSION,
+ view_title, BT_STR_CANCEL, BT_STR_ALLOW,
+ __bluetooth_authorization_request_cb);
+#endif
} else if (!strcasecmp(event_type, "message-request")) {
timeout = BT_AUTHORIZATION_TIMEOUT;
if (device_name)
conv_str = elm_entry_utf8_to_markup(device_name);
+#ifdef TIZEN_REDWOOD
+ snprintf(view_title, BT_TITLE_STR_MAX_LEN,
+ BT_STR_ALLOW_PS_TO_ACCESS_MESSAGES_Q, conv_str);
+#else
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_ALLOW_PS_TO_ACCESS_MESSAGES_Q, conv_str);
+ BT_STR_PS_MESSAGE_REQUEST, conv_str);
+#endif
if (conv_str)
free(conv_str);
+#ifdef TIZEN_REDWOOD
__bluetooth_draw_auth_popup(ad, view_title, BT_STR_CANCEL, BT_STR_OK,
__bluetooth_authorization_request_cb);
+#else
+ __bluetooth_draw_access_request_popup(ad, BT_STR_ALLOW_APP_PERMISSION,
+ view_title, BT_STR_CANCEL, BT_STR_ALLOW,
+ __bluetooth_authorization_request_cb);
+#endif
} else if (!strcasecmp(event_type, "pairing-retry-request")) {
+ int ret;
+ device_name = bundle_get_val(kb, "device-name");
+ if (device_name)
+ conv_str = elm_entry_utf8_to_markup(device_name);
+ snprintf(view_title, BT_TITLE_STR_MAX_LEN,
+ BT_STR_UNABLE_TO_PAIR, conv_str);
- const char *err = bundle_get_val(kb, "error");
- if (!strcasecmp(err, "timeout"))
- __bluetooth_draw_popup(ad, BT_STR_TIMEOUT_TRY_AGAIN_Q,
- BT_STR_CANCEL, BT_STR_OK,
- __bluetooth_retry_pairing_cb);
- else if (!strcasecmp(err, "authfailed"))
- __bluetooth_draw_popup(ad, BT_STR_PIN_ERROR_TRY_AGAIN_Q,
- BT_STR_CANCEL, BT_STR_OK,
- __bluetooth_retry_pairing_cb);
- else
- __bluetooth_draw_popup(ad, BT_STR_BLUETOOTH_ERROR_TRY_AGAIN_Q,
- BT_STR_CANCEL, BT_STR_OK,
- __bluetooth_retry_pairing_cb);
+ if (conv_str)
+ free(conv_str);
+
+ ret = notification_status_message_post(view_title);
+ if (ret != NOTIFICATION_ERROR_NONE)
+ BT_ERR("notification_status_message_post() is failed : %d\n", ret);
+ } else if (!strcasecmp(event_type, "remote-legacy-pair-failed")) {
+ BT_DBG("remote-legacy-pair-failed");
+ device_name = bundle_get_val(kb, "device-name");
+
+ if (device_name)
+ conv_str = elm_entry_utf8_to_markup(device_name);
+ snprintf(text, BT_GLOBALIZATION_STR_LENGTH,
+ BT_STR_UNABLE_TO_PAIR, conv_str);
+ if (conv_str)
+ free(conv_str);
+ __bluetooth_draw_information_popup(ad, "Bluetooth Error",
+ text, BT_STR_OK,
+ __bluetooth_information_cb);
} else {
return -1;
}
return 0;
}
-static Eina_Bool __exit_idler_cb(void *data)
-{
- elm_exit();
- return ECORE_CALLBACK_CANCEL;
-}
-
static void __popup_terminate(void)
{
- if (ecore_idler_add(__exit_idler_cb, NULL))
- return;
-
- __exit_idler_cb(NULL);
+ BT_DBG("+");
+ elm_exit();
+ BT_DBG("-");
}
static void __bluetooth_win_del(void *data)
{
+ BT_DBG("+");
struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
__bluetooth_cleanup(ad);
+ __bluetooth_cleanup_win(ad);
__popup_terminate();
+ BT_DBG("+");
+}
+
+static void __bluetooth_set_win_level(Evas_Object *parent)
+{
+ Ecore_X_Window xwin;
+ xwin = elm_win_xwindow_get(parent);
+ if (xwin == 0) {
+ BT_ERR("elm_win_xwindow_get is failed");
+ } else {
+ BT_DBG("Setting window type");
+ ecore_x_netwm_window_type_set(xwin,
+ ECORE_X_WINDOW_TYPE_NOTIFICATION);
+ utilx_set_system_notification_level(ecore_x_display_get(),
+ xwin, UTILX_NOTIFICATION_LEVEL_HIGH);
+ }
}
static Evas_Object *__bluetooth_create_win(const char *name)
int w;
int h;
- eo = elm_win_add(NULL, name, ELM_WIN_DIALOG_BASIC);
- if (eo) {
- elm_win_title_set(eo, name);
- elm_win_borderless_set(eo, EINA_TRUE);
- ecore_x_window_size_get(ecore_x_window_root_first_get(),
- &w, &h);
- evas_object_resize(eo, w, h);
+ eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ retv_if(!eo, NULL);
+
+ elm_win_alpha_set(eo, EINA_TRUE);
+ /* Handle rotation */
+ if (elm_win_wm_rotation_supported_get(eo)) {
+ int rots[4] = {0, 90, 180, 270};
+ elm_win_wm_rotation_available_rotations_set(eo,
+ (const int*)(&rots), 4);
}
+ elm_win_title_set(eo, name);
+ elm_win_borderless_set(eo, EINA_TRUE);
+ ecore_x_window_size_get(ecore_x_window_root_first_get(),
+ &w, &h);
+ evas_object_resize(eo, w, h);
return eo;
}
BT_ERR("__bt_syspopup_init_app_signal failed");
}
-static int __bluetooth_create(void *data)
+static bool __bluetooth_create(void *data)
{
struct bt_popup_appdata *ad = data;
Evas_Object *win = NULL;
+ Evas_Object *conformant = NULL;
+ Evas_Object *layout = NULL;
- BT_DBG("__bluetooth_create() start.\n");
+ BT_DBG("__bluetooth_create() start.");
/* create window */
win = __bluetooth_create_win(PACKAGE);
- if (win == NULL)
- return -1;
+ retv_if (win == NULL, false);
+
+ /* Enable Changeable UI feature */
+ ea_theme_changeable_ui_enabled_set(EINA_TRUE);
+
+ evas_object_smart_callback_add(win, "wm,rotation,changed",
+ __bt_main_win_rot_changed_cb, data);
ad->win_main = win;
+ conformant = elm_conformant_add(ad->win_main);
+ retv_if(!conformant, false);
+
+ elm_win_conformant_set(ad->win_main, EINA_TRUE);
+ elm_win_resize_object_add(ad->win_main, conformant);
+ evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(conformant);
+ ad->conform = conformant;
+
+ layout = elm_layout_add(conformant);
+ elm_object_content_set(conformant, layout);
+ ad->layout = layout;
+ evas_object_show(layout);
+
/* init internationalization */
- if (appcore_set_i18n(BT_COMMON_PKG, BT_COMMON_RES) < 0)
- return -1;
+ bindtextdomain(BT_COMMON_PKG, BT_LOCALEDIR);
+ textdomain(BT_COMMON_PKG);
ecore_imf_init();
__bluetooth_session_init(ad);
+ if (bt_initialize() != BT_ERROR_NONE) {
+ BT_ERR("bt_initialize is failed");
+ }
- return 0;
+ return true;
}
-static int __bluetooth_terminate(void *data)
+static void __bluetooth_terminate(void *data)
{
struct bt_popup_appdata *ad = data;
+ if (bt_deinitialize() != BT_ERROR_NONE) {
+ BT_ERR("bt_deinitialize is failed");
+ }
__bluetooth_ime_hide();
if (ad->conn) {
ad->popup = NULL;
ad->win_main = NULL;
-
- return 0;
}
-static int __bluetooth_pause(void *data)
+static void __bluetooth_pause(void *data)
{
-
- return 0;
+ return;
}
-static int __bluetooth_resume(void *data)
+static void __bluetooth_resume(void *data)
{
-
- return 0;
+ return;
}
-static int __bluetooth_reset(bundle *b, void *data)
+static void __bluetooth_reset(app_control_h app_control, void *data)
{
struct bt_popup_appdata *ad = data;
+ bundle *b = NULL;
const char *event_type = NULL;
int ret = 0;
- BT_DBG("__bluetooth_reset()\n");
+ BT_DBG("__bluetooth_reset()");
if (ad == NULL) {
- BT_ERR("App data is NULL\n");
- return -1;
+ BT_ERR("App data is NULL");
+ return;
+ }
+ ret = app_control_export_as_bundle(app_control, &b);
+ if (ret != 0) {
+ BT_ERR("Failed to Convert the service handle to bundle data");
+ free(b);
+ return;
}
-
/* Start Main UI */
event_type = bundle_get_val(b, "event-type");
+ BT_DBG("event-type: %s", event_type);
if (event_type != NULL) {
if (!strcasecmp(event_type, "terminate")) {
__bluetooth_win_del(ad);
- return 0;
+ free(b);
+ return;
}
- if (syspopup_has_popup(b)) {
- /* Destroy the existing popup*/
- __bluetooth_cleanup(ad);
- /* create window */
- ad->win_main = __bluetooth_create_win(PACKAGE);
- if (ad->win_main == NULL)
- return -1;
- }
+ if (syspopup_has_popup(b))
+ __bluetooth_cleanup(ad); /* Destroy the existing popup*/
__bluetooth_parse_event(ad, event_type);
- elm_win_alpha_set(ad->win_main, EINA_TRUE);
-
- ret = syspopup_create(b, &handler, ad->win_main, ad);
- if (ret == -1) {
- BT_ERR("syspopup_create err");
+ if (syspopup_reset(b) == -1 &&
+ syspopup_create(b, &handler, ad->win_main, ad) == -1) {
+ BT_ERR("Both syspopup_create and syspopup_reset failed");
__bluetooth_remove_all_event(ad);
} else {
ret = __bluetooth_launch_handler(ad,
__bluetooth_notify_event();
/* Change LCD brightness */
- ret = pm_change_state(LCD_NORMAL);
+ ret = display_change_state(LCD_NORMAL);
if (ret != 0)
BT_ERR("Fail to change LCD");
}
} else {
- BT_ERR("event type is NULL \n");
+ BT_ERR("event type is NULL ");
}
-
- return 0;
+ free(b);
}
EXPORT int main(int argc, char *argv[])
{
struct bt_popup_appdata ad;
- struct appcore_ops ops = {
+ app_event_callback_s event_callback = {
.create = __bluetooth_create,
.terminate = __bluetooth_terminate,
.pause = __bluetooth_pause,
.resume = __bluetooth_resume,
- .reset = __bluetooth_reset,
+ .app_control = __bluetooth_reset,
+ .device_orientation = NULL,
};
memset(&ad, 0x0, sizeof(struct bt_popup_appdata));
- ops.data = &ad;
-
- return appcore_efl_main(PACKAGE, &argc, &argv, &ops);
+ return app_efl_main(&argc, &argv, &event_callback, &ad);
}
--- /dev/null
+/*
+* bt-syspopup
+*
+* Copyright 2013 Samsung Electronics Co., Ltd
+*
+* Contact: Hocheol Seo <hocheol.seo@samsung.com>
+* GirishAshok Joshi <girish.joshi@samsung.com>
+* DoHyun Pyun <dh79.pyun@samsung.com>
+*
+* Licensed under the Flora License, Version 1.1 (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.
+*
+*/
+
+#ifndef __DEF_BT_SYSPOPUP_H_
+#define __DEF_BT_SYSPOPUP_H_
+
+#include <Elementary.h>
+#include <dlog.h>
+#include <glib.h>
+#include <dbus/dbus-glib.h>
+
+#ifndef PACKAGE_NAME
+#define PACKAGE_NAME "org.tizen.bt-syspopup"
+#endif
+
+#ifndef PREFIX
+#define PREFIX "/usr/apps"PACKAGE_NAME
+#endif
+
+#define EXPORT __attribute__((visibility("default")))
+
+#define TEMP_DIR "/tmp"
+
+#define PACKAGE "bt-syspopup"
+#define APPNAME "bt-syspopup"
+#define ICON_DIR PREFIX"/res/default/small/icon"
+
+#define CUSTOM_POPUP_PATH PREFIX"/res/edje/custom_popup.edj"
+
+#define BT_COMMON_PKG "ug-bluetooth-efl"
+#define BT_LOCALEDIR "/usr/apps/ug-bluetooth-efl/shared/res/locale"
+
+#define _EDJ(obj) elm_layout_edje_get(obj)
+
+#define BT_AUTHENTICATION_TIMEOUT 35
+#define BT_AUTHORIZATION_TIMEOUT 25
+#define BT_NOTIFICATION_TIMEOUT 2
+#define BT_ERROR_TIMEOUT 1
+
+#define BT_PIN_MLEN 16 /* Pin key max length */
+#define BT_PK_MLEN 6 /* Passkey max length */
+#define BT_CONTROLBAR_MAX_LENGTH 3
+
+#define BT_GLOBALIZATION_STR_LENGTH 256
+#define BT_DEVICE_NAME_LENGTH_MAX 256
+#define BT_FILE_NAME_LENGTH_MAX 256
+#define BT_TEXT_EXTRA_LEN 20
+
+#define BT_TITLE_STR_MAX_LEN \
+ (BT_GLOBALIZATION_STR_LENGTH+BT_DEVICE_NAME_LENGTH_MAX+BT_FILE_NAME_LENGTH_MAX)
+
+#define BT_MESSAGE_STRING_SIZE 256*2+1
+
+#undef LOG_TAG
+#define LOG_TAG "BLUETOOTH_SYSPOPUP"
+
+
+#define BT_DBG(format, args...) SLOGD(format, ##args)
+#define BT_ERR(format, args...) SLOGE(format, ##args)
+#define BT_INFO(format, args...) SLOGI(format, ##args)
+
+#define FN_START BT_DBG("[ENTER FUNC]");
+#define FN_END BT_DBG("[EXIT FUNC]");
+
+#define BT_DBG_SECURE(fmt, args...) SECURE_SLOGD(fmt, ##args)
+#define BT_ERR_SECURE(fmt, args...) SECURE_SLOGE(fmt, ##args)
+
+#define ret_if(expr) \
+ do { \
+ if (expr) { \
+ BT_ERR("(%s) return", #expr); \
+ return; \
+ } \
+ } while (0);
+
+#define retv_if(expr, val) \
+ do { \
+ if (expr) { \
+ BT_ERR("(%s) return", #expr); \
+ return (val); \
+ } \
+ } while (0);
+
+#define retm_if(expr, fmt, arg...) \
+ do { \
+ if (expr) { \
+ BT_ERR(fmt, ##arg); \
+ BT_ERR("(%s) return", #expr); \
+ return; \
+ } \
+ } while (0);
+
+#define retvm_if(expr, val, fmt, arg...) \
+ do { \
+ if (expr) { \
+ BT_ERR(fmt, ##arg); \
+ BT_ERR("(%s) return", #expr); \
+ return (val); \
+ } \
+ } while (0);
+
+#define BT_SYS_POPUP_IPC_NAME "org.projectx"
+#define BT_SYS_POPUP_IPC_RESPONSE_OBJECT "/org/projectx/bt_syspopup_res"
+#define BT_SYS_POPUP_INTERFACE "User.Bluetooth.syspopup"
+#define BT_SYS_POPUP_METHOD_RESPONSE "Response"
+
+/* String defines to support multi-languages */
+#define BT_STR_ENTER_PIN \
+ dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_ENTERPIN")
+#define BT_STR_ALLOW_PS_TO_CONNECT_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_ALLOW_PS_TO_CONNECT_Q")
+
+#define BT_STR_RECEIVE_FILE \
+ dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_RECEIVE_FILES_ABB")
+
+#define BT_STR_RECEIVE_PS_FROM_PS_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_RECEIVE_PS_FROM_PS_Q")
+
+#define BT_STR_WANTS_TO_SEND_YOU_A_FILE \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_PS_WANTS_TO_SEND_YOU_A_FILE")
+
+#define BT_STR_PASSKEY_MATCH_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_MATCH_PASSKEYS_ON_PS_Q")
+
+#define BT_STR_OVERWRITE_FILE_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_PS_ALREADY_EXISTS_OVERWRITE_Q")
+
+#define BT_STR_ENTER_PS_ON_PS_TO_PAIR \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_ENTER_P1SS_ON_P2SS_TO_PAIR_THEN_PRESS_ENTER")
+
+#define BT_STR_RECEIVE_FILE_FROM_PS_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_RECEIVE_FILE_FROM_PS_Q")
+
+/* Need to convert the design ID */
+#define BT_STR_BLUETOOTH_PAIRING_REQUEST \
+ dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_BLUETOOTH_PAIRING_REQUEST")
+
+#define BT_STR_ENTER_THE_PIN_TO_PAIR \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_ENTER_THE_PIN_TO_PAIR_WITH_PS_HTRY_0000_OR_1234")
+
+#define BT_STR_SHOW_PASSWORD \
+ dgettext(BT_COMMON_PKG, "IDS_BT_BODY_SHOW_PASSWORD")
+
+#define BT_STR_SHOW_PIN \
+ dgettext(BT_COMMON_PKG, "IDS_ST_MBODY_SHOW_PIN")
+
+#define BT_STR_CONFIRM_PASSKEY_PS_TO_PAIR_WITH_PS \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_CONFIRM_THE_PIN_HP1SS_TO_PAIR_WITH_P2SS")
+
+#define BT_STR_ALLOW_PS_PHONEBOOK_ACCESS_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_PS_IS_REQUESTING_PERMISSION_TO_CONNECT_TO_YOUR_CONTACTS")
+
+#define BT_STR_ALLOW_PS_TO_ACCESS_MESSAGES_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_PS_IS_REQUESTING_PERMISSION_TO_CONNECT_TO_YOUR_MESSAGES")
+
+#define BT_STR_DONT_ASK_AGAIN \
+ dgettext(BT_COMMON_PKG, "IDS_BT_BODY_DONT_ASK_AGAIN")
+
+#define BT_STR_PIN_ERROR_TRY_AGAIN_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_INCORRECT_PIN_TRY_AGAIN_Q")
+
+#define BT_STR_TIMEOUT_TRY_AGAIN_Q \
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_BLUETOOTH_TIMEOUT_TRY_AGAIN_Q")
+
+#define BT_STR_PIN \
+ dgettext(BT_COMMON_PKG, "IDS_ST_BODY_PIN")
+
+#define BT_STR_UNABLE_TO_PAIR \
+ dgettext(BT_COMMON_PKG, "IDS_NFC_TPOP_FAILED_TO_PAIR_WITH_PS")
+
+#define BT_STR_ACCESS_REQUEST\
+ dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_ACCESS_REQUEST")
+
+#define BT_STR_PS_CONTACT_REQUEST\
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_PS_IS_REQUESTING_PERMISSION_TO_ACCESS_YOUR_CONTACTS")
+
+#define BT_STR_PS_MESSAGE_REQUEST\
+ dgettext(BT_COMMON_PKG, "IDS_BT_POP_PS_IS_REQUESTING_PERMISSION_TO_ACCESS_YOUR_MESSAGES")
+
+#define BT_STR_DO_NOT_SHOW_AGAIN\
+ dgettext(BT_COMMON_PKG, "IDS_EMAIL_BODY_DO_NOT_SHOW_AGAIN_VZW")
+
+#define BT_STR_ALLOW_APP_PERMISSION\
+ dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_ALLOW_APPLICATION_PERMISSION")
+
+#define BT_STR_OK dgettext(BT_COMMON_PKG, "IDS_BT_BUTTON_OK")
+#define BT_STR_PAIR dgettext(BT_COMMON_PKG, "IDS_BT_BUTTON_PAIR")
+#define BT_STR_CONFIRM dgettext(BT_COMMON_PKG, "IDS_COM_SK_CONFIRM")
+#define BT_STR_RECEIVE dgettext(BT_COMMON_PKG, "IDS_COM_BODY_RECEIVE")
+#define BT_STR_YES dgettext(BT_COMMON_PKG, "IDS_BR_SK_YES")
+#define BT_STR_NO dgettext(BT_COMMON_PKG, "IDS_BR_SK_NO")
+#define BT_STR_DONE dgettext(BT_COMMON_PKG, "IDS_BR_SK_DONE")
+#define BT_STR_CANCEL dgettext(BT_COMMON_PKG, "IDS_BR_SK_CANCEL")
+#define BT_STR_ALLOW dgettext(BT_COMMON_PKG, "IDS_BR_OPT_ALLOW")
+#define BT_STR_ACCEPT dgettext(BT_COMMON_PKG, "IDS_BT_BUTTON_ACCEPT")
+
+#define VCONF_NOTI_SOUND "db/setting/sound/noti/msg_ringtone_path"
+
+typedef enum {
+ BT_CHANGED_MODE_ENABLE,
+ BT_CHANGED_MODE_DISABLE,
+} bt_changed_mode_type_t;
+
+typedef enum {
+ BT_EVENT_PIN_REQUEST = 0x0001,
+ BT_EVENT_PASSKEY_CONFIRM_REQUEST = 0x0002,
+ BT_EVENT_PASSKEY_REQUEST = 0x0004,
+ BT_EVENT_PASSKEY_DISPLAY_REQUEST = 0x0008,
+ BT_EVENT_AUTHORIZE_REQUEST = 0x0010,
+ BT_EVENT_APP_CONFIRM_REQUEST = 0x0020,
+ BT_EVENT_PUSH_AUTHORIZE_REQUEST = 0x0040,
+ BT_EVENT_CONFIRM_OVERWRITE_REQUEST = 0x0080,
+ BT_EVENT_FILE_RECEIVED = 0x0100,
+ BT_EVENT_KEYBOARD_PASSKEY_REQUEST = 0x0200,
+ BT_EVENT_INFORMATION = 0x0400,
+ BT_EVENT_TERMINATE = 0x0800,
+ BT_EVENT_EXCHANGE_REQUEST = 0x1000,
+ BT_EVENT_PHONEBOOK_REQUEST = 0x2000,
+ BT_EVENT_MESSAGE_REQUEST = 0x4000,
+ BT_EVENT_RETRY_PAIR_REQUEST = 0x8000,
+ BT_EVENT_LEGACY_PAIR_FAILED_FROM_REMOTE,
+} bt_popup_event_type_t;
+
+typedef enum {
+ BT_AGENT_ACCEPT,
+ BT_AGENT_REJECT,
+ BT_AGENT_CANCEL,
+ BT_CORE_AGENT_TIMEOUT,
+ BT_AGENT_ACCEPT_ALWAYS,
+} bt_agent_accept_type_t;
+
+typedef enum {
+ BT_ROTATE_0 = 0,
+ BT_ROTATE_90 = 90,
+ BT_ROTATE_180 = 180,
+ BT_ROTATE_270 = 270,
+} bt_rotate_mode_t;
+
+struct bt_popup_appdata {
+ Evas *evas;
+ Evas_Object *win_main;
+ Evas_Object *conform;
+ Evas_Object *layout;
+ Evas_Object *popup;
+
+ /* Passkey layout objects */
+ Evas_Object *entry;
+ Evas_Object *edit_field_save_btn;
+ Evas_Object *ticker_noti;
+ Elm_Genlist_Item_Class *passwd_desc_itc;
+ Elm_Genlist_Item_Class *passwd_entry_itc;
+ Elm_Genlist_Item_Class *passwd_show_passwd_itc;
+
+ /*Access Request layout objects */
+ Elm_Genlist_Item_Class *desc_itc;
+ Elm_Genlist_Item_Class *check_itc;
+
+ Ecore_Timer *timer;
+
+ DBusGProxy *agent_proxy;
+ DBusGProxy *obex_proxy;
+ E_DBus_Connection *EDBusHandle;
+ DBusGConnection *conn;
+
+ int changed_mode;
+ bt_rotate_mode_t rotation;
+ gboolean make_trusted;
+ bt_popup_event_type_t event_type;
+};
+
+#endif /* __DEF_BT_SYSPOPUP_H_ */
/*
* bt-syspopup
*
-* Copyright 2012 Samsung Electronics Co., Ltd
+* Copyright 2013 Samsung Electronics Co., Ltd
*
* Contact: Hocheol Seo <hocheol.seo@samsung.com>
* GirishAshok Joshi <girish.joshi@samsung.com>
#include <feedback.h>
#include <dd-deviced.h>
#include <efl_assist.h>
-#include "bt-syspopup.h"
-
-#define PREDEF_FACTORY_RESET "launchfr"
+#include "bt-syspopup-w.h"
+#include <dbus/dbus-glib-lowlevel.h>
+
+#define COLOR_TABLE "/usr/apps/org.tizen.bt-syspopup/shared/res/tables/org.tizen.bt-syspopup_ChangeableColorTable.xml"
+#define FONT_TABLE "/usr/apps/org.tizen.bt-syspopup/shared/res/tables/org.tizen.bt-syspopup_FontInfoTable.xml"
+
+static char pin_value[BT_PIN_MLEN + 1] = {0,};
+static int pin_index = 0;
+static Ecore_Timer* pass_timer = 0;
+
+static struct _info {
+ const char *part_name;
+ const char *popup_name;
+ int pressed;
+ const char *tts_name;
+ Evas_Object *tts_button;
+} keypad_info[12] = {
+ {"button_00", "popup_00", 0, "0", NULL},
+ {"button_01", "popup_01", 0, "1", NULL},
+ {"button_02", "popup_02", 0, "2", NULL},
+ {"button_03", "popup_03", 0, "3", NULL},
+ {"button_04", "popup_04", 0, "4", NULL},
+ {"button_05", "popup_05", 0, "5", NULL},
+ {"button_06", "popup_06", 0, "6", NULL},
+ {"button_07", "popup_07", 0, "7", NULL},
+ {"button_08", "popup_08", 0, "8", NULL},
+ {"button_09", "popup_09", 0, "9", NULL},
+ {"confirm", "popup_confirm", 0, "Enter", NULL},
+ {"button_clear", "popup_clear", 0, "Back", NULL},
+};
static void __bluetooth_delete_input_view(struct bt_popup_appdata *ad);
static void __bluetooth_win_del(void *data);
+static void __bluetooth_set_win_level(Evas_Object *parent);
+
static void __bluetooth_input_keyback_cb(void *data,
Evas *e, Evas_Object *obj, void *event_info);
Evas *e, Evas_Object *obj, void *event_info);
static void __bluetooth_terminate(void *data);
+static int __bt_error_toast_timeout_cb(void *data);
+
+static void __bt_draw_error_toast_popup(struct bt_popup_appdata *ad, char *toast_text);
+
static void __bt_draw_toast_popup(struct bt_popup_appdata *ad, char *toast_text);
+static void __bluetooth_remove_all_event(struct bt_popup_appdata *ad);
+
static int __bluetooth_term(bundle *b, void *data)
{
BT_DBG("System-popup: terminate");
+ __bluetooth_remove_all_event((struct bt_popup_appdata *)data);
__bluetooth_terminate(data);
return 0;
}
}
if (ad->popup) {
+ elm_access_object_unregister(ad->popup);
evas_object_del(ad->popup);
ad->popup = NULL;
}
+ if (ad->ly_pass) {
+ evas_object_del(ad->ly_pass);
+ ad->ly_pass = NULL;
+ }
+
+ if (ad->ly_keypad) {
+ evas_object_del(ad->ly_keypad);
+ ad->ly_keypad = NULL;
+ }
+
if (ad->win_main) {
evas_object_del(ad->win_main);
ad->win_main = NULL;
BT_DBG("-");
}
+static void __bluetooth_set_win_level(Evas_Object *parent)
+{
+ Ecore_X_Window xwin;
+ xwin = elm_win_xwindow_get(parent);
+ if (xwin == 0) {
+ BT_ERR("elm_win_xwindow_get is failed");
+ } else {
+ BT_DBG("Setting window type");
+ ecore_x_netwm_window_type_set(xwin,
+ ECORE_X_WINDOW_TYPE_NOTIFICATION);
+ utilx_set_system_notification_level(ecore_x_display_get(),
+ xwin, UTILX_NOTIFICATION_LEVEL_HIGH);
+ }
+}
+
static void __lock_display()
{
int ret = display_lock_state(LCD_NORMAL, GOTO_STATE_NOW | HOLD_KEY_BLOCK, 0);
}
result = feedback_play(feedback);
- BT_DBG("feedback [%d], ret value [%d]", feedback, result);
+ BT_INFO("feedback [%d], ret value [%d]", feedback, result);
result = feedback_deinitialize();
if (result != FEEDBACK_ERROR_NONE) {
- BT_DBG("feedback_initialize error : %d", result);
+ BT_INFO("feedback_initialize error : %d", result);
return;
}
}
ad->event_type = BT_EVENT_PHONEBOOK_REQUEST;
else if (!strcasecmp(event_type, "message-request"))
ad->event_type = BT_EVENT_MESSAGE_REQUEST;
- else if (!strcasecmp(event_type, "pairing-retry-request"))
- ad->event_type = BT_EVENT_RETRY_PAIR_REQUEST;
+ else if (!strcasecmp(event_type, "unable-to-pairing"))
+ ad->event_type = BT_EVENT_UNABLE_TO_PAIRING;
else if (!strcasecmp(event_type, "handsfree-disconnect-request"))
ad->event_type = BT_EVENT_HANDSFREE_DISCONNECT_REQUEST;
else if (!strcasecmp(event_type, "handsfree-connect-request"))
ad->event_type = BT_EVENT_HANDSFREE_CONNECT_REQUEST;
else if (!strcasecmp(event_type, "music-auto-connect-request"))
ad->event_type = BT_EVENT_HANDSFREE_AUTO_CONNECT_REQUEST;
- else if (!strcasecmp(event_type, "factory-reset-request"))
- ad->event_type = BT_EVENT_FACTORY_RESET_REQUEST;
+ else if (!strcasecmp(event_type, "system-reset-request"))
+ ad->event_type = BT_EVENT_SYSTEM_RESET_REQUEST;
else
ad->event_type = 0x0000;
static void __bluetooth_remove_all_event(struct bt_popup_appdata *ad)
{
- BT_DBG("Remove event 0X%X", ad->event_type);
+ BT_INFO("Remove event 0X%X", ad->event_type);
switch (ad->event_type) {
case BT_EVENT_PIN_REQUEST:
break;
}
- case BT_EVENT_FACTORY_RESET_REQUEST:
+ case BT_EVENT_SYSTEM_RESET_REQUEST:
dbus_g_proxy_call_no_reply(ad->agent_proxy,
"ReplyConfirmation",
__bluetooth_win_del(ad);
}
-static void __bluetooth_retry_pairing_cb(void *data,
- Evas_Object *obj, void *event_info)
-{
- BT_DBG("+ ");
- if (obj == NULL || data == NULL)
- return;
-
- struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
- const char *event = elm_object_text_get(obj);
-
- DBusMessage *msg = NULL;
- int response;
-
- msg = dbus_message_new_signal(BT_SYS_POPUP_IPC_RESPONSE_OBJECT,
- BT_SYS_POPUP_INTERFACE,
- BT_SYS_POPUP_METHOD_RESPONSE);
-
- if (!g_strcmp0(event, BT_STR_OK))
- response = BT_AGENT_ACCEPT;
- else
- response = BT_AGENT_REJECT;
-
- dbus_message_append_args(msg,
- DBUS_TYPE_INT32, &response,
- DBUS_TYPE_INVALID);
-
- e_dbus_message_send(ad->EDBusHandle, msg, NULL, -1, NULL);
-
- dbus_message_unref(msg);
-
- evas_object_del(obj);
-
- __bluetooth_win_del(ad);
- BT_DBG("-");
-}
-static int __bluetooth_pairing_retry_timeout_cb(void *data)
+static void _bt_clear_btn_up_cb(void *data, Evas_Object *o, const char *emission, const char *source)
{
- BT_DBG("+ ");
-
+ BT_DBG("+");
struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
+ ret_if(ad == NULL);
- DBusMessage *msg = NULL;
- int response;
-
- msg = dbus_message_new_signal(BT_SYS_POPUP_IPC_RESPONSE_OBJECT,
- BT_SYS_POPUP_INTERFACE,
- BT_SYS_POPUP_METHOD_RESPONSE);
-
- response = BT_AGENT_REJECT;
+ int i = 0;
+ char buf[20] = {0,};
- dbus_message_append_args(msg,
- DBUS_TYPE_INT32, &response,
- DBUS_TYPE_INVALID);
+ if(pin_index > 0) {
+ pin_value[pin_index-1] = 0;
- e_dbus_message_send(ad->EDBusHandle, msg, NULL, -1, NULL);
+ pin_index--;
- dbus_message_unref(msg);
-
- __bluetooth_win_del(ad);
- BT_DBG("-");
-
- return 0;
+ for(i = 0; i < pin_index; i++) {
+ strcat(buf, "*");
+ }
+ elm_object_part_text_set(ad->ly_pass, "elm.text.password", buf);
+ }
}
-
static int __bluetooth_request_timeout_cb(void *data)
{
struct bt_popup_appdata *ad;
return 0;
}
-#ifdef PIN_REQUEST_FOR_BASIC_PAIRING
-static void __bluetooth_input_request_cb(void *data,
+static void __bluetooth_input_cancel_cb(void *data,
Evas_Object *obj, void *event_info)
{
struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
- const char *event = elm_object_text_get(obj);
- int response;
- char *input_text = NULL;
- char *convert_input_text = NULL;
-
- if (ad == NULL)
- return;
-
- /* BT_EVENT_PIN_REQUEST / BT_EVENT_PASSKEY_REQUEST */
- input_text = (char *)elm_entry_entry_get(ad->entry);
-
- if (input_text) {
- convert_input_text =
- elm_entry_markup_to_utf8(input_text);
- }
+ bt_device_cancel_bonding();
- if (!g_strcmp0(event, BT_STR_OK))
- response = BT_AGENT_ACCEPT;
- else
- response = BT_AGENT_CANCEL;
+ __bluetooth_win_del(ad);
+}
- if (convert_input_text == NULL)
+static void __bluetooth_send_signal_pairing_confirm_result(void *data, int response)
+{
+ if (data == NULL)
return;
- BT_DBG_SECURE("PIN/Passkey[%s] event[%d] response[%d - %s]",
- convert_input_text, ad->event_type, response,
- (response == BT_AGENT_ACCEPT) ? "Accept" : "Cancel");
-
- if (ad->event_type == BT_EVENT_PIN_REQUEST) {
- dbus_g_proxy_call_no_reply(ad->agent_proxy,
- "ReplyPinCode", G_TYPE_UINT, response,
- G_TYPE_STRING, convert_input_text,
- G_TYPE_INVALID, G_TYPE_INVALID);
- } else {
- dbus_g_proxy_call_no_reply(ad->agent_proxy,
- "ReplyPasskey", G_TYPE_UINT, response,
- G_TYPE_STRING, convert_input_text,
- G_TYPE_INVALID, G_TYPE_INVALID);
- }
- __bluetooth_delete_input_view(ad);
+ struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
+ DBusMessage *msg = NULL;
- free(convert_input_text);
+ BT_DBG("+");
- __bluetooth_win_del(ad);
-}
-#endif
+ msg = dbus_message_new_signal(BT_SYS_POPUP_IPC_RESPONSE_OBJECT,
+ BT_SYS_POPUP_INTERFACE,
+ BT_SYS_POPUP_METHOD_RESPONSE);
-static void __bluetooth_input_cancel_cb(void *data,
- Evas_Object *obj, void *event_info)
-{
- struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
+ dbus_message_append_args(msg,
+ DBUS_TYPE_INT32, &response, DBUS_TYPE_INVALID);
- bt_device_cancel_bonding();
+ e_dbus_message_send(ad->EDBusHandle, msg, NULL, -1, NULL);
+ dbus_message_unref(msg);
- __bluetooth_win_del(ad);
+ BT_DBG("-");
}
-static void __bluetooth_send_signal_pairing_confirm_result(void *data, int response)
+static void __bluetooth_send_signal_reset_confirm_result(void *data, int response)
{
if (data == NULL)
return;
msg = dbus_message_new_signal(BT_SYS_POPUP_IPC_RESPONSE_OBJECT,
BT_SYS_POPUP_INTERFACE,
- BT_SYS_POPUP_METHOD_RESPONSE);
+ BT_SYS_POPUP_METHOD_RESET_RESPONSE);
dbus_message_append_args(msg,
DBUS_TYPE_INT32, &response, DBUS_TYPE_INVALID);
BT_DBG("-");
}
-
static void __bluetooth_passkey_confirm_cb(void *data,
Evas_Object *obj, void *event_info)
{
static void __bluetooth_reset_cb(void *data, Evas_Object *obj, void *event_info)
{
+ DBusMessage *message = NULL;
+ DBusConnection *conn = NULL;
+ int reset = 0;
+
if (obj == NULL || data == NULL)
return;
dbus_g_proxy_call_no_reply(ad->agent_proxy, "ReplyConfirmation",
G_TYPE_UINT, BT_AGENT_CANCEL,
G_TYPE_INVALID, G_TYPE_INVALID);
- __unlock_display();
if (!g_strcmp0(event, BT_STR_RESET)) {
- BT_DBG("Factory reset");
- deviced_call_predef_action(PREDEF_FACTORY_RESET, 0, NULL);
+ BT_INFO("Confirm Soft reset");
+ reset = 1;
}
+ __bluetooth_send_signal_reset_confirm_result(ad, reset);
+
+ __unlock_display();
evas_object_del(obj);
__bluetooth_win_del(ad);
e_dbus_init();
ad->EDBusHandle = e_dbus_bus_get(DBUS_BUS_SYSTEM);
if (!ad->EDBusHandle) {
- BT_ERR("e_dbus_bus_get failed \n ");
+ BT_ERR("e_dbus_bus_get failed");
return FALSE;
}
- BT_DBG("e_dbus_bus_get success \n ");
+ BT_DBG("e_dbus_bus_get success ");
return TRUE;
}
ecore_imf_context_input_panel_hide(imf_context);
}
-static void __bluetooth_entry_change_cb(void *data, Evas_Object *obj,
- void *event_info)
+static Eina_Bool timer_cb(void *data)
{
struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
- char *input_text = NULL;
- char *convert_input_text = NULL;
- char *output_text = NULL;
- int text_length = 0;
-
- input_text = (char *)elm_entry_entry_get(obj);
-
- if (input_text) {
- convert_input_text = elm_entry_markup_to_utf8(input_text);
- if (convert_input_text) {
- text_length = strlen(convert_input_text);
-
- if (text_length == 0) {
- elm_object_disabled_set(ad->edit_field_save_btn,
- EINA_TRUE);
- } else {
- elm_object_disabled_set(ad->edit_field_save_btn,
- EINA_FALSE);
- }
+ retv_if(ad == NULL, ECORE_CALLBACK_CANCEL);
- if (ad->event_type == BT_EVENT_PASSKEY_REQUEST) {
- if (text_length > BT_PK_MLEN) {
- convert_input_text[BT_PK_MLEN] = '\0';
- output_text = elm_entry_utf8_to_markup(
- convert_input_text);
-
- elm_entry_entry_set(obj, output_text);
- elm_entry_cursor_end_set(obj);
- free(output_text);
- }
- } else {
- if (text_length > BT_PIN_MLEN) {
- convert_input_text[BT_PIN_MLEN] = '\0';
- output_text = elm_entry_utf8_to_markup(
- convert_input_text);
-
- elm_entry_entry_set(obj, output_text);
- elm_entry_cursor_end_set(obj);
- free(output_text);
- }
- }
- free(convert_input_text);
+ char buf[BT_PIN_MLEN + 1] = {0,};
+ int i = 0;
+
+ if(pass_timer != NULL) {
+ ecore_timer_del(pass_timer);
+ pass_timer = NULL;
+ }
+
+ if(pin_index != 0) {
+ for(i = 0; i < pin_index; i++) {
+ strcat(buf,"*");
}
+ elm_object_part_text_set(ad->ly_pass, "elm.text.password", buf);
}
+
+ return ECORE_CALLBACK_CANCEL;
}
static void __bluetooth_auth_check_clicked_cb(void *data, Evas_Object *obj,
struct bt_popup_appdata *ad = data;
Eina_Bool state = elm_check_state_get(obj);
- BT_DBG("Check %d", state);
+ BT_INFO("Check %d", state);
ad->make_trusted = state;
}
DBusMessage *msg = NULL;
int response = BT_AGENT_REJECT;
- BT_DBG("Mouse event callback function is called + \n");
+ BT_DBG("Mouse event callback function is called + ");
if (ev->button == 3) {
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
dbus_message_unref(msg);
__bluetooth_win_del(ad);
}
- BT_DBG("Mouse event callback -\n");
+ BT_DBG("Mouse event callback -");
}
static void __bluetooth_keyback_auth_cb(void *data,
DBusMessage *msg = NULL;
int response = BT_AGENT_REJECT;
- BT_DBG("Keyboard event callback function is called + \n");
+ BT_DBG("Keyboard event callback function is called + ");
if (!strcmp(ev->keyname, KEY_BACK)) {
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
dbus_message_unref(msg);
__bluetooth_win_del(ad);
}
- BT_DBG("Keyboard Mouse event callback -\n");
+ BT_DBG("Keyboard Mouse event callback -");
}
static void __bluetooth_draw_auth_popup(struct bt_popup_appdata *ad,
Evas_Object *label;
Evas_Object *label2;
Evas_Object *check;
+ Evas_Object *ao = NULL;
BT_DBG("+");
ad->make_trusted = TRUE;
evas_object_show(ad->popup);
evas_object_show(ad->win_main);
+ ao = elm_access_object_register(ad->popup, ad->win_main);
+ if (ao != NULL) {
+ elm_access_info_set(ao, ELM_ACCESS_INFO, temp_str);
+ } else {
+ BT_ERR("elm_access_object_register error!");
+ }
+
BT_DBG("-");
}
char *txt;
Evas_Object *btn1;
Evas_Object *btn2;
- Evas_Object *scroller;
Evas_Object *label;
+ Evas_Object *ao = NULL;
BT_DBG("+");
ad->popup = elm_popup_add(ad->win_main);
- evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
+ if (ad->popup == NULL) {
+ BT_ERR("elm_popup_add is failed");
+ return;
+ }
+ evas_object_size_hint_weight_set(ad->popup,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_part_text_set(ad->popup, "title,text", BT_STR_TITLE_CONNECT);
+ ea_object_event_callback_add(ad->popup, EA_CALLBACK_BACK,
+ ea_popup_back_cb, NULL);
if (msg != NULL) {
- scroller = elm_scroller_add(ad->popup);
- elm_object_style_set(scroller, "effect");
-
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_content_set(ad->popup, scroller);
- evas_object_show(scroller);
-
- label = elm_label_add(scroller);
- elm_object_style_set(label, "popup/default");
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
-
- // temporarily remove this routine for RTL mark.
- //txt = elm_entry_utf8_to_markup(msg);
- //elm_object_text_set(label, txt);
- //free(txt);
- elm_object_text_set(label, msg);
-
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL,
- EVAS_HINT_FILL);
- elm_object_content_set(scroller, label);
+ txt = elm_entry_utf8_to_markup(msg);
+ elm_object_text_set(ad->popup, txt);
+ free(txt);
}
btn1 = elm_button_add(ad->popup);
elm_object_style_set(btn1, "popup");
+ evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_text_set(btn1, btn1_text);
elm_object_part_content_set(ad->popup, "button1", btn1);
evas_object_smart_callback_add(btn1, "clicked", func, ad);
btn2 = elm_button_add(ad->popup);
elm_object_style_set(btn2, "popup");
+ evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_text_set(btn2, btn2_text);
elm_object_part_content_set(ad->popup, "button2", btn2);
evas_object_smart_callback_add(btn2, "clicked", func, ad);
evas_object_show(ad->win_main);
elm_object_focus_set(ad->popup, EINA_TRUE);
+ ao = elm_access_object_register(ad->popup, ad->win_main);
+ if (ao != NULL) {
+ elm_access_info_set(ao, ELM_ACCESS_INFO, msg);
+ } else {
+ BT_ERR("elm_access_object_register error!");
+ }
+
BT_DBG("-");
}
Evas_Event_Mouse_Up *ev = event_info;
struct bt_popup_appdata *ad = data;
- BT_DBG("Mouse event callback function is called + \n");
+ BT_DBG("Mouse event callback function is called + ");
if (ev->button == 3) {
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
__bluetooth_keyback_cb);
__bluetooth_remove_all_event(ad);
}
- BT_DBG("Mouse event callback -\n");
+ BT_DBG("Mouse event callback -");
}
static void __bluetooth_keyback_cb(void *data,
Evas_Event_Key_Down *ev = event_info;
struct bt_popup_appdata *ad = data;
- BT_DBG("Keyboard event callback function is called %s+ \n", ev->keyname);
+ BT_INFO("Keyboard event callback function is called %s+ ", ev->keyname);
if (!strcmp(ev->keyname, KEY_BACK)) {
__bluetooth_keyback_cb);
__bluetooth_remove_all_event(ad);
}
- BT_DBG("Keyboard Mouse event callback -\n");
+ BT_DBG("Keyboard Mouse event callback -");
}
+char* __bluetooth_convert_rgba_to_hex(int r, int g, int b, int a)
+{
+ int hexcolor = 0;
+ char* string = NULL;
+
+ string = g_try_malloc0(sizeof(char )* 255);
+
+ hexcolor = (r << 24) + (g << 16) + (b << 8) + a;
+ sprintf(string, "%08x", hexcolor );
+
+ return string;
+}
+
+
static void __bluetooth_draw_popup(struct bt_popup_appdata *ad,
const char *title, char *btn1_text,
char *btn2_text, void (*func) (void *data,
Evas_Object *obj, void *event_info))
{
- char temp_str[BT_TITLE_STR_MAX_LEN+BT_TEXT_EXTRA_LEN] = { 0 };
+ BT_DBG("__bluetooth_draw_popup");
Evas_Object *btn1;
Evas_Object *btn2;
Evas_Object *bg;
- Evas_Object *label;
+ Evas_Object *label = NULL;
Evas_Object *scroller;
Evas_Object *default_ly;
Evas_Object *layout;
Evas_Object *scroller_layout;
+ Evas_Object *ao = NULL;
char *txt;
char *buf;
+ int r = 0, g = 0, b = 0, a = 0;
+ char *font;
+ int size;
- BT_DBG("__bluetooth_draw_popup");
bg = elm_bg_add(ad->win_main);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
EVAS_HINT_EXPAND);
if (title) {
- BT_DBG("Title %s", title);
+ BT_INFO("Title %s", title);
label = elm_label_add(scroller_layout);
- elm_object_style_set(label, "popup/default");
elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+ ea_theme_color_get("AT012",&r, &g, &b, &a,
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL);
+ ea_theme_font_get("AT012", &font, &size);
+ BT_INFO("font : %s, size : %d", font, size);
elm_object_part_content_set(scroller_layout, "elm.text.block", label);
evas_object_show(label);
txt = elm_entry_utf8_to_markup(title);
- buf = g_strdup_printf(BT_SET_FONT_SIZE, BT_TITLE_FONT_30, txt);
- elm_object_text_set(label, buf);
+
+ buf = g_strdup_printf("<font=%s><font_size=%d><color=#%s>%s</color></font_size></font>",
+ font, size,
+ __bluetooth_convert_rgba_to_hex(r, g, b, a),
+ txt);
free(txt);
+
+ elm_object_text_set(label, buf);
+ g_free(font);
+ g_free(buf);
}
elm_object_content_set(scroller, scroller_layout);
evas_object_show(ad->win_main);
+ ao = elm_access_object_register(label, layout);
+ if (ao != NULL) {
+ elm_access_info_set(ao, ELM_ACCESS_INFO, title);
+ } else {
+ BT_ERR("elm_access_object_register error!");
+ }
+
BT_DBG("__bluetooth_draw_popup END");
}
char *btn2_text, void (*func) (void *data,
Evas_Object *obj, void *event_info))
{
- char temp_str[BT_TITLE_STR_MAX_LEN+BT_TEXT_EXTRA_LEN] = { 0 };
+ BT_DBG("+");
Evas_Object *btn1;
Evas_Object *btn2;
Evas_Object *bg;
- Evas_Object *label;
+ Evas_Object *label = NULL;
Evas_Object *scroller;
Evas_Object *default_ly;
Evas_Object *layout;
Evas_Object *scroller_layout;
- Evas_Object *icon;
+ Evas_Object *ao;
char *txt;
char *buf;
+ int r = 0, g = 0, b = 0, a = 0;
+ char *font;
+ int size;
- BT_DBG("__bluetooth_draw_loading_popup");
+ __bluetooth_set_win_level(ad->win_main);
bg = elm_bg_add(ad->win_main);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_weight_set(scroller_layout, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
-// elm_object_signal_emit(scroller_layout, "connect.start,show", "");
- icon = elm_image_add(scroller_layout);
- elm_image_file_set(icon, CUSTOM_POPUP_PATH, BT_IMAGE_WATCH);
- elm_object_part_content_set(scroller_layout, "elm.swallow.img.watch", icon);
-
- icon = elm_image_add(scroller_layout);
- elm_image_file_set(icon, CUSTOM_POPUP_PATH, BT_IMAGE_PHONE);
- elm_object_part_content_set(scroller_layout, "elm.swallow.img.phone", icon);
-
-
if (title) {
- BT_DBG("Title %s", title);
+ BT_INFO("Title %s", title);
label = elm_label_add(scroller_layout);
elm_object_style_set(label, "popup/default");
elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
-
elm_object_part_content_set(scroller_layout, "elm.text.block", label);
evas_object_show(label);
txt = elm_entry_utf8_to_markup(title);
- buf = g_strdup_printf(BT_SET_FONT_SIZE, BT_TITLE_FONT_30, txt);
- elm_object_text_set(label, buf);
+ ea_theme_color_get("AT012",&r, &g, &b, &a,
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL);
+ ea_theme_font_get("AT012", &font, &size);
+ buf = g_strdup_printf("<font=%s><font_size=%d><color=#%s>%s</color></font_size></font>",
+ font, size,
+ __bluetooth_convert_rgba_to_hex(r, g, b, a),
+ txt);
free(txt);
+
+ elm_object_text_set(label, buf);
+ g_free(buf);
+ g_free(font);
}
elm_object_content_set(scroller, scroller_layout);
evas_object_show(ad->win_main);
+ ao = elm_access_object_register(label, layout);
+ if (ao != NULL) {
+ elm_access_info_set(ao, ELM_ACCESS_INFO, title);
+ } else {
+ BT_ERR("elm_access_object_register error!");
+ }
+
BT_DBG("__bluetooth_draw_loading_popup END");
}
+static void __bluetooth_draw_text_popup(struct bt_popup_appdata *ad,
+ const char *text,
+ char *btn1_text, char *btn2_text,
+ void (*func) (void *data,
+ Evas_Object *obj, void *event_info))
+{
+ BT_DBG("__bluetooth_draw_text_popup");
+ Evas_Object *btn1;
+ Evas_Object *btn2;
+ Evas_Object *label;
+ Evas_Object *scroller_layout;
+ Evas_Object *ao = NULL;
+ char *txt;
+ char *buf;
+ int r = 0, g = 0, b = 0, a = 0;
+ char *font;
+ int size;
+
+ ret_if(!ad);
+
+ ad->popup = elm_popup_add(ad->win_main);
+ evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ ea_object_event_callback_add(ad->popup, EA_CALLBACK_BACK,
+ ea_popup_back_cb, NULL);
+
+ __bluetooth_set_win_level(ad->popup);
+ txt = elm_entry_utf8_to_markup(text);
+ elm_object_text_set(ad->popup, txt);
+ free(txt);
+
+ btn1 = elm_button_add(ad->popup);
+ elm_object_style_set(btn1, "popup");
+ evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_text_set(btn1, btn1_text);
+ elm_object_part_content_set(ad->popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", func, ad);
+
+ btn2 = elm_button_add(ad->popup);
+ elm_object_style_set(btn2, "popup");
+ evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_text_set(btn2, btn2_text);
+ elm_object_part_content_set(ad->popup, "button2", btn2);
+ evas_object_smart_callback_add(btn2, "clicked", func, ad);
+
+ evas_object_show(ad->popup);
+ evas_object_show(ad->win_main);
+ elm_object_focus_set(ad->popup, EINA_TRUE);
+ BT_DBG("__bluetooth_draw_text_popup END");
+}
+
static void __bluetooth_input_mouseup_cb(void *data,
Evas *e, Evas_Object *obj, void *event_info)
{
int response = BT_AGENT_CANCEL;
char *input_text = NULL;
char *convert_input_text = NULL;
- BT_DBG("Mouse event callback function is called + \n");
+ BT_DBG("Mouse event callback function is called + ");
if (ev->button == 3) {
if (ad == NULL)
}
__bluetooth_win_del(ad);
}
- BT_DBG("Mouse event callback -\n");
+ BT_DBG("Mouse event callback -");
}
static void __bluetooth_input_keyback_cb(void *data,
char *convert_input_text = NULL;
- BT_DBG("Keyboard event callback function is called + \n");
+ BT_DBG("Keyboard event callback function is called + ");
if (!strcmp(ev->keyname, KEY_BACK)) {
if (ad == NULL)
return;
if (ad->event_type == BT_EVENT_PIN_REQUEST) {
- BT_DBG("It is PIN Request event \n");
+ BT_DBG("It is PIN Request event ");
dbus_g_proxy_call_no_reply(ad->agent_proxy,
"ReplyPinCode", G_TYPE_UINT, response,
G_TYPE_STRING, convert_input_text,
G_TYPE_INVALID, G_TYPE_INVALID);
} else {
- BT_DBG("It is PASSKEYRequest event \n");
+ BT_DBG("It is PASSKEYRequest event ");
dbus_g_proxy_call_no_reply(ad->agent_proxy,
"ReplyPasskey", G_TYPE_UINT, response,
G_TYPE_STRING, convert_input_text,
free(convert_input_text);
__bluetooth_win_del(ad);
}
- BT_DBG("Keyboard Mouse event callback -\n");
+ BT_DBG("Keyboard Mouse event callback -");
+}
+
+void __bt_handle_keypad_value(void *data,int index)
+{
+ struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
+ ret_if(ad == NULL);
+ int max_value = 0;
+ if(ad->event_type == BT_EVENT_PIN_REQUEST) {
+ max_value = BT_PIN_MLEN;
+ } else {
+ max_value = BT_PK_MLEN;
+ }
+
+ if (pin_index >= max_value) {
+ if(index >= 0 && index <= 9) {
+ char buf[512] = { 0, };
+ snprintf(buf,sizeof(buf),BT_STR_PIN_LENGTH_ERROR,max_value);
+ __bt_draw_error_toast_popup(ad, buf);
+
+ if(ad->timer != NULL) {
+ ecore_timer_del(ad->timer);
+ ad->timer = NULL;
+ }
+ ad->timer = ecore_timer_add(BT_TOAST_NOTIFICATION_TIMEOUT,
+ (Ecore_Task_Cb)__bt_error_toast_timeout_cb, ad);
+ return;
+ }
+ }
+
+ if(index >= 0 && index <= 9) {
+ char buf[20] = { 0, };
+ char buf1[20] = { 0, };
+ int i = 0;
+
+ snprintf(buf, sizeof(buf), "%d", index);
+ strcpy(&pin_value[pin_index++], buf);
+
+ if(pin_index == 0) {
+ } else {
+ for(i = 0; i < pin_index-1; i++) {
+ strcat(buf1,"*");
+ }
+ }
+ strcat(buf1,buf);
+
+ elm_object_part_text_set(ad->ly_pass, "elm.text.password", buf1);
+ pass_timer = ecore_timer_add(1.5f, (Ecore_Task_Cb)timer_cb, data);
+
+ } else if(index == 10) {//OK
+ char *input_text = NULL;
+
+ if (ad == NULL)
+ return;
+
+ if (pin_value)
+ BT_DBG_SECURE("PIN/Passkey[%s] event[%d] response[%s]",
+ pin_value, ad->event_type, "Accept");
+
+ if(ad->event_type == BT_EVENT_PIN_REQUEST) {
+ dbus_g_proxy_call_no_reply(ad->agent_proxy,
+ "ReplyPinCode", G_TYPE_UINT, BT_AGENT_ACCEPT,
+ G_TYPE_STRING, pin_value,
+ G_TYPE_INVALID, G_TYPE_INVALID);
+ } else {
+ dbus_g_proxy_call_no_reply(ad->agent_proxy,
+ "ReplyPasskey", G_TYPE_UINT, BT_AGENT_ACCEPT,
+ G_TYPE_STRING, pin_value,
+ G_TYPE_INVALID, G_TYPE_INVALID);
+ }
+ memset(pin_value, 0x00, sizeof(pin_value));
+ pin_index = 0;
+
+ __bluetooth_win_del(ad);
+
+ } else if(index == 11) {
+ /* Clear button */
+ _bt_clear_btn_up_cb(ad, NULL, NULL, NULL);
+ }
}
-#ifdef PIN_REQUEST_FOR_BASIC_PAIRING
+static void __bt_keypad_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ struct bt_popup_appdata *ad = data;
+ ret_if(ad == NULL);
+
+ int idx = (int)evas_object_data_get(obj, "__INDEX__");
+
+ __bt_handle_keypad_value(ad, idx);
+}
static void __bluetooth_draw_input_view(struct bt_popup_appdata *ad,
- const char *title, const char *text,
- void (*func)
- (void *data, Evas_Object *obj, void *event_info))
+ const char *title, const char *text)
{
- Evas_Object *conformant = NULL;
- Evas_Object *content = NULL;
+ BT_DBG("__bluetooth_draw_input_view");
+ Evas_Object *bg = NULL;
Evas_Object *layout = NULL;
- Evas_Object *passpopup = NULL;
Evas_Object *label = NULL;
- Evas_Object *entry = NULL;
- Evas_Object *l_button = NULL;
- Evas_Object *r_button = NULL;
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
+ Evas_Object *default_ly = NULL;
+ Evas_Object *scroller;
+ Elm_Object_Item *navi_item;
+ static char *buf;
+ int i = 0, r = 0, g = 0, b = 0, a = 0;
+ char *font;
+ int size;
if (ad == NULL || ad->win_main == NULL) {
BT_ERR("Invalid parameter");
return;
}
- evas_object_show(ad->win_main);
-
- conformant = elm_conformant_add(ad->win_main);
- if (conformant == NULL) {
- BT_ERR("conformant is NULL");
- return;
- }
- ad->popup = conformant;
-
- elm_win_conformant_set(ad->win_main, EINA_TRUE);
- elm_win_resize_object_add(ad->win_main, conformant);
- evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(conformant);
+ bg = elm_bg_add(ad->win_main);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(ad->win_main, bg);
+ evas_object_show(bg);
- content = elm_layout_add(conformant);
- elm_object_content_set(conformant, content);
+ default_ly = elm_layout_add(bg);
+ elm_layout_theme_set(default_ly, "layout", "application", "default");
+ evas_object_size_hint_weight_set(default_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(bg, "elm.swallow.content", default_ly);
+ evas_object_show(default_ly);
- passpopup = elm_popup_add(content);
- elm_object_part_text_set(passpopup, "title,text", title);
+ Evas_Object *naviframe;
- elm_object_style_set(passpopup, "transparent");
+ naviframe = elm_naviframe_add(default_ly);
+ elm_object_part_content_set(default_ly, "elm.swallow.content", naviframe);
- layout = elm_layout_add(passpopup);
+ layout = elm_layout_add(default_ly);
elm_layout_file_set(layout, CUSTOM_POPUP_PATH, "passwd_popup");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- label = elm_label_add(passpopup);
+ ad->ly_pass = layout;
+
+ scroller = elm_scroller_add(layout);
+ evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(scroller);
+
+ label = elm_label_add(layout);
elm_object_style_set(label, "popup/default");
- elm_label_line_wrap_set(label, ELM_WRAP_WORD);
- elm_object_text_set(label, text);
+ elm_label_line_wrap_set(label, ELM_WRAP_CHAR);
+ ea_theme_color_get("AT012",&r, &g, &b, &a,
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL);
+ if (EINA_TRUE == ea_theme_font_get("AT012", &font, &size))
+ BT_INFO("font : %s, size : %d", font, size);
+ else
+ BT_INFO("ea_theme_font_get fail!");
+ buf = g_strdup_printf("<font=%s><font_size=%d><color=#%s>%s</color></font_size></font>",
+ font, 28,
+ __bluetooth_convert_rgba_to_hex(r, g, b, a),
+ text);
+
+ BT_DBG("buf : %s, rgba:%d,%d,%d,%d", buf,r,g,b,a);
+
+ elm_object_text_set(label, buf);
+ g_free(buf);
evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(label);
+ elm_object_content_set(scroller, label);
- entry = ea_editfield_add(passpopup, EA_EDITFIELD_SINGLELINE);
- /* As per specs PIN codes may be up to 16 characters*/
- limit_filter_data.max_char_count = 16;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_prediction_allow_set(entry, EINA_FALSE);
- elm_entry_password_set(entry, EINA_TRUE);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
- evas_object_show(entry);
- ad->entry = entry;
-
- evas_object_smart_callback_add(entry, "changed",
- __bluetooth_entry_change_cb,
- ad);
-
- l_button = elm_button_add(ad->win_main);
- elm_object_style_set(l_button, "popup");
- elm_object_text_set(l_button, BT_STR_CANCEL);
- elm_object_part_content_set(passpopup, "button1", l_button);
- evas_object_smart_callback_add(l_button, "clicked", func, ad);
-
- r_button = elm_button_add(ad->win_main);
- elm_object_style_set(r_button, "popup");
- elm_object_text_set(r_button, BT_STR_OK);
- elm_object_part_content_set(passpopup, "button2", r_button);
- evas_object_smart_callback_add(r_button, "clicked", func, ad);
- elm_object_disabled_set(r_button, EINA_TRUE);
- ad->edit_field_save_btn = r_button;
-
- evas_object_event_callback_add(entry, EVAS_CALLBACK_MOUSE_UP,
- __bluetooth_input_mouseup_cb, ad);
- evas_object_event_callback_add(entry, EVAS_CALLBACK_KEY_DOWN,
- __bluetooth_input_keyback_cb, ad);
-
- evas_object_event_callback_add(ad->popup, EVAS_CALLBACK_MOUSE_UP,
- __bluetooth_input_mouseup_cb, ad);
- evas_object_event_callback_add(ad->popup, EVAS_CALLBACK_KEY_DOWN,
- __bluetooth_input_keyback_cb, ad);
-
- evas_object_event_callback_add(r_button, EVAS_CALLBACK_MOUSE_UP,
- __bluetooth_input_mouseup_cb, ad);
- evas_object_event_callback_add(r_button, EVAS_CALLBACK_KEY_DOWN,
- __bluetooth_input_keyback_cb, ad);
+ elm_object_part_content_set(ad->ly_pass, "label", scroller);
- evas_object_event_callback_add(l_button, EVAS_CALLBACK_MOUSE_UP,
- __bluetooth_input_mouseup_cb, ad);
- evas_object_event_callback_add(l_button, EVAS_CALLBACK_KEY_DOWN,
- __bluetooth_input_keyback_cb, ad);
+ BT_DBG("Create keypad");
+ Evas_Object *layout_key = elm_layout_add(ad->ly_pass);
+ elm_layout_file_set(layout_key, CUSTOM_POPUP_PATH, "keypad");
+ ad->ly_keypad = layout_key;
+ elm_object_part_content_set(ad->ly_pass, "sw.keypad", layout_key);
+ elm_object_part_text_set(layout_key, "confirm", "OK");
- elm_object_part_content_set(layout, "entry", entry);
- elm_object_part_content_set(layout, "label", label);
-
- elm_object_part_text_set(entry, "elm.guide", BT_STR_TAP_TO_ENTER);
+ for (i = 0; i< 12; i++) {
+ Evas_Object *button = elm_button_add(layout_key);
+ char buf[32] = {0,};
+ if(button == NULL) {
+ BT_DBG("elm_button_add() failed");
+ continue;
+ }
+ elm_object_style_set(button, "focus");
+ snprintf(buf, sizeof(buf)-1, "%s,sw", keypad_info[i].part_name);
+ elm_object_part_content_set(layout_key, buf, button);
+ elm_access_info_set(button, ELM_ACCESS_INFO, keypad_info[i].tts_name);
+ evas_object_data_set(button, "__INDEX__", (void *)i);
+ evas_object_smart_callback_add(button, "clicked",
+ __bt_keypad_clicked_cb, ad);
+ keypad_info[i].tts_button = button;
+ }
+ navi_item = elm_naviframe_item_push(naviframe, BT_STR_PAIRING_REQUEST,
+ NULL, NULL, layout, NULL);
+ elm_naviframe_item_title_enabled_set(navi_item, EINA_TRUE, EINA_TRUE);
+ elm_naviframe_item_title_visible_set(navi_item, EINA_TRUE);
+ elm_object_content_set(ad->win_main, bg);
+ evas_object_show(naviframe);
+ evas_object_show(default_ly);
evas_object_show(layout);
- evas_object_show(content);
- evas_object_show(passpopup);
- elm_object_content_set(passpopup, layout);
- elm_object_focus_set(entry, EINA_TRUE);
+ evas_object_show(layout_key);
+ evas_object_show(ad->win_main);
+
}
-#endif
static void __bluetooth_delete_input_view(struct bt_popup_appdata *ad)
{
DBusGProxy *proxy;
proxy = dbus_g_proxy_new_for_name(conn, "org.projectx.bt",
- path, "org.bluez.Agent");
+ path, "org.bluez.Agent1");
if (!proxy)
BT_ERR("dbus_g_proxy_new_for_name is failed");
return proxy;
+
}
static int __bt_get_vconf_setup_wizard()
int wizard_state = VCONFKEY_SETUP_WIZARD_UNLOCK;
if (vconf_get_int(VCONFKEY_SETUP_WIZARD_STATE, &wizard_state))
- BT_DBG("Fail to get Wizard State");
+ BT_ERR("Fail to get Wizard State");
return wizard_state;
}
return -1;
}
- BT_ERR("Event Type = %s[0X%X]", event_type, ad->event_type);
+ BT_INFO("Event Type = %s[0X%X]", event_type, ad->event_type);
-#ifdef PIN_REQUEST_FOR_BASIC_PAIRING
if (!strcasecmp(event_type, "pin-request")) {
device_name = bundle_get_val(kb, "device-name");
agent_path = bundle_get_val(kb, "agent-path");
conv_str = elm_entry_utf8_to_markup(device_name);
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- "%s", BT_STR_BLUETOOTH_PAIRING_REQUEST);
+ "%s", BT_STR_PAIRING_REQUEST);
snprintf(text, BT_GLOBALIZATION_STR_LENGTH,
BT_STR_ENTER_PIN_TO_PAIR, conv_str);
free(conv_str);
/* Request user inputted PIN for basic pairing */
- __bluetooth_draw_input_view(ad, view_title, text,
- __bluetooth_input_request_cb);
+ __bluetooth_draw_input_view(ad, view_title, text);
+ } else if (!strcasecmp(event_type, "passkey-confirm-request")) {
+ device_name = bundle_get_val(kb, "device-name");
+ passkey = bundle_get_val(kb, "passkey");
+ agent_path = bundle_get_val(kb, "agent-path");
+
+ ad->agent_proxy = __bluetooth_create_agent_proxy(ad->conn, agent_path);
+ if (!ad->agent_proxy)
+ return -1;
+
+ if (device_name && passkey) {
+ snprintf(view_title, BT_TITLE_STR_MAX_LEN,
+ BT_STR_CONFIRM_PASSKEY_PS_TO_PAIR_WITH_PS,
+ device_name, passkey);
+
+ BT_INFO("title: %s", view_title);
+
+ __bluetooth_draw_text_popup(ad, view_title,
+ BT_STR_CANCEL, BT_STR_OK,
+ __bluetooth_passkey_confirm_cb);
+ } else {
+ timeout = BT_ERROR_TIMEOUT;
+ }
} else if (!strcasecmp(event_type, "passkey-request")) {
const char *device_name = NULL;
conv_str = elm_entry_utf8_to_markup(device_name);
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- "%s", BT_STR_BLUETOOTH_PAIRING_REQUEST);
+ "%s", BT_STR_PAIRING_REQUEST);
snprintf(text, BT_GLOBALIZATION_STR_LENGTH,
BT_STR_ENTER_PIN_TO_PAIR, conv_str);
free(conv_str);
/* Request user inputted Passkey for basic pairing */
- __bluetooth_draw_input_view(ad, view_title, text,
- __bluetooth_input_request_cb);
-
- }
-#endif
-
- if (!strcasecmp(event_type, "passkey-confirm-request")) {
- device_name = bundle_get_val(kb, "device-name");
- passkey = bundle_get_val(kb, "passkey");
- agent_path = bundle_get_val(kb, "agent-path");
-
- ad->agent_proxy = __bluetooth_create_agent_proxy(ad->conn, agent_path);
- if (!ad->agent_proxy)
- return -1;
-
- if (device_name && passkey) {
- conv_str = elm_entry_utf8_to_markup(device_name);
-
- snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_CONFIRM_PASSKEY_PS_TO_PAIR_WITH_PS, conv_str, passkey);
- BT_DBG("title: %s", passkey);
-
- if (conv_str)
- free(conv_str);
+ __bluetooth_draw_input_view(ad, view_title, text);
- __bluetooth_draw_loading_popup(ad, view_title,
- BT_STR_CANCEL, BT_STR_OK,
- __bluetooth_passkey_confirm_cb);
- } else {
- BT_ERR("wrong parameter : %s, %s", device_name, passkey);
- timeout = BT_ERROR_TIMEOUT;
- }
} else if (!strcasecmp(event_type, "passkey-display-request")) {
device_name = bundle_get_val(kb, "device-name");
passkey = bundle_get_val(kb, "passkey");
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
BT_STR_ENTER_PS_ON_PS_TO_PAIR, passkey, conv_str);
- BT_DBG("title: %s", view_title);
+ BT_INFO("title: %s", view_title);
if (conv_str)
free(conv_str);
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
BT_STR_ENTER_PS_ON_PS_TO_PAIR, passkey, conv_str);
- BT_DBG("title: %s", view_title);
+ BT_INFO("title: %s", view_title);
if (conv_str)
free(conv_str);
__bluetooth_draw_auth_popup(ad, view_title, BT_STR_CANCEL, BT_STR_OK,
__bluetooth_authorization_request_cb);
- } else if (!strcasecmp(event_type, "pairing-retry-request")) {
+ } else if (!strcasecmp(event_type, "unable-to-pairing")) {
DBusMessage *msg = NULL;
int response = BT_AGENT_REJECT;
timeout = BT_TOAST_NOTIFICATION_TIMEOUT;
__bt_draw_toast_popup(ad, BT_STR_UNABLE_TO_CONNECT);
-
- msg = dbus_message_new_signal(BT_SYS_POPUP_IPC_RESPONSE_OBJECT,
- BT_SYS_POPUP_INTERFACE,
- BT_SYS_POPUP_METHOD_RESPONSE);
-
- dbus_message_append_args(msg, DBUS_TYPE_INT32,
- &response, DBUS_TYPE_INVALID);
-
- e_dbus_message_send(ad->EDBusHandle, msg, NULL, -1, NULL);
- dbus_message_unref(msg);
} else if (!strcasecmp(event_type, "handsfree-disconnect-request")) {
if (__bt_get_vconf_setup_wizard() == VCONFKEY_SETUP_WIZARD_LOCK) {
BT_DBG("VCONFKEY_SETUP_WIZARD_LOCK: No toast shown");
timeout = BT_TOAST_NOTIFICATION_TIMEOUT;
__bt_draw_toast_popup(ad, BT_STR_AUTO_CONNECT);
- } else if (!strcasecmp(event_type, "factory-reset-request")) {
+ } else if (!strcasecmp(event_type, "system-reset-request")) {
device_name = bundle_get_val(kb, "device-name");
agent_path = bundle_get_val(kb, "agent-path");
return -1;
if (device_name) {
- conv_str = elm_entry_utf8_to_markup(device_name);
-
snprintf(view_title, BT_TITLE_STR_MAX_LEN,
- BT_STR_FACTORY_RESET, conv_str, conv_str);
-
- if (conv_str)
- free(conv_str);
-
+ BT_STR_FACTORY_RESET, device_name, device_name);
__bluetooth_draw_reset_popup(ad, view_title,
BT_STR_CANCEL, BT_STR_RESET,
__bluetooth_reset_cb);
static Eina_Bool __bt_toast_mouseup_cb(void *data, int type, void *event)
{
- Ecore_X_Atom atom;
Ecore_Event_Key *ev = event;
struct bt_popup_appdata *ad;
static void __bt_draw_toast_popup(struct bt_popup_appdata *ad, char *toast_text)
{
- Ecore_X_Window xwin;
+ Evas_Object *ao = NULL;
ad->popup = elm_popup_add(ad->win_main);
elm_object_style_set(ad->popup, "toast");
elm_popup_orient_set(ad->popup, ELM_POPUP_ORIENT_BOTTOM);
evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
ea_object_event_callback_add(ad->popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
+
elm_object_part_text_set(ad->popup,"elm.text", toast_text);
- xwin = elm_win_xwindow_get(ad->popup);
- if (xwin == 0) {
- BT_ERR("elm_win_xwindow_get is failed");
- } else {
- BT_DBG("Setting window type");
- ecore_x_netwm_window_type_set(xwin,
- ECORE_X_WINDOW_TYPE_NOTIFICATION);
- utilx_set_system_notification_level(ecore_x_display_get(),
- xwin, UTILX_NOTIFICATION_LEVEL_NORMAL);
- }
+ __bluetooth_set_win_level(ad->popup);
ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, __bt_toast_mouseup_cb, ad);
evas_object_show(ad->popup);
evas_object_show(ad->win_main);
elm_object_focus_set(ad->popup, EINA_TRUE);
+
+ ao = elm_object_part_access_object_get(ad->popup, "access.outline");
+ if (ao != NULL)
+ elm_access_info_set(ao, ELM_ACCESS_INFO, toast_text);
+}
+
+static void __bt_draw_error_toast_popup(struct bt_popup_appdata *ad, char *toast_text)
+{
+ Evas_Object *ao = NULL;
+
+ ad->popup = elm_popup_add(ad->win_main);
+ elm_object_style_set(ad->popup, "toast");
+ elm_popup_orient_set(ad->popup, ELM_POPUP_ORIENT_BOTTOM);
+ evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ ea_object_event_callback_add(ad->popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
+ elm_object_part_text_set(ad->popup,"elm.text", toast_text);
+
+ __bluetooth_set_win_level(ad->popup);
+
+ evas_object_show(ad->popup);
+ evas_object_show(ad->win_main);
+ elm_object_focus_set(ad->popup, EINA_TRUE);
+
+ ao = elm_object_part_access_object_get(ad->popup, "access.outline");
+ if (ao != NULL)
+ elm_access_info_set(ao, ELM_ACCESS_INFO, toast_text);
}
static Eina_Bool __exit_idler_cb(void *data)
__popup_terminate();
}
-static Evas_Object *__bluetooth_create_win(const char *name)
+static int __bt_error_toast_timeout_cb(void *data)
+{
+ struct bt_popup_appdata *ad;
+
+ if (data == NULL)
+ return 0;
+
+ ad = (struct bt_popup_appdata *)data;
+
+ BT_DBG("Toast Popup timeout");
+
+ /* Destory toast popup and timer */
+ if (ad->timer) {
+ ecore_timer_del(ad->timer);
+ ad->timer = NULL;
+ }
+
+ if (ad->popup) {
+ elm_access_object_unregister(ad->popup);
+ evas_object_del(ad->popup);
+ ad->popup = NULL;
+ }
+ return 0;
+}
+static Evas_Object *__bluetooth_create_win(const char *name, void *data)
{
Evas_Object *eo;
+ struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
int w;
int h;
eo = elm_win_add(NULL, name, ELM_WIN_DIALOG_BASIC);
if (eo) {
+ elm_win_alpha_set(eo, EINA_TRUE);
elm_win_title_set(eo, name);
elm_win_borderless_set(eo, EINA_TRUE);
ecore_x_window_size_get(ecore_x_window_root_first_get(),
evas_object_resize(eo, w, h);
}
- elm_win_alpha_set(eo, EINA_TRUE);
-
return eo;
}
BT_ERR("__bt_syspopup_init_app_signal failed");
}
+void __bluetooth_set_color_table(void *data)
+{
+ FN_START;
+ struct bt_popup_appdata *ad = (struct bt_popup_appdata *)data;
+
+ /* Set color table */
+ ea_theme_changeable_ui_enabled_set(EINA_TRUE);
+ ad->color_table = ea_theme_color_table_new(COLOR_TABLE);
+ if (ad->color_table == NULL)
+ BT_ERR("ea_theme_color_table_new failed!");
+ else if (EINA_TRUE != ea_theme_colors_set(ad->color_table, EA_THEME_STYLE_DEFAULT))
+ BT_ERR("ea_theme_colors_set failed!");
+
+ ad->font_table = ea_theme_font_table_new(FONT_TABLE);
+ if (ad->font_table == NULL)
+ BT_ERR("ea_theme_color_table_new failed!");
+ else if (EINA_TRUE != ea_theme_fonts_set(ad->font_table))
+ BT_ERR("ea_theme_fonts_set failed!");
+
+ FN_END;
+}
+
static bool __bluetooth_create(void *data)
{
struct bt_popup_appdata *ad = data;
Evas_Object *win = NULL;
- BT_DBG("__bluetooth_create() start.\n");
+ BT_DBG("__bluetooth_create() start.");
/* create window */
- win = __bluetooth_create_win(PACKAGE);
+ win = __bluetooth_create_win(PACKAGE, ad);
if (win == NULL) {
BT_ERR("__bluetooth_create_win is failed");
return false;
}
ad->win_main = win;
ad->viberation_id = 0;
-
/* Handle rotation */
if (elm_win_wm_rotation_supported_get(ad->win_main)) {
int rots[4] = {0, 90, 180, 270};
textdomain(BT_COMMON_PKG);
ecore_imf_init();
+ __bluetooth_set_color_table(ad);
__bluetooth_session_init(ad);
if (bt_initialize() != BT_ERROR_NONE) {
return true;
}
+
+static int __vzw_launch_modem_syspopup(void)
+{
+ int ret;
+ bundle* b;
+
+ b = bundle_create();
+ if (!b) {
+ BT_ERR("Failed to create bundle");
+ return -1;
+ }
+
+ bundle_add(b, "event-type", "grayzone_alert");
+ ret = syspopup_launch("wc-syspopup", b);
+ if (ret < 0)
+ BT_ERR("Failed to launch syspopup");
+
+ bundle_free(b);
+
+ return ret;
+}
+
+static int __na_common_launch_modem_popup(void)
+{
+ int ret;
+ app_control_h app_control = NULL;
+
+ ret = app_control_create(&app_control);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ BT_ERR("Failed to create appcontrol[%d]", ret);
+ return -1;
+ }
+
+ app_control_add_extra_data(app_control,
+ "http://samsung.com/appcontrol/data/connection_type",
+ "grayzone_alert");
+ app_control_set_app_id(app_control, "org.tizen.weconn-popup");
+
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ BT_ERR("failed appcontrol launch request [%d]", ret);
+ app_control_destroy(app_control);
+ return -1;
+ }
+
+ app_control_destroy(app_control);
+
+ return 0;
+}
+
static void __bluetooth_terminate(void *data)
{
BT_DBG("__bluetooth_terminate()");
ad->conn = NULL;
}
+ if (ad->color_table != NULL) {
+ ea_theme_color_table_free(ad->color_table);
+ ad->color_table = NULL;
+ }
+
+ if (ad->font_table != NULL) {
+ ea_theme_font_table_free(ad->font_table);
+ ad->font_table = NULL;
+ }
+
if (ad->popup)
evas_object_del(ad->popup);
ad->popup = NULL;
ad->win_main = NULL;
+
+ if (ad->event_type == BT_EVENT_HANDSFREE_DISCONNECT_REQUEST) {
+ char *salescode = NULL;
+ salescode = vconf_get_str(VCONFKEY_CSC_SALESCODE);
+
+ if (g_strcmp0(salescode, "VZW") == 0) {
+ __vzw_launch_modem_syspopup();
+ } else if (g_strcmp0(salescode, "ATT") == 0 ||
+ g_strcmp0(salescode, "TMB") == 0 ||
+ g_strcmp0(salescode, "SPR") == 0 ||
+ g_strcmp0(salescode, "USC") == 0 ||
+ g_strcmp0(salescode, "XAC") == 0) {
+ __na_common_launch_modem_popup();
+ }
+
+ g_free(salescode);
+ }
}
static void __bluetooth_pause(void *data)
return;
}
-static void __bluetooth_reset(service_h service, void *user_data)
+static void __bluetooth_reset(app_control_h app_control, void *user_data)
{
struct bt_popup_appdata *ad = user_data;
bundle *b = NULL;
const char *event_type = NULL;
+ int block = 0;
int ret = 0;
BT_DBG("__bluetooth_reset()");
return;
}
- ret = service_to_bundle(service, &b);
+ ret = app_control_to_bundle(app_control, &b);
/* Start Main UI */
event_type = bundle_get_val(b, "event-type");
BT_ERR("event type is NULL");
return;
}
- BT_ERR("event_type : %s", event_type);
+ BT_INFO("event_type : %s", event_type);
__bluetooth_parse_event(ad, event_type);
__bluetooth_cleanup(ad);
/* create window */
- ad->win_main = __bluetooth_create_win(PACKAGE);
+ ad->win_main = __bluetooth_create_win(PACKAGE, ad);
if (ad->win_main == NULL) {
BT_ERR("fail to create win!");
return;
DONE:
ret = __bluetooth_launch_handler(ad, b, event_type);
- /* Change LCD brightness */
- if (display_change_state(LCD_NORMAL) != 0)
- BT_ERR("Fail to change LCD");
+ if (vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &block)) {
+ BT_ERR("Get Block Status fail!!");
+ }
if (ret != 0) {
BT_ERR("__bluetooth_launch_handler is failed. event[%d], ret[%d]",
__bluetooth_remove_all_event(ad);
}
- if (ad->event_type == BT_EVENT_HANDSFREE_DISCONNECT_REQUEST) {
- __bluetooth_notify_event(FEEDBACK_PATTERN_DISCONNECTED);
- } else if (ad->event_type == BT_EVENT_HANDSFREE_CONNECT_REQUEST) {
- __bluetooth_notify_event(FEEDBACK_PATTERN_CONNECTED);
- } else if (ad->event_type == BT_EVENT_PASSKEY_CONFIRM_REQUEST ||
- ad->event_type == BT_EVENT_FACTORY_RESET_REQUEST) {
- __bluetooth_notify_event(FEEDBACK_PATTERN_BT_PAIRING);
- ad->viberation_id = g_timeout_add(BT_VIBERATION_INTERVAL,
+ if (!block) {
+ /* Change LCD brightness */
+ if (display_change_state(LCD_NORMAL) != 0)
+ BT_ERR("Fail to change LCD");
+
+ if (ad->event_type == BT_EVENT_HANDSFREE_DISCONNECT_REQUEST) {
+ __bluetooth_notify_event(FEEDBACK_PATTERN_DISCONNECTED);
+ } else if (ad->event_type == BT_EVENT_HANDSFREE_CONNECT_REQUEST) {
+ __bluetooth_notify_event(FEEDBACK_PATTERN_CONNECTED);
+ } else if (ad->event_type == BT_EVENT_PASSKEY_CONFIRM_REQUEST ||
+ ad->event_type == BT_EVENT_SYSTEM_RESET_REQUEST) {
+ __bluetooth_notify_event(FEEDBACK_PATTERN_BT_PAIRING);
+ ad->viberation_id = g_timeout_add(BT_VIBERATION_INTERVAL,
__bluetooth_pairing_pattern_cb, NULL);
- __lock_display();
+ __lock_display();
+ }
}
return;
event_callback.terminate = __bluetooth_terminate;
event_callback.pause = __bluetooth_pause;
event_callback.resume = __bluetooth_resume;
- event_callback.service = __bluetooth_reset;
+ event_callback.app_control = __bluetooth_reset;
event_callback.low_memory = NULL;
event_callback.low_battery = NULL;
event_callback.device_orientation = NULL;
/*
* bt-syspopup
*
-* Copyright 2012 Samsung Electronics Co., Ltd
+* Copyright 2013 Samsung Electronics Co., Ltd
*
* Contact: Hocheol Seo <hocheol.seo@samsung.com>
* GirishAshok Joshi <girish.joshi@samsung.com>
#define CUSTOM_POPUP_PATH PREFIX"/res/edje/custom_popup.edj"
#define POPUP_IMAGE_PATH PREFIX"/res/images"
-#define BT_IMAGE_WATCH "b_setup_wizard_watch_01.png"
-#define BT_IMAGE_PHONE "b_setup_wizard_device_01.png"
-
-#define BT_COMMON_PKG "bt-connection-popup"
-#define BT_LOCALEDIR "/usr/apps/org.tizen.bt-connection-popup/res/locale"
+#define BT_COMMON_PKG "bluetooth"
+#define BT_LOCALEDIR "/usr/apps/org.tizen.bluetooth/shared/res/locale"
#define _EDJ(obj) elm_layout_edje_get(obj)
#define BT_VIBERATION_INTERVAL 2000
#undef LOG_TAG
-#define LOG_TAG "BT_SYSPOPUP"
+#define LOG_TAG "BLUETOOTH_SYSPOPUP"
#define BT_DBG(format, args...) SLOGD(format, ##args)
#define BT_ERR(format, args...) SLOGE(format, ##args)
+#define BT_INFO(format, args...) SLOGI(format, ##args)
+
+#define FUNCTION_TRACE
+#ifdef FUNCTION_TRACE
+#define FN_START BT_DBG("[ENTER FUNC]");
+#define FN_END BT_DBG("[EXIT FUNC]");
+#else
+#define FN_START
+#define FN_END
+#endif
#define BT_DBG_SECURE(fmt, args...) SECURE_SLOGD(fmt, ##args)
#define BT_ERR_SECURE(fmt, args...) SECURE_SLOGE(fmt, ##args)
#define BT_SYS_POPUP_IPC_RESPONSE_OBJECT "/org/projectx/bt_syspopup_res"
#define BT_SYS_POPUP_INTERFACE "User.Bluetooth.syspopup"
#define BT_SYS_POPUP_METHOD_RESPONSE "Response"
+#define BT_SYS_POPUP_METHOD_RESET_RESPONSE "ResetResponse"
/* String defines to support multi-languages */
#define BT_STR_ENTER_PIN \
dgettext(BT_COMMON_PKG, "IDS_BT_POP_RECEIVE_FILE_FROM_PS_Q")
/* Need to convert the design ID */
-#define BT_STR_BLUETOOTH_PAIRING_REQUEST \
- dgettext(BT_COMMON_PKG, "IDS_BT_HEADER_BLUETOOTH_PAIRING_REQUEST")
+#define BT_STR_PAIRING_REQUEST \
+ dgettext(BT_COMMON_PKG, "IDS_BT_BODY_PAIRING_REQUEST")
#define BT_STR_ENTER_PIN_TO_PAIR \
dgettext(BT_COMMON_PKG, "IDS_BT_POP_ENTER_PIN_TO_PAIR_WITH_PS_HTRY_0000_OR_1234")
#define BT_STR_TAP_TO_ENTER \
dgettext(BT_COMMON_PKG, "IDS_SIM_BODY_TAP_TO_ENTER_ABB")
-#define BT_STR_OK dgettext(BT_COMMON_PKG, "IDS_MP_SK_OK")
-#define BT_STR_CANCEL dgettext(BT_COMMON_PKG, "IDS_MUSIC_SK_CANCEL")
+#define BT_STR_OK dgettext(BT_COMMON_PKG, "IDS_BT_BUTTON_OK_ABB")
+#define BT_STR_CANCEL dgettext(BT_COMMON_PKG, "IDS_BT_BUTTON_CANCEL")
#define BT_STR_BLUETOOTH_CONNECTED \
dgettext(BT_COMMON_PKG, "IDS_BT_POP_BLUETOOTH_CONNECTED")
#define BT_STR_RESET dgettext(BT_COMMON_PKG, "IDS_ST_BUTTON_RESET_ABB2")
+#define BT_STR_PIN_LENGTH_ERROR "Pin must contain no more than %d digits"
typedef enum {
BT_CHANGED_MODE_ENABLE,
BT_CHANGED_MODE_DISABLE,
BT_EVENT_EXCHANGE_REQUEST = 0x1000,
BT_EVENT_PHONEBOOK_REQUEST = 0x2000,
BT_EVENT_MESSAGE_REQUEST = 0x4000,
- BT_EVENT_RETRY_PAIR_REQUEST = 0x8000,
+ BT_EVENT_UNABLE_TO_PAIRING = 0x8000,
BT_EVENT_HANDSFREE_CONNECT_REQUEST = 0x1100,
BT_EVENT_HANDSFREE_DISCONNECT_REQUEST = 0x1200,
BT_EVENT_HANDSFREE_AUTO_CONNECT_REQUEST = 0x1600,
- BT_EVENT_FACTORY_RESET_REQUEST = 0x10000,
+ BT_EVENT_SYSTEM_RESET_REQUEST = 0x10000,
} bt_popup_event_type_t;
typedef enum {
Evas *evas;
Evas_Object *win_main;
Evas_Object *popup;
+ Evas_Object *ly_pass;
+ Evas_Object *ly_keypad;
/* Passkey layout objects */
Evas_Object *entry;
Evas_Object *edit_field_save_btn;
Evas_Object *ticker_noti;
+ Ea_Theme_Color_Table *color_table;
+ Ea_Theme_Font_Table *font_table;
+
Ecore_Timer *timer;
DBusGProxy *agent_proxy;
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ChangeableColorTable num="1">
+ <Theme style="Dark">
+ <ChangeableColorInfo id="AO011" inputColor="1" hue="-2" saturation="29" value="0" alpha="100" maxValue="14" />
+ <ChangeableColorInfo id="AO013L2" inputColor="3" hue="4" saturation="66" value="65" alpha="100" />
+ <ChangeableColorInfo id="AO014" inputColor="W" hue="0" saturation="0" value="0" alpha="100" />
+ <ChangeableColorInfo id="AT012" inputColor="W" hue="0" saturation="0" value="0" alpha="100" />
+ <ChangeableColorInfo id="AT013" inputColor="3" hue="4" saturation="66" value="65" alpha="100" />
+ <ChangeableColorInfo id="AT0131" inputColor="W" hue="0" saturation="0" value="0" alpha="100" />
+ <ChangeableColorInfo id="AT0132" inputColor="3" hue="4" saturation="66" value="65" alpha="100" />
+ <ChangeableColorInfo id="B011" inputColor="1" hue="-2" saturation="29" value="0" alpha="100" maxValue="14" />
+ <ChangeableColorInfo id="AO012L1" inputColor="K" hue="0" saturation="0" value="12" alpha="100" />
+ <ChangeableColorInfo id="AO012L2" inputColor="K" hue="0" saturation="0" value="22" alpha="100" />
+ <ChangeableColorInfo id="AO012L2P" inputColor="K" hue="0" saturation="0" value="9" alpha="100" />
+ <ChangeableColorInfo id="AO013" inputColor="W" hue="0" saturation="0" value="0" alpha="100" />
+ </Theme>
+ <Theme style="Light">
+ <ChangeableColorInfo id="AO011" inputColor="1" hue="0" saturation="0" value="98" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO013L2" inputColor="3" hue="4" saturation="66" value="65" alpha="100" />
+ <ChangeableColorInfo id="AO014" inputColor="W" hue="0" saturation="0" value="-78" alpha="100" />
+ <ChangeableColorInfo id="AT012" inputColor="W" hue="0" saturation="0" value="-95" alpha="100" />
+ <ChangeableColorInfo id="AT013" inputColor="3" hue="4" saturation="66" value="65" alpha="100" />
+ <ChangeableColorInfo id="AT0131" inputColor="W" hue="0" saturation="0" value="-95" alpha="100" />
+ <ChangeableColorInfo id="AT0132" inputColor="3" hue="4" saturation="66" value="65" alpha="100" />
+ <ChangeableColorInfo id="B011" inputColor="1" hue="0" saturation="0" value="98" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO012L1" inputColor="K" hue="0" saturation="0" value="12" alpha="100"/>
+ <ChangeableColorInfo id="AO012L2" inputColor="K" hue="0" saturation="0" value="22" alpha="100"/>
+ <ChangeableColorInfo id="AO012L2P" inputColor="K" hue="0" saturation="0" value="9" alpha="100"/>
+ <ChangeableColorInfo id="AO013" inputColor="W" hue="0" saturation="0" value="0" alpha="100"/>
+ </Theme>
+</ChangeableColorTable>
+<ChangeableColorTable num="2">
+ <Theme style="Dark">
+ </Theme>
+ <Theme style="Light">
+ </Theme>
+</ChangeableColorTable>
+<ChangeableColorTable num="3">
+ <Theme style="Dark">
+ </Theme>
+ <Theme style="Light">
+ </Theme>
+</ChangeableColorTable>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<FontInfoTable>
+ <FontInfo id="AT012" style="R" size="32" />
+ <FontInfo id="AT013" style="R" size="36" />
+ <FontInfo id="AT0131" style="R" size="32" />
+ <FontInfo id="AT0132" style="R" size="32" />
+</FontInfoTable>
+++ /dev/null
-Hocheol Seo <hocheol.seo@samsung.com>
-Girish Ashok Joshi <girish.joshi@samsung.com>
-Chanyeol Park <chanyeol.park@samsung.com>
-DoHyun Pyun <dh79.pyun@samsung.com>
+++ /dev/null
-Copyright (c) Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Flora License, Version 1.1.
-Please, see the LICENSE.Flora file for Flora License, Version 1.1 terms and conditions.
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "passwd_popup";
- images {
- image: "00_search_edit_field_bg.png" COMP;
- }
- parts {
- part {
- name: "pad_t";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 0;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;to_x: "pad_r";
- }
- }
- }
- part {
- name: "pad_l";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "pad_r";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.0;
- }
- }
-
- part { name: "label";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "label_space";
- }
- }
- }
-
- part { name: "label_space";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "label";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "entry";
- }
- }
- }
-
- part {
- name: "entry";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "label";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- part {
- name: "pad_b";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 1.0;
- fixed: 1 1;
- rel1 {
- relative: 0.0 1.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- }
- }
- }
-}
-
+++ /dev/null
-# Request
-org.tizen.bt-syspopup ug_bluetooth r
-org.tizen.bt-syspopup system::use_internet r
-org.tizen.bt-syspopup xorg rw
-org.tizen.bt-syspopup isf rwx
-org.tizen.bt-syspopup ail::db rw
-org.tizen.bt-syspopup syspopup::db rwx
-org.tizen.bt-syspopup dbus rw
-org.tizen.bt-syspopup sound_server rw
-org.tizen.bt-syspopup power_manager w
-org.tizen.bt-syspopup immvibed rw
-org.tizen.bt-syspopup svi-data rx
-org.tizen.bt-syspopup ui-gadget::client rw
-org.tizen.bt-syspopup deviced rwx
-org.tizen.bt-syspopup deviced::display rw
-org.tizen.bt-syspopup org.tizen.b2-setup-wizard rw
-org.tizen.bt-syspopup factory-reset rx
-
-org.tizen.bt-syspopup sap x
-org.tizen.bt-syspopup org.tizen.clocksetting rwx
-
-# Permit
-deviced org.tizen.bt-syspopup rwx
-org.tizen.app-tray org.tizen.bt-syspopup rx
-e17 org.tizen.bt-syspopup w
-
-# default include
-org.tizen.bt-syspopup app.default include
-
-org.tizen.bt-syspopup org.tizen.setting::system rxl
-org.tizen.bt-syspopup org.tizen.bt-connection-popup x
+++ /dev/null
-bt-syspopup (0.2.81) unstable; urgency=low
-
- * Update version
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.81
-
- -- InJun Yang <injun.yang@samsung.com> Sat, 20 Apr 2013 11:49:01 +0900
-
-bt-syspopup (0.2.79) unstable; urgency=low
-
- * Add smack rule
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.79
-
- -- InJun Yang <injun.yang@samsung.com> Tue, 19 Mar 2013 11:49:01 +0900
-
-bt-syspopup (0.2.78) unstable; urgency=low
-
- * Tagging and package upload
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.78
-
- -- Chethan T N <chethan.tn@samsung.com> Mon, 18 Feb 2013 09:17:18 +0530
-
-bt-syspopup (0.2.77) unstable; urgency=low
-
- * Fixed passkey reply
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.77
-
- -- Chethan T N <chethan.tn@samsung.com> Thu, 07 Feb 2013 16:56:14 +0530
-
-bt-syspopup (0.2.74) unstable; urgency=low
-
- * Apply the visibility hidden option
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.74
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 05 Feb 2013 19:29:44 +0900
-
-bt-syspopup (0.2.73) unstable; urgency=low
-
- * Apply smack rule
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.73
-
- -- InJun Yang <injun.yang@samsung.com> Mon, 04 Feb 2013 19:06:06 +0900
-
-bt-syspopup (0.2.72) unstable; urgency=low
-
- * Apply smack rule
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.72
-
- -- InJun Yang <injun.yang@samsung.com> Fri, 01 Feb 2013 20:14:04 +0900
-
-bt-syspopup (0.2.71) unstable; urgency=low
-
- * Fix the PLM issue
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.71
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 Jan 2013 18:03:37 +0900
-
-bt-syspopup (0.2.69) unstable; urgency=low
-
- * Fix the PLM issue
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.69
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 20 Dec 2012 15:34:26 +0900
-
-bt-syspopup (0.2.68) unstable; urgency=low
-
- * Disable Quickpanel, and spelling correction
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.68
-
- -- Divya yadav <divya.yadav@samsung.com> Wed, 12 Dec 2012 11:47:55 +0530
-
-bt-syspopup (0.2.66) unstable; urgency=low
-
- * Adjust the popup layout
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.66
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 03 Dec 2012 19:10:29 +0900
-
-bt-syspopup (0.2.65) unstable; urgency=low
-
- * Adjust the popup layout
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.65
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 19 Nov 2012 18:12:20 +0900
-
-bt-syspopup (0.2.64) unstable; urgency=low
-
- * Add the agent proxy information
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.64
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 16 Nov 2012 16:43:02 +0900
-
-bt-syspopup (0.2.63) unstable; urgency=low
-
- * Change the callback function of the overwrite popup
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.63
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 15 Nov 2012 14:24:52 +0900
-
-bt-syspopup (0.2.62) unstable; urgency=low
-
- * Add the popup to access the contact and message
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.62
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 13 Nov 2012 10:41:50 +0900
-
-bt-syspopup (0.2.61) unstable; urgency=low
-
- * Changes for new BT Service agent
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.61
-
- -- Divya yadav <divya.yadav@samsung.com> Sat, 03 Nov 2012 11:15:41 +0530
-
-bt-syspopup (0.2.60) unstable; urgency=low
-
- * Changes for new BT Service agent
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.60
-
- -- Jaganath K <jaganath.k@samsung.com> Fri, 02 Nov 2012 17:05:16 +0530
-
-bt-syspopup (0.2.59) unstable; urgency=low
-
- * Change directory path
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.59
-
- -- InJun Yang <injun.yang@samsung.com> Thu, 25 Oct 2012 13:59:55 +0900
-
-bt-syspopup (0.2.58) unstable; urgency=low
-
- * Copy the license file in target
- * Git: magnolia/apps/home/bt-syspopup
- * Tag: bt-syspopup_0.2.58
-
- -- Jaekyun Lee <jkyun.lee@samsung.com> Thu, 11 Oct 2012 16:07:36 +0900
-
-bt-syspopup (0.2.57) unstable; urgency=low
-
- * Remove the timer
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.57
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 09 Oct 2012 14:31:00 +0900
-
-bt-syspopup (0.2.56) unstable; urgency=low
-
- * Change SMACK domain name
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.56
-
- -- Sangki Park <sangki79.park@samsung.com> Tue, 25 Sep 2012 11:02:08 +0900
-
-bt-syspopup (0.2.55) unstable; urgency=low
-
- * Reupload the package
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.55
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 24 Sep 2012 14:20:38 +0900
-
-bt-syspopup (0.2.54) unstable; urgency=low
-
- * Show the passkey notification popup
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.54
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 21 Sep 2012 20:30:09 +0900
-
-bt-syspopup (0.2.53) unstable; urgency=low
-
- * Apply smack manifest file
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.53
-
- -- Sangki Park <sangki79.park@samsung.com> Fri, 21 Sep 2012 09:25:27 +0900
-
-bt-syspopup (0.2.52) unstable; urgency=low
-
- * Set the transparent in popup UI
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.52
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 17 Sep 2012 14:58:53 +0900
-
-bt-syspopup (0.2.51) unstable; urgency=low
-
- * Change the button theme to popop style
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.51
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 02 Aug 2012 13:49:22 +0900
-
-bt-syspopup (0.2.50) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.50
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 01 Aug 2012 15:48:03 +0900
-
-bt-syspopup (0.2.49) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.49
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Sat, 28 Jul 2012 10:20:27 +0900
-
-bt-syspopup (0.2.48) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.48
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 27 Jul 2012 15:03:06 +0900
-
-bt-syspopup (0.2.47) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.47
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 12 Jun 2012 08:44:35 +0900
-
-bt-syspopup (0.2.46) unstable; urgency=low
-
- * Increase version number for upload.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.46
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Mon, 04 Jun 2012 12:45:57 +0530
-
-bt-syspopup (0.2.45) unstable; urgency=low
-
- * Change the pairing messagef as UX guideline
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.45
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 04 Jun 2012 09:01:59 +0900
-
-bt-syspopup (0.2.44) unstable; urgency=low
-
- * Change the pairing messagef as UX guideline
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.44
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 31 May 2012 15:56:50 +0900
-
-bt-syspopup (0.2.43) unstable; urgency=low
-
- * Covert the pin code input view to popup
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.43
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 29 May 2012 16:12:38 +0900
-
-bt-syspopup (0.2.42) unstable; urgency=low
-
- * Upload packagefor changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.42
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 May 2012 13:26:09 +0900
-
-bt-syspopup (0.2.41) unstable; urgency=low
-
- * Upload package for changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.41
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 May 2012 10:51:08 +0900
-
-bt-syspopup (0.2.40) unstable; urgency=low
-
- * Upload package for changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.40
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 18 May 2012 10:22:03 +0900
-
-bt-syspopup (0.2.39) unstable; urgency=low
-
- * Upload package for changes.
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.39
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Mon, 14 May 2012 16:24:38 +0530
-
-bt-syspopup (0.2.38) unstable; urgency=low
-
- * Remove the codes about the MDM popup
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.38
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 08 May 2012 09:01:38 +0900
-
-bt-syspopup (0.2.37) unstable; urgency=low
-
- * SLP prefix is changed
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.37
-
- -- InJun Yang <injun.yang@samsung.com> Thu, 15 Mar 2012 18:58:24 +0900
-
-bt-syspopup (0.2.36) unstable; urgency=low
-
- * Upload the changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.36
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 15 Mar 2012 11:30:53 +0900
-
-bt-syspopup (0.2.35) unstable; urgency=low
-
- * Upload the changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.35
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 14 Mar 2012 17:05:52 +0900
-
-bt-syspopup (0.2.34) unstable; urgency=low
-
- * Modify and upload for elementary changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.34
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Tue, 13 Mar 2012 17:55:50 +0530
-
-bt-syspopup (0.2.33) unstable; urgency=low
-
- * Upload the changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.33
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 12 Mar 2012 11:15:11 +0900
-
-bt-syspopup (0.2.32) unstable; urgency=low
-
- * Change the code about editfield
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.32
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 29 Feb 2012 15:58:27 +0900
-
-bt-syspopup (0.2.31) unstable; urgency=low
-
- * Apply the winset changes
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.31
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 16 Feb 2012 10:01:12 +0900
-
-bt-syspopup (0.2.30) unstable; urgency=low
-
- * Add the popup for MDM service
- * Git: slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.30
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 01 Feb 2012 09:40:35 +0900
-
-bt-syspopup (0.2.29) unstable; urgency=low
-
- * Remove the package dependency of devman / sysman
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.29
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 06 Dec 2011 16:45:07 +0900
-
-bt-syspopup (0.2.28) unstable; urgency=low
-
- * Add new design ID to support multi-language
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.28
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 Nov 2011 13:37:08 +0900
-
-bt-syspopup (0.2.27) unstable; urgency=low
-
- * Fix the display bug about input view
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.27
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 14 Nov 2011 17:02:17 +0900
-
-bt-syspopup (0.2.26) unstable; urgency=low
-
- * Fix the bug about editfield focus
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.26
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 11 Nov 2011 11:07:09 +0900
-
-bt-syspopup (0.2.25) unstable; urgency=low
-
- * Adjust the position of the naviframe to bottom
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.25
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 09 Nov 2011 09:00:14 +0900
-
-bt-syspopup (0.2.24) unstable; urgency=low
-
- * Change the focus method of editfield as new policy
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.24
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 03 Nov 2011 08:51:42 +0900
-
-bt-syspopup (0.2.23) unstable; urgency=low
-
- * Add the code to display the indicator (H0100135960)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.23
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 27 Oct 2011 11:22:14 +0900
-
-bt-syspopup (0.2.22) unstable; urgency=low
-
- * Remove the deprecated IME API (ecore_imf_context_input_panel_reset)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.22
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 26 Oct 2011 17:31:24 +0900
-
-bt-syspopup (0.2.21) unstable; urgency=low
-
- * Modify the desktop file for Manage applications
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.21
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 24 Oct 2011 11:20:33 +0900
-
-bt-syspopup (0.2.20) unstable; urgency=low
-
- * Add the baselayout size in desktop file
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.20
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 10 Oct 2011 11:14:26 +0900
-
-bt-syspopup (0.2.19) unstable; urgency=low
-
- * Apply the naviframe patch
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.19
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 05 Oct 2011 09:23:35 +0900
-
-bt-syspopup (0.2.18) unstable; urgency=low
-
- * Upload the packages
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.18
-
- -- Chethan T N <chethan.tn@samsung.com> Fri, 30 Sep 2011 18:34:32 +0530
-
-bt-syspopup (0.2.17) unstable; urgency=low
-
- * Remove the dependency of libui-bgimage-dev
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.17
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 29 Sep 2011 08:38:38 +0900
-
-bt-syspopup (0.2.16) unstable; urgency=low
-
- * Upload package for changee
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.16
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 29 Aug 2011 19:23:14 +0900
-
-bt-syspopup (0.2.15) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.15
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 11 Aug 2011 08:29:37 +0900
-
-bt-syspopup (0.2.14) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.14
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 09 Aug 2011 08:29:51 +0900
-
-bt-syspopup (0.2.13) unstable; urgency=low
-
- * Apply the changed layout style & elm_bg
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.13
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 03 Aug 2011 18:42:59 +0900
-
-bt-syspopup (0.2.12) unstable; urgency=low
-
- * Remove the system popup when the remote device cancel the event (H0100131180)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.12
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 01 Aug 2011 08:24:54 +0900
-
-bt-syspopup (0.2.11) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.11
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 21 Jul 2011 11:11:18 +0900
-
-bt-syspopup (0.2.10) unstable; urgency=low
-
- * Upload package for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.10
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Thu, 07 Jul 2011 17:47:11 +0530
-
-bt-syspopup (0.2.9) unstable; urgency=low
-
- * Remove 'ReplyPinCode' event when the timeout occured about keyboard. (H0100129046)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.9
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 30 Jun 2011 11:43:31 +0900
-
-bt-syspopup (0.2.8) unstable; urgency=low
-
- * Change the button align to center
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.8
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 29 Jun 2011 14:56:34 +0900
-
-bt-syspopup (0.2.7) unstable; urgency=low
-
- * Apply the landscape mode
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.7
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 10 Jun 2011 11:50:13 +0900
-
-bt-syspopup (0.2.6) unstable; urgency=low
-
- * Upload packages for changes
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.6
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Thu, 09 Jun 2011 15:05:15 +0530
-
-bt-syspopup (0.2.5) unstable; urgency=low
-
- * Add the icon in navigation bar (Defect H0100127548)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.5
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 31 May 2011 16:08:49 +0900
-
-bt-syspopup (0.2.4) unstable; urgency=low
-
- * Add the dbus name to broadcast the dbus message
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.4
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 25 May 2011 17:24:31 +0900
-
-bt-syspopup (0.2.3) unstable; urgency=low
-
- * Replace the dialogue group API to genlist dialogue group
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.3
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 16 May 2011 09:54:35 +0900
-
-bt-syspopup (0.2.2) unstable; urgency=low
-
- * Show the ticker noti when the file recieved (Defect H0100126544)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.2
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 13 May 2011 17:27:36 +0900
-
-bt-syspopup (0.2.1) unstable; urgency=low
-
- * Upload package for changes.
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.1
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Mon, 09 May 2011 17:03:49 +0530
-
-bt-syspopup (0.2.0) unstable; urgency=low
-
- * Release ug-obexd init dpkg
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.2.0
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 27 Apr 2011 18:25:30 +0900
-
-bt-syspopup (0.1.14) unstable; urgency=low
-
- * Change package name
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: bt-syspopup_0.1.14
-
- -- InJun Yang <injun.yang@samsung.com> Mon, 11 Apr 2011 20:53:33 +0900
-
-deb.com.samsung.bt-syspopup (0.1.13) unstable; urgency=low
-
- * Add the dependency of the development package about dbus-glib-1 and gobject-2.0 in control file
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.13
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 07 Apr 2011 16:49:40 +0900
-
-deb.com.samsung.bt-syspopup (0.1.12) unstable; urgency=low
-
- * Remove dependency of the imlib package
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.12
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 29 Mar 2011 20:20:03 +0900
-
-deb.com.samsung.bt-syspopup (0.1.11) unstable; urgency=low
-
- * Apply N-beat UX
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.11
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 22 Mar 2011 16:56:59 +0900
-
-deb.com.samsung.bt-syspopup (0.1.10) unstable; urgency=low
-
- * New popup for applcation usage.
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.10
-
- -- Sunil Kumar Behera <sunil.behera@samsung.com> Fri, 25 Feb 2011 12:29:26 +0530
-
-deb.com.samsung.bt-syspopup (0.1.9) unstable; urgency=low
-
- * Remove the unnecessary NULL pointer check
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.9
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 21 Feb 2011 20:44:00 +0900
-
-deb.com.samsung.bt-syspopup (0.1.8) unstable; urgency=low
-
- * Corrected IME appearance
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.8
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 18 Feb 2011 18:50:52 +0900
-
-deb.com.samsung.bt-syspopup (0.1.7) unstable; urgency=low
-
- * Modify the desktop path to intall
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.7
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Thu, 17 Feb 2011 19:17:32 +0900
-
-deb.com.samsung.bt-syspopup (0.1.6) unstable; urgency=low
-
- * Change the desktop path to install, name of the icon
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.6
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 14 Feb 2011 17:09:22 +0900
-
-deb.com.samsung.bt-syspopup (0.1.5) unstable; urgency=low
-
- * hide bt-syspopup in task manager
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.5
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 08 Feb 2011 15:16:03 +0900
-
-deb.com.samsung.bt-syspopup (0.1.4) unstable; urgency=low
-
- * Fix the build break (libslp-pm-dev)
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.4
-
- -- Hyeongbae Park <jupio.park@samsung.com> Mon, 07 Feb 2011 18:02:00 +0900
-
-deb.com.samsung.bt-syspopup (0.1.3) unstable; urgency=low
-
- * Fix the BS when try to pair with the Arabic name's device
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.3
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Mon, 07 Feb 2011 11:26:00 +0900
-
-deb.com.samsung.bt-syspopup (0.1.2) unstable; urgency=low
-
- * Add the code to avoid the BS
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.2
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Wed, 19 Jan 2011 20:33:48 +0900
-
-deb.com.samsung.bt-syspopup (0.1.1) unstable; urgency=low
-
- * Show the IME after displaying the main layout
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.1
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Fri, 07 Jan 2011 13:50:37 +0900
-
-deb.com.samsung.bt-syspopup (0.1.0) unstable; urgency=low
-
- * Initial Release.
- * Git: 165.213.180.234:slp/pkgs/b/bt-syspopup
- * Tag: deb.com.samsung.bt-syspopup_0.1.0
-
- -- DoHyun Pyun <dh79.pyun@samsung.com> Tue, 28 Dec 2010 16:31:28 +0900
+++ /dev/null
-Source: bt-syspopup
-Section: main
-Priority: extra
-Maintainer: Hocheol Seo <hocheol.seo@samsung.com>, DoHyun Pyun <dh79.pyun@samsung.com>, InJun Yang <injun.yang@samsung.com>, Chanyeol Park <chanyeol.park@samsung.com>
-Uploaders: Sunil Behera <sunil.behera@samsung.com>, Syam Sidhardhan <s.syam@samsung.com>
-Build-Depends: debhelper (>= 5),libevas-dev,libecore-dev,libethumb-dev,libelm-dev,libefreet-dev, libslp-sensor-dev,libappcore-efl-dev,libdevman-dev, libslp-utilx-dev, syspopup-dev, dlog-dev, libslp-pm-dev, libdbus-glib-1-dev, libglib2.0-dev, libaul-1-dev
-Standards-Version: 0.1.0
-
-Package: org.tizen.bt-syspopup
-Section: main
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libslp-utilx-0, libdlog-0
-Description: bluetooth system-popup application (bluetooth system popup)
-
-Package: org.tizen.bt-syspopup-dbg
-Section: debug
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: bluetooth system-popup application (unstripped)
+++ /dev/null
-/opt/apps/org.tizen.bt-syspopup/bin/bt-syspopup
-/opt/share/icons/*
-/opt/share/process-info/bt-syspopup.ini
+++ /dev/null
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-PREFIX ?= /opt/apps/org.tizen.bluetooth
-CFLAGS ?= -Wall -g
-CXXFLAGS ?= -Wall -g
-LDFLAGS ?=
-DATADIR ?= /opt
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0
- CXXFLAGS += -O0
-else
- CFLAGS += -O2
- CXXFLAGS += -O2
-endif
-
-LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed
-
-#CMAKE_TMP_DIR = $(CURDIR)/cmake_tmp
-
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- # Add here commands to configure the package.
-# mkdir -p $(CMAKE_TMP_DIR);
- CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" cmake . -DCMAKE_INSTALL_PREFIX=$(PREFIX)
-
- touch configure-stamp
-
-build: build-stamp
-
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- $(MAKE)
- #docbook-to-man debian/wavplayer.sgml > wavplayer.1
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- cat $$f > $${f%.in}; \
- sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
- sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
- done
-
-
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- -$(MAKE) clean
- #rm -rf $(CMAKE_TMP_DIR)
-
- for f in `find $(CURDIR)/ -name "CMakeCache.txt"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "CMakeFiles"`; do \
- rm -rf $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "cmake_install.cmake"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "Makefile"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/ -name "install_manifest.txt"`; do \
- rm -f $${f}; \
- done
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- rm -f $${f%.in}; \
- done
- rm -f data/*.desktop
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/wavplayer.
- $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
-# dh_installchangelogs
-# dh_installdocs
-# dh_installexamples
- dh_install --sourcedir=debian/tmp
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_python
-# dh_installinit
-# dh_installcron
-# dh_installinfo
-# dh_installman
- dh_link
- dh_strip --dbg-package=org.tizen.bt-syspopup-dbg
- dh_compress
- dh_fixperms
-# dh_perl
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure