Handle unresponded request as 'Deny Once' 21/228121/1
authorYunjin Lee <yunjin-.lee@samsung.com>
Thu, 19 Mar 2020 07:08:52 +0000 (16:08 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Thu, 19 Mar 2020 07:08:52 +0000 (16:08 +0900)
- Fill unresponded requested privacies' response as 'Deny Once' and
pass it to ppm_popup_send_response()

Change-Id: Ia5a1fce953c3582a8033ac6ffb9b33deb93dd1f1
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
common/include/common_utils.h
common/src/common_utils.c
ui/src/app_main.c
ui/src/popup.c

index 1deb0eb..8adf736 100644 (file)
@@ -60,7 +60,6 @@ extern "C" {
 
 typedef struct {
        char* privacy;
-       bool user_responsed;
        ppm_popup_response_e response;
 } privacy_data_s;
 
index 27b6e73..e62b145 100644 (file)
@@ -30,7 +30,6 @@ privacy_data_s* new_privacy_data()
                return NULL;
        }
        pd->privacy = NULL;
-       pd->user_responsed = false;
        pd->response = PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_DENY_ONCE;
        return pd;
 }
index e8e57dc..55d0534 100644 (file)
@@ -191,24 +191,19 @@ static void app_terminate(void *data)
        app_data_s *ad = (app_data_s*)data;
        int ret = 0;
 
-       if (ad->privacy_idx == 0) {
-               LOGD("no responses");
-               ret = ppm_popup_send_response(ad->popup_id, NULL, NULL, 0);
-       } else {
-               char *privacies[ad->privacy_idx];
-               ppm_popup_response_e responses[ad->privacy_idx];
-
-               int i = 0;
-               for (i = 0; i < ad->privacy_idx; ++i) {
-                       privacy_data_s *pd = (privacy_data_s*)g_list_nth_data(ad->privacy_list, i);
-                       if (pd->user_responsed) {
-                               privacies[i] = strdup(pd->privacy);
-                               responses[i] = pd->response;
-                       } else {
-                               break;
-                       }
-               }
-               ret = ppm_popup_send_response(ad->popup_id, (const char**)privacies, responses, i);
+       char *privacies[ad->privacy_num];
+       ppm_popup_response_e responses[ad->privacy_num];
+
+       int i = 0;
+       for (i = 0; i < ad->privacy_num; ++i) {
+               privacy_data_s *pd = (privacy_data_s*)g_list_nth_data(ad->privacy_list, i);
+               privacies[i] = strdup(pd->privacy);
+               responses[i] = pd->response;
+       }
+       ret = ppm_popup_send_response(ad->popup_id, (const char**)privacies, responses, i);
+
+       for (i = 0; i < ad->privacy_num; ++i) {
+               free(privacies[i]);
        }
 
        if (ret != PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE)
index debaa4b..953c4ba 100644 (file)
@@ -51,7 +51,6 @@ void save_response(ppm_popup_response_e response, app_data_s *ad)
 {
        privacy_data_s *pd = (privacy_data_s *)g_list_nth_data(ad->privacy_list, ad->privacy_idx);
        pd->response = response;
-       pd->user_responsed = true;
 }