From: Yunjin Lee Date: Wed, 9 May 2018 08:01:04 +0000 (+0900) Subject: Handling home key according to the profile X-Git-Tag: accepted/tizen/unified/20180611.015306~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F06%2F178306%2F3;p=platform%2Fcore%2Fsecurity%2Faskuser.git Handling home key according to the profile In wearable, use power key instead of home key Change-Id: I68c271bff56563969aa2db0157450270172590ae Signed-off-by: Yunjin Lee --- diff --git a/src/notification-daemon/ui/Popupper.cpp b/src/notification-daemon/ui/Popupper.cpp index ab7ed3f..2814a97 100644 --- a/src/notification-daemon/ui/Popupper.cpp +++ b/src/notification-daemon/ui/Popupper.cpp @@ -51,6 +51,14 @@ namespace { std::unique_ptr profileNamePtr(profileName, free); return std::string(profileName); } + + std::string getHomeKey() { + std::string profileName = getProfileName(); + if (profileName[0] == 'w' || profileName[0] == 'W') + return "XF86PowerOff"; + else + return "XF86Home"; + } } @@ -103,7 +111,7 @@ Eina_Bool Popupper::hwKeyClickedCb(void *data, int type, void *event) Ecore_Event_Key *ev = static_cast(event); Popupper* runner = static_cast(data); ALOGD("HW button pressed. type <" << type << "> pressed key is <" << ev->key << ">"); - if ((!strcmp("XF86Home", ev->key) || !strcmp("XF86Back", ev->key)) && runner->m_elementPtr) { + if ((!strcmp(getHomeKey().c_str(), ev->key) || !strcmp("XF86Back", ev->key)) && runner->m_elementPtr) { ALOGD("Respond as deny once."); runner->m_popupResponseHandler(NResponseType::None); } @@ -137,7 +145,7 @@ void Popupper::initialize() elm_win_indicator_mode_set(m_win, ELM_WIN_INDICATOR_SHOW); evas_object_smart_callback_add(m_win, "unfocused", &Popupper::unfocusedCb, this); - elm_win_keygrab_set(m_win, "XF86Home", 0, 0, 0, ELM_WIN_KEYGRAB_SHARED); + elm_win_keygrab_set(m_win, getHomeKey().c_str(), 0, 0, 0, ELM_WIN_KEYGRAB_SHARED); elm_win_keygrab_set(m_win, "XF86Back", 0, 0, 0, ELM_WIN_KEYGRAB_TOPMOST); ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, &Popupper::hwKeyClickedCb, this); } @@ -195,7 +203,7 @@ void Popupper::start() void Popupper::stop() { m_shouldRaise = false; - elm_win_keygrab_unset(m_win, "XF86Home", 0, 0); + elm_win_keygrab_unset(m_win, getHomeKey().c_str(), 0, 0); elm_win_keygrab_unset(m_win, "XF86Back", 0, 0); m_elementPtr.reset(nullptr); m_answerablePtr.reset(nullptr);