Added functionality to softkey icon for softkey-container 66/234466/3
authordivyanshugautam17 <divyanshu.gm@samsung.com>
Tue, 26 May 2020 14:39:35 +0000 (20:09 +0530)
committerdivyanshugautam17 <divyanshu.gm@samsung.com>
Wed, 27 May 2020 04:38:29 +0000 (10:08 +0530)
Change-Id: I3c4da4598e7899cb7cf8ddc162e0b5691630429e

.tproject
project_def.prop
res/images/notification_list_bg.png [new file with mode: 0755]
src/settings/modules/softkey.c
tizen-manifest.xml

index 468a8344f3f958decf4dac574e37f96713cc9e93..a1f14e64ad7fa2e340986d6a8a26614c86cc4a0e 100755 (executable)
--- a/.tproject
+++ b/.tproject
@@ -2,7 +2,7 @@
 <tproject xmlns="http://www.tizen.org/tproject">
     <platforms>
         <platform>
-            <name>mobile-4.0</name>
+            <name>iot-headed-5.5</name>
         </platform>
     </platforms>
     <package>
index 7a2489d71da9eb1edfab0545675081d11cc502a3..de778362ff0f2bfbdc55838b418d94dcb76362b7 100755 (executable)
@@ -6,7 +6,7 @@ APPNAME = quickpanel
 type = app
 
 # Project Profile
-profile = mobile-4.0
+profile = iot-headed-5.5
 
 # C/CPP Sources
 USER_SRCS = src/notifications/noti_win.c src/settings/modules/softkey.c src/settings/settings_icon_common.c src/device/brightness.c src/device/volume.c src/common.c src/notifications/noti_listbox.c src/settings/modules/sound-profile.c src/notifications/animated_image.c src/notifications/noti_util.c src/vi/vi_manager.c src/notifications/noti_section.c src/service/keyboard.c src/settings/settings_gridbox.c src/settings/modules/more-settings.c src/voice_control.c src/datetime/datetime.c src/sim_controller.c src/service/animated_icon.c src/settings/modules/dnd.c src/service/reminder.c src/preference.c src/accessibility.c src/notifications/noti_view_listype.c src/settings/setting_module_api.c src/notifications/noti_list_item.c src/notifications/noti_node.c src/common_uic.c src/datetime/util-time.c src/handler_controller.c src/settings/modules/wifi.c src/list_util.c src/notifications/noti_view.c src/settings/setting_utils.c src/quickpanel-ui.c src/service/noti_led.c src/settings/modules/bluetooth.c src/page/pager_common.c src/minictrl/minictrl.c src/service/uninstall.c src/service/emergency_mode.c src/page/page_base.c src/page/pager.c src/settings/settings.c src/modules.c src/media.c src/settings/settings_view_featured.c src/notifications/activenoti.c src/notifications/noti_view_ongoing.c src/notifications/noti.c 
diff --git a/res/images/notification_list_bg.png b/res/images/notification_list_bg.png
new file mode 100755 (executable)
index 0000000..41bdeea
Binary files /dev/null and b/res/images/notification_list_bg.png differ
index a5afc2086789a3c4a6097d3bb8a4730eef47baf7..0d8d3da87eb812355b8ce629eb86731f00997be4 100755 (executable)
  * limitations under the License.\r
  */\r
 \r
-\r
 #include <Elementary.h>\r
 \r
 #include <vconf.h>\r
-#include <system_settings.h>\r
-#include <bundle_internal.h>\r
 #include <tzsh.h>\r
 #include <tzsh_quickpanel_service.h>\r
 \r
@@ -64,11 +61,12 @@ static void _long_press_cb(void *data)
        if (quickpanel_setting_module_is_immediate_actionable(module, QP_SETTING_ICON_LONGPRESSED) == false)\r
                return;\r
 \r
