[privacy settings] Modify privacy status change logic 47/100547/2
authorYunjin Lee <yunjin-.lee@samsung.com>
Mon, 28 Nov 2016 10:35:39 +0000 (19:35 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Mon, 28 Nov 2016 10:54:19 +0000 (02:54 -0800)
- When user off the privacy, policy status is set to Ask user
- Ask status will be shown as off status (becasue grant of privacy is up to user decision)

Change-Id: Id41f9ef83d2fbf7b0e172592bdbec359d9921ac1
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
ui/src/privacy_list_view.c
ui/src/privacy_menu_view.c
ui/src/privacy_package_list_view.c

index 88d73e5e603161c0f04af5f39c989dd6475c9276..3553aeb0a1d0ab8501d2b50f999a520d183c4111 100644 (file)
@@ -14,9 +14,9 @@
  *     limitations under the License.
  */
 /*
- * @file               privacy_list_view.c
- * @author       Yunjin Lee (yunjin-.lee@samsung.com)
- * @version     1.0
+ * @file      privacy_list_view.c
+ * @author    Yunjin Lee (yunjin-.lee@samsung.com)
+ * @version   1.0
  * @brief
  */
 
@@ -88,7 +88,6 @@ void create_privacy_list_view(struct app_data_s *ad)
        elm_genlist_item_class_free(itc);
        evas_object_show(genlist);
 
-       /* Change "Privacy Setting" to proper DID : use dgettext() */
        Elm_Object_Item *nf_it = elm_naviframe_item_push(ad->nf, dgettext("privacy-setting", PRIVACY_MENU_SETTING), common_back_btn_add(ad), NULL, genlist, NULL);
 
        elm_object_item_domain_text_translatable_set(nf_it, PACKAGE, EINA_TRUE);
index 5cc8572d55c37c70d2b89f757abd8fb16321514e..b6b60e248f47aea85084b53244fb3d2cf23b9452 100644 (file)
@@ -42,7 +42,6 @@ static Eina_Bool quit_cb(void *data, Elm_Object_Item *it)
 static char* gl_text_get_cb(void *data, Evas_Object *obj, const char *part)
 {
        item_data_s *id = data;
-       /* TBD: Use dgettext when menu string is replaced by DID */
        lreturn_if(!strcmp(part, "elm.text"), , strdup(id->title), "selected menu = %s", id->title);
        return "FAIL";
 }
@@ -109,8 +108,7 @@ void create_privacy_menu_view(struct app_data_s *ad)
        elm_genlist_item_class_free(itc);
        evas_object_show(genlist);
 
-       /* Change "Privacy & Safety" to proper DID : use dgettext() */
-       char* title = dgettext("privacy-setting", "IDS_ST_HEADER_PRIVACY_AND_SAFETY_ABB");
+       char* title = dgettext("privacy-setting", PRIVACY_MENU_SETTING);
        Elm_Object_Item *nf_it = elm_naviframe_item_push(ad->nf, title, common_back_btn_add(ad), NULL, genlist, NULL);
        elm_object_item_domain_text_translatable_set(nf_it, PACKAGE, EINA_TRUE);
 
index 928b32b7d9e7c5f8ccab335a4c8b76458b274a03..795708d306c8b707b1d5750e1ac8acb7978e01a3 100644 (file)
@@ -14,9 +14,9 @@
  *     limitations under the License.
  */
 /*
- * @file               privacy_package_list_view.c
- * @author       Yunjin Lee (yunjin-.lee@samsung.com)
- * @version     1.0
+ * @file      privacy_package_list_view.c
+ * @author    Yunjin Lee (yunjin-.lee@samsung.com)
+ * @version   1.0
  * @brief
  */
 
@@ -114,10 +114,11 @@ static void __get_package_privacy_status(pkg_data_s* pkg_data, char* privilege_n
                for (i = 0; i < pp_policy_size; ++i) {
                        char* result = (char*)security_manager_policy_entry_get_level(pp_policy[i]);
                        log_if(result == NULL, 1, "security_manager_policy_entry_get_level failed. No policy is declared for pkgid: %s, appid: %s, privilege: %s", pkg_data->pkgid, appid, privilege_name);
+                       LOGD("policy status = %s", result);
                        if (strcmp("Allow", result) == 0) {
                                pkg_data->status = EINA_TRUE;
                                break;
-                       } else if (strcmp("Deny", result) == 0) {/* TBD: Handle AskUser case? */
+                       } else if (strcmp("Deny", result) == 0 || strcmp("Ask user", result) == 0) {
                                pkg_data->status = EINA_FALSE;
                                break;
                        } else {
@@ -207,7 +208,7 @@ static void privacy_package_check_changed_cb(void *data, Evas_Object *obj, void
 
                        char* level;
                        if (id->status) {
-                               level = "Deny";
+                               level = "Ask user";
                                id->status = false;
                        } else {
                                level = "Allow";
@@ -229,7 +230,6 @@ static void privacy_package_check_changed_cb(void *data, Evas_Object *obj, void
                        /* Make policy entries to update according to the number of privilege and appid of package */
                        policy_entry *entry[entry_num];
                        int entry_index = 0;
-                       /* TBD: Modify appid to pkgid : remove for loop */
                        for (ll = pkg_data->applist; ll != NULL; ll = ll->next) {
                                char* appid = (char*)ll->data;
                                for (lll = pkg_data->privlist; lll != NULL; lll = lll->next) {
@@ -239,7 +239,6 @@ static void privacy_package_check_changed_cb(void *data, Evas_Object *obj, void
                                        ret = security_manager_policy_entry_new(&entry[entry_index]);
                                        log_if(ret != SECURITY_MANAGER_SUCCESS, 1, "security_manager_policy_entry_new failed. ret = %d", ret);
                                        log_if(entry[entry_index] == NULL, 1, "security_manager_policy_entry_new failed failed. creation of new policy entry did not allocate memory");
-                                       /* TBD: Modify appid to pkgid */
                                        ret = security_manager_policy_entry_set_application(entry[entry_index], appid);
                                        log_if(ret != SECURITY_MANAGER_SUCCESS, 1, "security_manager_policy_entry_set_application failed. ret = %d", ret);
                                        ret = security_manager_policy_entry_set_privilege(entry[entry_index], privilege_name);
@@ -267,7 +266,6 @@ static void privacy_package_check_changed_cb(void *data, Evas_Object *obj, void
        }
 }
 
-/* TBD: Modify appid to pkgid : remove following function */
 static int pkg_app_list_cb(pkgmgrinfo_appinfo_h pkg_handle, void* user_data)
 {
        char* appid = NULL;