Fixed the bug which not displays the contextual menu view. 01/35901/1
authorHyojung Jo <hj903.jo@samsung.com>
Thu, 26 Feb 2015 00:33:42 +0000 (09:33 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Thu, 26 Feb 2015 00:35:17 +0000 (09:35 +0900)
Change-Id: I31832fc61e54db831046d0f8d2cfc4f8a4b798a8
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
src/view/ContextView.cpp

index 5301de7..bc348c4 100644 (file)
@@ -261,10 +261,12 @@ void CContextView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_D
                break;
 
        case EO_CTXT_BTN:
-               if (!strcmp(ev->keyname, KEY_BACK) && !CViewMgr::GetInstance()->PopView()) {
-                       _ERR("Pop View failed.");
-                       CViewMgr::Finalize();
-               } else if (!strcmp(ev->keyname, KEY_ENTER)) {
+               if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+                       if (!CViewMgr::GetInstance()->PopView()) {
+                               _ERR("Pop View failed.");
+                               CViewMgr::Finalize();
+                       }
+               } else if (!strcmp(ev->keyname, KEY_ENTER) || !strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
                        m_ContextButtonSelected(obj);
                }
                break;
@@ -282,7 +284,7 @@ void CContextView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_D
                break;
 
        case EO_THUMBNAIL:
-               if (!strcmp(ev->keyname, KEY_ENTER))
+               if (!strcmp(ev->keyname, KEY_ENTER) || !strcmp(ev->keyname, KEY_ENTER_REMOTE))
                        m_RelatedAppSelected(obj);
 
                break;
@@ -684,8 +686,7 @@ void CContextView::m_CategoryItemSelected(Evas_Object *obj)
                m_DestroyCtxpopup();
        }
 
-       if (!m->vmgr->SendMessage(APPS_BASE_VIEW,
-                               (char *)MSG_KEY_LIST_UPDATE,
+       if (!m->vmgr->SendMessage(APPS_BASE_VIEW, (char *)MSG_KEY_LIST_UPDATE,
                                (char *)m->pkgname, NULL, NULL))
                _ERR("Send message failed.");
 }
@@ -1119,26 +1120,6 @@ bool CContextView::Create(void *data)
        elm_layout_file_set(base, EDJEFILE, GRP_CTMPAGE);
        elm_object_part_text_set(base, PART_RELAPP_TXT, _(RELATED_APPS));
 
-       r = pkgmgrinfo_appinfo_get_appinfo(ainfo->Appid(), &pih);
-       if (r != PMINFO_R_OK) {
-               _ERR("pkgmgrinfo_appinfo_get_appinfo failed.");
-               delete m;
-               m = NULL;
-               evas_object_del(base);
-               return false;
-       }
-
-       r = pkgmgrinfo_appinfo_get_effectimage(pih, &thumb, &thumbland);
-       if (r != PMINFO_R_OK) {
-               _ERR("pkgmgrinfo_appinfo_get_effectimage failed.");
-               pkgmgrinfo_appinfo_destroy_appinfo(pih);
-               delete m;
-               m = NULL;
-               evas_object_del(base);
-               return false;
-       }
-
-       free(m->pkgname);
        if (ainfo->Appid())
                m->pkgname = strdup(ainfo->Appid());
 
@@ -1157,10 +1138,22 @@ bool CContextView::Create(void *data)
        if (ainfo->Version())
                m->app_version = strdup(ainfo->Version());
 
-       if (thumbland)
+       if (pkgmgrinfo_appinfo_get_appinfo(ainfo->Appid(), &pih) == PMINFO_R_OK) {
+               r = pkgmgrinfo_appinfo_get_effectimage(pih, &thumb, &thumbland);
+               if (r != PMINFO_R_OK) {
+                       _ERR("pkgmgrinfo_appinfo_get_effectimage failed.");
+                       pkgmgrinfo_appinfo_destroy_appinfo(pih);
+                       delete m;
+                       m = NULL;
+                       evas_object_del(base);
+                       return false;
+               }
+
+               if (thumbland)
                m->app_thumbland = strdup(thumbland);
 
-       pkgmgrinfo_appinfo_destroy_appinfo(pih);
+               pkgmgrinfo_appinfo_destroy_appinfo(pih);
+       }
 
        m->win = win;
        m->base = base;