-       quickpanel_setting_icon_handler_longpress(module->setting_pkgname, "viewtype", "main");\r
+       quickpanel_setting_icon_handler_longpress(module->setting_pkgname, NULL, NULL);\r
 }\r
 \r
 static void _view_update(Evas_Object *view, int state, int flag_extra_1, int flag_extra_2)\r
 {\r
+       DBG(">>> view_update , state = %d",state);\r
        Evas_Object *image = NULL;\r
        const char *icon_path = NULL;\r
 \r
@@ -96,59 +94,62 @@ static void _view_update(Evas_Object *view, int state, int flag_extra_1, int fla
 \r
 static void _status_update(QP_Module_Setting *module, int flag_extra_1, int flag_extra_2)\r
 {\r
+       DBG(">>>> _status_update <<<");\r
        int ret = 0;\r
-       bool status = false;\r
+       bool status = 0;\r
        retif(module == NULL, , "Invalid parameter!");\r
 \r
-       ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, &status);\r
-       msgif(ret !=  SYSTEM_SETTINGS_ERROR_NONE , "failed to notify key SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO : %d", ret);\r
-\r
-       if (status == true)\r
+       quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);\r
+       quickpanel_setting_module_icon_timer_del(module);\r
+       ret = vconf_get_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, &status);\r
+       msgif(ret != 0, "fail to get VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL:%d", ret);\r
+       DBG(">>>> status == %s <<<",status == true ? "TRUE" : "FALSE");\r
+       if (status == true) {\r
                quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_ON);\r
-       else\r
+       }\r
+       else {\r
                quickpanel_setting_module_icon_state_set(module, ICON_VIEW_STATE_OFF);\r
-\r
-\r
-       quickpanel_setting_module_icon_view_update(module, quickpanel_setting_module_icon_state_get(module), FLAG_VALUE_VOID);\r
+       }\r
+       quickpanel_setting_module_icon_view_update(module,\r
+                       quickpanel_setting_module_icon_state_get(module),\r
+                       FLAG_VALUE_VOID);\r
 }\r
 \r
-static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)\r
+static void _state_change(QP_Module_Setting *module)\r
 {\r
-       /*\r
        int ret = 0;\r
-       bool status = false;\r
-\r
-       ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, &status);\r
-       msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO : %d", ret);\r
-\r
-       ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, !status);\r
-       msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO : %d", ret);\r
-       */\r
-       quickpanel_common_launch_app("org.tizen.setting" ,NULL);\r
+       bool enable = 0;\r
+       DBG(">>> Entered state_change");\r
+       Eina_Bool state =  quickpanel_setting_module_icon_state_get(module);\r
+       DBG(">>>> _state_change , state value = %s <<<", state == false ? "FALSE" : "TRUE");\r
+       /*ret = vconf_set_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, !state);\r
+       msgif(ret != 0, "failed set VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL:%d", ret);*/\r
+       /* new vconf_key for softkey-container will replace the above commneted code */\r
+       ret = vconf_get_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, &state);\r
+       msgif(ret != 0, "fail to get VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL:%d", ret);\r
+       DBG("softkey check value = %s", state == false ? "FALSE" : "TRUE");\r
+       DBG(">>> END");\r
 }\r
 \r
-static void _autorotation_vconf_cb(system_settings_key_e key, void *data)\r
+static void _mouse_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)\r
 {\r
+       QP_Module_Setting *module = (QP_Module_Setting *)data;\r
+\r
+       retif(module == NULL, , "Invalid parameter!");\r
+       DBG(">>> calling state_change <<<");\r
+       _state_change(module);\r
        _status_update(data, FLAG_VALUE_VOID, FLAG_VALUE_VOID);\r
 }\r
 \r
 static int _register_module_event_handler(void *data)\r
 {\r
        int ret = 0;\r
-\r
-       ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, _autorotation_vconf_cb, data);\r
-       msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to notify key(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO) : %d", ret);\r
-\r
        return QP_OK;\r
 }\r
 \r
 static int _unregister_module_event_handler(void *data)\r
 {\r
        int ret = 0;\r
-\r
-       ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO);\r
-       msgif(ret != SYSTEM_SETTINGS_ERROR_NONE, "failed to ignore key(SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO) : %d", ret);\r
-\r
        return QP_OK;\r
 }\r
 \r
@@ -191,9 +192,111 @@ static void _refresh(void *data)
        quickpanel_setting_module_icon_view_update_text(module);\r
 }\r
 \r
