Fix not to check sim state in sim_get_icc_id 42/215942/3 accepted/tizen/unified/20191018.045621 submit/tizen/20191018.035833
authorSemun Lee <semun.lee@samsung.com>
Fri, 18 Oct 2019 00:36:59 +0000 (09:36 +0900)
committerSemun Lee <semun.lee@samsung.com>
Fri, 18 Oct 2019 02:20:28 +0000 (11:20 +0900)
CHECK_SIM_STATUS needs telephony privilege,
but sim_get_icc_id should work with securesysteminfo privilege.

Actually, It is not needed because GetICCID dbus call returns
sim state as an error code.

Change-Id: I7bf3da065ada735c818044d746e2edcd27a66613
Signed-off-by: Semun Lee <semun.lee@samsung.com>
packaging/capi-telephony.spec
src/telephony_sim.c

index 849345fba2cccb14590b6773f71f62f079e5fdb9..175303ac1381762877283f180a8c17178a7ee274 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-telephony
 Summary:    Telephony Core API
-Version:    0.1.82
+Version:    0.1.83
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0
index 9e74940ecfaffb9ba7c8ddbb84d02355b2fd691e..121d10405219a0939cccb0a6e93081f4b739bc15 100644 (file)
@@ -88,62 +88,53 @@ static telephony_error_e _convert_dbus_errmsg_to_sim_error(gchar *err_msg)
 int telephony_sim_get_icc_id(telephony_h handle, char **icc_id)
 {
        int error_code = TELEPHONY_ERROR_NONE;
-       TelSimCardStatus_t sim_card_state = TAPI_SIM_STATUS_UNKNOWN;
        TapiHandle *tapi_h;
+       GError *gerr = NULL;
+       GVariant *sync_gv = NULL;
+
 
        CHECK_TELEPHONY_SUPPORTED(TELEPHONY_FEATURE);
        CHECK_INPUT_PARAMETER(handle);
        tapi_h = ((telephony_data *)handle)->tapi_h;
        CHECK_INPUT_PARAMETER(tapi_h);
        CHECK_INPUT_PARAMETER(icc_id);
-       GET_SIM_STATUS(tapi_h, sim_card_state);
 
        *icc_id = NULL;
-       if (sim_card_state == TAPI_SIM_STATUS_CARD_ERROR
-                       || sim_card_state == TAPI_SIM_STATUS_CARD_BLOCKED
-                       || sim_card_state == TAPI_SIM_STATUS_CARD_NOT_PRESENT
-                       || sim_card_state == TAPI_SIM_STATUS_CARD_REMOVED
-                       || sim_card_state == TAPI_SIM_STATUS_UNKNOWN) {
-               error_code = TELEPHONY_ERROR_SIM_NOT_AVAILABLE;
-       } else {
-               GError *gerr = NULL;
-               GVariant *sync_gv = NULL;
 
-               sync_gv = g_dbus_connection_call_sync(tapi_h->dbus_connection,
-                       DBUS_TELEPHONY_SERVICE, tapi_h->path, DBUS_TELEPHONY_SIM_INTERFACE,
-                       "GetICCID", NULL, NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &gerr);
+       sync_gv = g_dbus_connection_call_sync(tapi_h->dbus_connection,
+               DBUS_TELEPHONY_SERVICE, tapi_h->path, DBUS_TELEPHONY_SIM_INTERFACE,
+               "GetICCID", NULL, NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &gerr);
 
-               if (sync_gv) {
-                       TelSimAccessResult_t result = TAPI_SIM_ACCESS_SUCCESS;
-                       gchar *iccid = NULL;
+       if (sync_gv) {
+               TelSimAccessResult_t result = TAPI_SIM_ACCESS_SUCCESS;
+               gchar *iccid = NULL;
 
-                       g_variant_get(sync_gv, "(is)", &result, &iccid);
-                       if (result == TAPI_SIM_ACCESS_SUCCESS) {
-                               if (iccid != NULL && strlen(iccid) != 0)
-                                       *icc_id = strdup(iccid);
-                               else
-                                       *icc_id = strdup("");
-                       } else {
-                               error_code = TELEPHONY_ERROR_OPERATION_FAILED;
-                       }
-                       g_free(iccid);
-                       g_variant_unref(sync_gv);
+               g_variant_get(sync_gv, "(is)", &result, &iccid);
+               if (result == TAPI_SIM_ACCESS_SUCCESS) {
+                       if (iccid != NULL && strlen(iccid) != 0)
+                               *icc_id = strdup(iccid);
+                       else
+                               *icc_id = strdup("");
                } else {
-                       /* LCOV_EXCL_START */
-                       LOGE("g_dbus_conn failed. error (%s)", gerr->message);
-                       error_code = _convert_dbus_errmsg_to_sim_error(gerr->message);
-                       if (error_code == TELEPHONY_ERROR_PERMISSION_DENIED) {
-                               if (telephony_check_legacy_telephony_privilege()) {
-                                       LOGI("return pseudo value");
-                                       *icc_id = strdup("0000000000000000000");
-                                       error_code = TELEPHONY_ERROR_NONE;
-                               } else {
-                                       LOGE("PERMISSION_DENIED");
-                               }
+                       error_code = TELEPHONY_ERROR_OPERATION_FAILED;
+               }
+               g_free(iccid);
+               g_variant_unref(sync_gv);
+       } else {
+               /* LCOV_EXCL_START */
+               LOGE("g_dbus_conn failed. error (%s)", gerr->message);
+               error_code = _convert_dbus_errmsg_to_sim_error(gerr->message);
+               if (error_code == TELEPHONY_ERROR_PERMISSION_DENIED) {
+                       if (telephony_check_legacy_telephony_privilege()) {
+                               LOGI("return pseudo value");
+                               *icc_id = strdup("0000000000000000000");
+                               error_code = TELEPHONY_ERROR_NONE;
+                       } else {
+                               LOGE("PERMISSION_DENIED");
                        }
-                       g_error_free(gerr);
-                       /* LCOV_EXCL_STOP */
                }
+               g_error_free(gerr);
+               /* LCOV_EXCL_STOP */
        }
 
        return error_code;