tizen 2.3 release
[apps/home/settings.git] / setting-syspopup / include / mode-syspopup.h
1 /*
2  * mode-syspopup
3  *
4  * Copyright 2012  Samsung Electronics Co., Ltd
5  *
6  * Licensed under the Flora License, Version 1.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.tizenopensource.org/license
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 #ifndef _MODE_SYSPOPUP_APP_H__
21 #define _MODE_SYSPOPUP_APP_H__
22
23 #include <Evas.h>
24 #include <Elementary.h>
25 #include <ui-gadget.h>
26 #include <ui-gadget-module.h>
27 #include <dlog.h>
28 #include <app.h>
29 #include <app_preference.h>
30 #include <notification.h>
31 #include <vconf.h>
32 #include <vconf-keys.h>
33 #include <app.h>
34 //#include <libhelpui.h>
35 #include <util.h>
36 #include <tts.h>
37
38 #define REBOOT_METHOD_FROM_SHELL 1
39 #define LCD_FREQ_CTRL 0
40
41 typedef void (*_cb_func) (void *data, Evas_Object *obj, void *event_info);
42 //domain for notification
43 #define SETTING_PACKAGE         "setting"
44 #define SETTING_LOCALEDIR               "/usr/apps/org.tizen.setting/res/locale"
45 #define SYSTEM_PACKAGE                  "sys_string"
46
47 #define MODE_SYSPOPUP_PACKAGE                  "mode-syspopup"
48 #define MODE_SYSPOPUP_LOCALEDIR                "/usr/apps/org.tizen.mode-syspopup/res/locale"
49
50 #ifdef _(s)
51 #undef _(s)
52 #define _(s)                    modesyspopup_gettext(s)
53 #endif
54
55 //dbus for lcd freq control
56 #define BUS_NAME                                "org.tizen.system.deviced"
57 #define INTERFACE_NAME                  BUS_NAME
58 #define OBJECT_PATH                             "/Org/Tizen/System/DeviceD"
59 #define DEVICED_PATH_DISPLAY            OBJECT_PATH"/Display"
60 #define DEVICED_INTERFACE_DISPLAY INTERFACE_NAME".display"
61 #define METHOD_NAME                             "SetRefreshRate"
62 #define DBUS_REPLY_TIMEOUT              (120 * 1000)
63 #define LCD_FRQ_CONTROL_OFF             60
64 #define LCD_FRQ_CONTROL_ON              40
65
66
67 #define PROGRESSBAR_STYLE "process_large"
68 #define POPUP_EDJ               "/usr/apps/org.tizen.mode-syspopup/res/edje/popup-custom.edj"
69 #define MODE_POPUP_EDJ  "/usr/apps/org.tizen.mode-syspopup/res/edje/mode-syspopup.edj"
70 #define UPMS_EDJ                "/usr/apps/org.tizen.mode-syspopup/res/edje/ultra-popup.edj"
71
72 #define DEFAULT_BG_PATH "/opt/share/settings/Wallpapers/Home_default.jpg"
73 #define EMERGENCY_UIKEY "file/private/org.tizen.emergency-home/mode"
74
75 //power saving text
76 #define KeyStr_Off "IDS_COM_BODY_OFF_M_STATUS"
77 #define KeyStr_PowerSaving_Mode "IDS_ST_OPT_CUSTOM_MODE_ABB"
78 #define KeyStr_Enable_custom_Mode "IDS_ST_OPT_CUSTOM_MODE_ABB"
79 #define KeyStr_Enable_emergency_Mode "IDS_ST_BODY_EMERGENCY_MODE_ABB"
80 #define KeyStr_Survivor_Mode "IDS_ST_BODY_EMERGENCY_MODE_ABB"
81 #define KeyStr_Emergency_off_Mode_POP_DESC "IDS_ST_POP_EMERGENCY_MODE_WILL_BE_DISABLED"
82 #define KeyStr_Ultra_off_Mode_POP_DESC "IDS_ST_POP_ULTRA_POWER_SAVING_MODE_WILL_BE_DISABLED"    //"IDS_ST_POP_EMERGENCY_MODE_WILL_BE_DISABLED"
83 #define KeyStr_powersaving_Mode_POP_DESC "IDS_ST_BODY_SAVES_POWER_BY_LIMITING_THE_MAXIMUM_PERFORMANCE_OF_THE_DEVICE"
84 #define KeyStr_Survivor_Mode_POP_DESC "IDS_ST_POP_EMERGENCY_MODE_SAVES_BATTERY_POWER_BY_C_MSG"
85 #define KeyStr_Loading                          "IDS_ST_BODY_DISABLING_ING"
86
87 //blockingmode text
88 #define KeyStr_Blocking_Mode_POP_DESC "IDS_ST_BODY_TO_ENABLE_BLOCKING_MODE_ENABLE_AT_LEAST_ONE_OPTION"
89
90 #define SETTING_ICON_PATH_CFG   "/usr/apps/org.tizen.setting/res/icons/"
91
92 #define MODE_SYSTEM_POPUP_TYPE "_MODE_SYSTEM_POPUP_TYPE_" //bundle type
93 #define MODE_SYSTEM_POPUP_EMERGENCY "POPUP_EMERGENCY_PSMODE"
94 #define MODE_SYSTEM_POPUP_ULTRA "POPUP_ULTRA_PSMODE"
95 #define MODE_SYSTEM_POPUP_POWERFUL "POPUP_POWERFUL_PSMODE"
96 #define MODE_SYSTEM_POPUP_NORMAL "POPUP_NORMAL_PSMODE"
97 #define MODE_SYSTEM_POPUP_NORMAL_SETTING "POPUP_NORMAL_SETTING"
98 #define MODE_SYSTEM_POPUP_BACKUP_SETTING "POPUP_BACKUP_SETTING"
99 #define MODE_SYSTEM_POPUP_EMERGENCY_SETTING "POPUP_EMERGENCY_PSMODE_SETTING"
100 #define MODE_SYSTEM_POPUP_EMERGENCY_SAFETY "POPUP_EMERGENCY_PSMODE_SAFETY"
101 #define MODE_SYSTEM_POPUP_POWERFUL_SETTING "POPUP_POWERFUL_PSMODE_SETTING"
102 #define MODE_SYSTEM_POPUP_REMOVE_FLAG "POPUP_PSMODE_REMOVE_FLAG"
103
104 //Help text
105 #define MODE_SYSTEM_POPUP_MSG "IDS_ST_POP_TAP_OK"
106
107 //blockingmode
108 #define keystr_Blockingmode                     "IDS_ST_BODY_BLOCKING_MODE"
109 #define MODE_SYSTEM_POPUP_BLOCKINGMODE_ON "MODE_SYSTEM_BLOCKINGMODE_ON"
110 #define MODE_SYSTEM_POPUP_BLOCKINGMODE_OFF "MODE_SYSTEM_BLOCKINGMODE_OFF"
111 #define PKG_BLOCKING_MODE "setting-blockingmode-efl"
112 #define IMG_BlockingMode                SETTING_ICON_PATH_CFG"settings_block.png"
113 #define INDI_IMG_BlockingMode   SETTING_ICON_PATH_CFG"B03_event_blocking_mode.png"
114
115 //drivingmode
116 #define MODE_SYSTEM_POPUP_DRIVINGMODE_ON "MODE_SYSTEM_DRIVINGMODE_ON"
117 #define MODE_SYSTEM_POPUP_DRIVINGMODE_OFF "MODE_SYSTEM_DRIVINGMODE_OFF"
118 #define PKG_DRIVING_MODE "setting-drivingmode-efl"
119 #define IMG_DrivingMode                 SETTING_ICON_PATH_CFG"settings_hands_freemode.png"
120 #define INDI_IMG_DrivingMode    SETTING_ICON_PATH_CFG"settings_hands_freemode_indicator.png"
121
122 //firewall
123 #define PKG_FIREWALL "setting-firewall-efl"
124 #define IMG_Firewall                            SETTING_ICON_PATH_CFG"noti_firewall_activated.png"
125 #define INDI_IMG_Firewall               SETTING_ICON_PATH_CFG"noti_firewall_activated_indicator.png"
126
127 #define VIB_FEEDBACK_RATE       20
128 #define DEFAULT_NOTI_PREVIEW_VIB                        "/opt/share/settings/Vibrations/message.ivt"
129 #define DEFAULT_HAPTIC_PREVIEW_VIB              "/opt/share/settings/Vibrations/touch.ivt"
130 #define VCONF_HOMESCREEN_PATH "db/menu_widget/bgset"
131 #define VCONF_LOCKSCREEN_PATH "db/idle_lock/bgset"
132 #define SETTING_IMAGE_PATH_CFG  "/usr/apps/org.tizen.setting/res/images/"
133 #define HOMESCREEN_FILE SETTING_IMAGE_PATH_CFG"Long_life_bg_home_720.png"
134 #define LOCKSCREEN_FILE SETTING_IMAGE_PATH_CFG"Long_life_bg_lock_720.png"
135 #define PKG_EMERGENCY "org.tizen.emergency-home"
136 #define PKG_EASYHOME "org.tizen.easy-home"
137 #define PKG_CLUSTERHOME "org.tizen.homescreen"
138 #define VCONF_PKG_PATH "db/setting/menuscreen/package_name"
139
140 #define PREFKEY_SAVINGPOWER_BACKUP_FIRST_PWR "setting/savingpower_back/first"   //int
141 #define PREFKEY_SAVINGPOWER_BACKUP_PSMODE "setting/savingpower_back/psmode"     //int
142
143 //normal
144 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_WIFI "setting/savingpower_normal/wifi"                                //int
145 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_BT "setting/savingpower_normal/bt"                                    //int
146 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_GPS "setting/savingpower_normal/gps"                          //bool
147 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_3G "setting/savingpower_normal/3g"                                    //bool
148 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_MOTION "setting/savingpower_normal/motion"                    //bool
149 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_AUTO_BRIGHT "setting/savingpower_normal/auto_bright"                  //bool
150 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_BRIGHT "setting/savingpower_normal/bright"                    //int
151 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_TIMEOUT "setting/savingpower_normal/timeout"          //int
152 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_NOTI "setting/savingpower_normal/noti"                                //int
153 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_HAPTIC "setting/savingpower_normal/haptic"                    //int
154 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_HAPTIC_FEEDBACK "setting/savingpower_normal/haptic"                   //bool
155 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_AUTO_ROTATE "setting/savingpower_normal/auto_rotate"                  //int
156 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_SMART_SCREEN "setting/savingpower_normal/smart_screen"                        //int
157 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_SMART_ROTATE "setting/savingpower_normal/smart_rotate"                        //int
158 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_CPU_PERF "setting/savingpower_normal/cpu_perf"                        //int
159 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_PKG_HOME "setting/savingpower_normal/pkg_home"                        //str
160 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_LAUNCH_EFFECT "setting/savingpower_normal/launch_effect"      //int
161 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_FAKE_EFFECT "setting/savingpower_normal/fake_effect"  //int
162 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_HOMESCREEN_PATH "setting/savingpower_normal/home_path"
163 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_LOCKSCREEN_PATH "setting/savingpower_normal/lock_path"
164 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_LCD_FREQ_CONTROL "setting/savingpower_normal/lcd_freq_control"
165 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_GRAYTONE "setting/savingpower_normal/win_gray"                        //int
166 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_FPS "setting/savingpower_normal/win_fps"                      //int
167 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_TOUCH_KEY_LIGHT "setting/savingpower_normal/touch_key_light"                  //int
168
169 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_LED_INDICATOR_NOTI "setting/savingpower_normal/led_indicator_noti"                    //int
170 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_BATTERY_PERCENTAGE "setting/savingpower_normal/battery_percent"                       //int
171 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_VOICE_CONTROL "setting/savingpower_normal/voice_ctrl"                 //int
172 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_MULTIWINDOW "setting/savingpower_normal/multi_window"                 //int
173 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_HANDS_FREE_MODE "setting/savingpower_normal/hands_free"                       //int
174 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_BLOCKING_MODE "setting/savingpower_normal/blocking_mode"                      //int
175 #define PREFKEY_SAVINGPOWER_NORMAL_BACKUP_NET_RESRICT_MODE "setting/savingpower_normal/net_restrict"                    //int
176
177
178 //power
179 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_HAPTIC "setting/savingpower_power/haptic"                      //int
180 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_HAPTIC_FEEDBACK "setting/savingpower_power/haptic"                     //bool
181 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_LAUNCH_EFFECT "setting/savingpower_power/launch_effect"        //int
182 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_GPS "setting/savingpower_power/gps"                            //bool
183 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_BRIGHT "setting/savingpower_power/bright"                      //int
184 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_AUTO_BRIGHT "setting/savingpower_power/auto_bright"                    //bool
185 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_AUTO_ROTATE "setting/savingpower_power/auto_rotate"                    //int
186 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_TIMEOUT "setting/savingpower_power/timeout"            //int
187 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_SMART_SCREEN "setting/savingpower_power/smart_screen"                  //int
188 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_SMART_ROTATE "setting/savingpower_power/smart_rotate"                  //int
189 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_TOUCH_KEY_LIGHT "setting/savingpower_power/touch_key_light"                    //int
190 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_GRAYTONE "setting/savingpower_power/win_gray"                  //int
191 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_CPU_PERF "setting/savingpower_power/cpu_perf"                  //int
192 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_FPS "setting/savingpower_power/win_fps"                        //int
193 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_PKG_HOME "setting/savingpower_power/pkg_home"                  //str
194 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_HOMESCREEN_PATH "setting/savingpower_power/home_path"
195 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_LOCKSCREEN_PATH "setting/savingpower_power/lock_path"
196 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_TOUCH_KEY_LIGHT "setting/savingpower_power/touch_key_light"                    //int
197
198 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_LED_INDICATOR_NOTI "setting/savingpower_power/led_indicator_noti"                      //int
199 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_BATTERY_PERCENTAGE "setting/savingpower_power/battery_percent"                 //int
200 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_VOICE_CONTROL "setting/savingpower_power/voice_ctrl"                   //int
201 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_MULTIWINDOW "setting/savingpower_power/multi_window"                   //int
202 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_HANDS_FREE_MODE "setting/savingpower_power/hands_free"                 //int
203 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_BLOCKING_MODE "setting/savingpower_power/blocking_mode"                        //int
204 #define PREFKEY_SAVINGPOWER_POWER_BACKUP_NET_RESRICT_MODE "setting/savingpower_power/net_restrict"                      //int
205
206
207
208
209 // network restriction mode
210 #define MODE_SYSTEM_POPUP_NETRESTRICTIONMODE_CHANGE "MODE_SYSTEM_NETRESTRICTIONMODE_CHANGE"
211 //flight mode
212 #define MODE_SYSTEM_POPUP_FLIGHTMODE_ON "MODE_SYSTEM_FLIGHTMODE_ON"
213 #define MODE_SYSTEM_POPUP_FLIGHTMODE_OFF "MODE_SYSTEM_FLIGHTMODE_OFF"
214 #define KeyStr_Fligtmode_Popup_On_Text "IDS_ST_BODY_FLIGHT_MODE_MSG"
215 #define KeyStr_Fligtmode_Popup_Off_Text "IDS_COM_POP_FLIGHT_MODE_WILL_BE_DISABLED"
216 #define KeyStr_Fligtmode_Popup_Title "IDS_ST_BODY_FLIGHT_MODE"
217 //mobile data
218 #define MODE_SYSTEM_POPUP_MOBILEDATA_ON "MODE_SYSTEM_MOBILEDATA_ON"
219 #define MODE_SYSTEM_POPUP_MOBILEDATA_OFF "MODE_SYSTEM_MOBILEDATA_OFF"
220 #define KeyStr_MOBILEDATA_Popup_On_Text "IDS_ST_BODY_FLIGHT_MODE_MSG"
221 #define KeyStr_MOBILEDATA_Popup_Off_Text "IDS_QP_POP_YOU_WILL_NO_LONGER_BE_ABLE_TO_USE_APPLICATIONS_NOTI_MSG"
222 #define KeyStr_DO_NOT_ASK_AGAIN "IDS_ST_POP_DO_NOT_ASK_AGAIN"
223 #define SETTING_NETWORK_DOT "IDS_WIFI_BODY_DOT"
224 #define Data_packet_Popup_desc "IDS_ST_POP_MOBILE_DATA_ENABLED_CONNECTING_TO_MOBILE_NETWORKS_MAY_INCUR_EXTRA_CHARGES_DEPENDING_ON_YOUR_DATA_PLAN_CONTINUE_Q"
225 #define SETTING_NETWORK_CONTINUE "IDS_COM_OPT_CONTINUE_Q"
226
227 #define KeyStr_Survivor_Mode_POP_DESC1 "IDS_ST_BODY_CHANGING_THE_COLOUR_OF_THE_SCREEN_TO_GREYSCALE"
228 #define KeyStr_Survivor_Mode_POP_DESC2 "IDS_ST_BODY_RESTRICTING_APPLICATION_USAGE_TO_ONLY_ESSENTIAL_APPLICATIONS_AND_THOSE_SELECTED_BY_YOU"
229 #define KeyStr_Survivor_Mode_POP_DESC3 "IDS_ST_BODY_TURNING_OFF_MOBILE_DATA_WHEN_THE_SCREEN_IS_OFF"
230 #define KeyStr_Survivor_Mode_POP_DESC4 "IDS_ST_BODY_TURNING_OFF_CONNECTIVITY_FEATURES_SUCH_AS_WI_FI_AND_BLUETOOTH"
231
232 #define DATA_KEY_RUNNING_LIST "ra_pid_l"
233 #define DATA_KEY_HISTORY_LIST "hi_l"
234
235 typedef enum {
236         HELP_NONE = 0,
237         HELP_PS_MODE,
238         HELP_EM_MODE,
239 } help_type_t;
240
241 struct appdata
242 {
243         ui_gadget_h ug;
244
245         Evas_Object *win;
246         Evas_Object *bg;
247         Evas_Object *ly_main;
248         Evas_Object *popup;
249         Evas_Object *popup_chk;
250         Evas_Object *disable_popup;
251         Evas_Object *enable_popup;
252         Evas_Object *timeout_lay;
253         int is_ok;
254
255         bundle *b;
256         char *type;
257         int is_lcd_ctrl;
258
259         //for reading text
260         tts_h tts;
261         Ecore_Timer *play_timer;
262
263         //for help
264         Evas_Object *help_circle;
265         Evas_Object *help_popup;
266         Ecore_Timer *help_timer;
267         Ecore_Timer *lcd_freq_timer;
268         help_type_t *help_type;
269         Evas_Object *help_eo;
270
271         int noti_id;
272         int all_day, call, noti, alarmNtimer, led;
273         int b_call, b_noti, b_alarmNtimer, b_led;
274         int start_h,start_m,end_h,end_m;
275         int in_range;
276         int timeoutCnt;
277     /* add more variables here */
278 };
279
280 char* mode_syspopup_gettext(const char *s);
281
282 #define _(s)    mode_syspopup_gettext(s)
283
284 #endif /* _MODE_SYSPOPUP_APP_H__ */