+static void _reset_icon(QP_Module_Setting *module)\r
+{\r
+       retif(module == NULL, , "Invalid parameter!");\r
+\r
+       quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_VALUE_VOID);\r
+       _status_update(module, FLAG_VALUE_VOID, FLAG_VALUE_VOID);\r
+}\r
+\r
+static void _handler_on(void *data)\r
+{\r
+       QP_Module_Setting *module = (QP_Module_Setting *)data;\r
+       retif(module == NULL, , "Invalid parameter!");\r
+\r
+       quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);\r
+       quickpanel_setting_module_icon_timer_del(module);\r
+\r
+       if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_OFF) {\r
+               quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_ON);\r
+               quickpanel_setting_module_icon_timer_add(module);\r
+       } else {\r
+               ERR("the button is already turned on");\r
+               _reset_icon(module);\r
+       }\r
+}\r
+\r
+static void _handler_off(void *data)\r
+{\r
+       QP_Module_Setting *module = (QP_Module_Setting *)data;\r
+       retif(module == NULL, , "Invalid parameter!");\r
+\r
+       quickpanel_setting_module_progress_mode_set(module, FLAG_DISABLE, FLAG_TURN_OFF);\r
+       quickpanel_setting_module_icon_timer_del(module);\r
+\r
+       if (quickpanel_setting_module_icon_state_get(module) == ICON_VIEW_STATE_ON) {\r
+               quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_TURN_OFF);\r
+               quickpanel_setting_module_icon_timer_add(module);\r
+       } else {\r
+               ERR("the button is already turned off");\r
+               _reset_icon(module);\r
+       }\r
+}\r
+\r
+static void _handler_progress_on(void *data)\r
+{\r
+       QP_Module_Setting *module = (QP_Module_Setting *)data;\r
+       retif(module == NULL, , "Invalid parameter!");\r
+\r
+       quickpanel_setting_module_progress_mode_set(module, FLAG_ENABLE, FLAG_VALUE_VOID);\r
+}\r
+\r
+static void _handler_progress_off(void *data)\r
+{\r
+       QP_Module_Setting *module = (QP_Module_Setting *)data;\r
+       retif(module == NULL, , "Invalid parameter!");\r
+\r
+       _reset_icon(module);\r
+}\r
+\r
+static int _handler_ipc(const char *command, void *data)\r
+{\r
+       int i = 0;\r
+       retif(data == NULL, EINA_FALSE, "item data is NULL");\r
+       retif(command == NULL, EINA_FALSE, "command is NULL");\r
+\r
+       static Setting_Activity_Handler __table_handler[] = {\r
+               {\r
+                       .command = "on",\r
+                       .handler = _handler_on,\r
+               },\r
+               {\r
+                       .command = "off",\r
+                       .handler = _handler_off,\r
+               },\r
+               {\r
+                       .command = "progress_on",\r
+                       .handler = _handler_progress_on,\r
+               },\r
+               {\r
+                       .command = "progress_off",\r
+                       .handler = _handler_progress_off,\r
+               },\r
+               {\r
+                       .command = NULL,\r
+                       .handler = NULL,\r
+               },\r
+       };\r
+\r
+       for (i = 0; __table_handler[i].command; i++) {\r
+               if (strcasecmp(__table_handler[i].command, command))\r
+                       continue;\r
+\r
+\r
+               if (__table_handler[i].handler != NULL) {\r
+                       DBG("process:%s", command);\r
+                       __table_handler[i].handler(data);\r
+               }\r
+               break;\r
+       }\r
+\r
+       return EINA_TRUE;\r
+}\r
+\r
 QP_Module_Setting softkey = {\r
        .name                           = "softkey",\r
-       .setting_pkgname        = "org.tizen.setting-display",\r
+       .setting_pkgname        = "org.tizen.softkey-container",\r
        .init                           = _init,\r
        .fini                           = _fini,\r
        .lang_changed           = _lang_changed,\r
@@ -204,4 +307,4 @@ QP_Module_Setting softkey = {
        .status_update          = _status_update,\r
        .handler_longpress              = _long_press_cb,\r
        .handler_press          = _mouse_clicked_cb,\r
-};\r
+};
\ No newline at end of file
index 1182a218baf53b92a50b76c84e381a4726db5ec4..54615705952671d28cea5f0fefcf582ddebf16af 100755 (executable)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <manifest xmlns="http://tizen.org/ns/packages" api-version="4.0" install-location="internal-only" package="org.tizen.quickpanel_common" version="1.0.0">
     <author email="jin0.kim@samsung.com" href="www.samsung.com">Jinyoung Kim</author>
-    <profile name="mobile"/>
+    <profile name="iot-headed"/>
     <ui-application appid="org.tizen.quickpanel" exec="quickpanel" hw-acceleration="on" launch_mode="single" multiple="false" nodisplay="true" process-pool="true" taskmanage="false" type="capp">
         <label>quickpanel</label>
         <icon>quickpanel.png</icon>
@@ -32,5 +32,6 @@
         <privilege>http://tizen.org/privilege/notification</privilege>
         <privilege>http://tizen.org/privilege/volume.set</privilege>
         <privilege>http://tizen.org/privilege/volume.get</privilege>
+        <privilege>http://tizen.org/privilege/systemsettings.admin</privilege>
     </privileges>
 </manifest>