Add more SIM_STATUS handling on emulator 89/113389/1 accepted/tizen/common/20170208.155010 accepted/tizen/ivi/20170208.103756 accepted/tizen/mobile/20170208.103722 accepted/tizen/unified/20170309.033805 accepted/tizen/wearable/20170208.103738 submit/tizen/20170208.045500 submit/tizen_unified/20170308.100409
authorsinikang <sinikang@samsung.com>
Tue, 7 Feb 2017 09:11:32 +0000 (18:11 +0900)
committersinikang <sinikang@samsung.com>
Tue, 7 Feb 2017 09:14:00 +0000 (18:14 +0900)
Change-Id: I3269385a4c8506639bd739d3d326df2a8918a70b

packaging/tel-plugin-atmodem.spec
src/s_sim.c

index 2671e42ad9030f4fd99937e58f4db7c797bfe586..784483ed39ec331a9ce2dcfc104647bb0454b80a 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 1
-%define patchlevel 75
+%define patchlevel 76
 
 Name:              tel-plugin-atmodem
 Version:           %{major}.%{minor}.%{patchlevel}
index 005f72965c2f39a23a51fa1a1d400fca946fe063..8f061b8b96afd39fbcb96a9234d6620f387194fb 100644 (file)
@@ -126,6 +126,11 @@ typedef enum {
        SEC_PB_INIT_COMPLETED, /*  Phonebook Initialize Completed*/
        SEC_SIM_INIT_CRASH, /*  SIM Crash request from SMC lab*/
 
+       SEC_SIM_CARD_REMOVED, /* Runtime Card removed */
+       SEC_SIM_CARD_CRASHED, /* Runtime SIM card error */
+       SEC_SIM_CARD_POWEROFF, /* SIM Powered OFF */
+       SEC_SIM_CARD_INSERTED, /* SIM card inserted */
+
        SEC_LOCK_TYPE_MAX
 } sim_sec_lock_type_t;
 
@@ -555,6 +560,14 @@ static gboolean __convert_scpin_str_to_enum(char *line,
                *lock_type = SEC_SIM_INIT_COMPLETED;
        else if (g_str_has_prefix(type, "INIT_ERROR"))
                *lock_type = SEC_SIM_INIT_CRASH;
+       else if (g_str_has_prefix(type, "CARD_REMOVED"))
+               *lock_type = SEC_SIM_CARD_REMOVED;
+       else if (g_str_has_prefix(type, "CARD_CRASHED"))
+               *lock_type = SEC_SIM_CARD_CRASHED;
+       else if (g_str_has_prefix(type, "CARD_POWEROFF"))
+               *lock_type = SEC_SIM_CARD_POWEROFF;
+       else if (g_str_has_prefix(type, "CARD_INSERTED"))
+               *lock_type = SEC_SIM_CARD_INSERTED;
        else
                *lock_type = SEC_LOCK_TYPE_NONE;
 
@@ -579,7 +592,9 @@ static gboolean __convert_scpin_str_to_enum(char *line,
                *lock_key = SEC_LOCK_KEY_UNLOCKED;
 
        if ((*lock_type == SEC_LOCK_TYPE_NO_SIM) || (*lock_type == SEC_LOCK_TYPE_UNAVAIL) ||
-                       (*lock_type == SEC_SIM_INIT_COMPLETED) || (*lock_type == SEC_SIM_INIT_CRASH))
+                       (*lock_type == SEC_SIM_INIT_COMPLETED) || (*lock_type == SEC_SIM_INIT_CRASH) ||
+                       (*lock_type == SEC_SIM_CARD_REMOVED) || (*lock_type == SEC_SIM_CARD_CRASHED) ||
+                       (*lock_type == SEC_SIM_CARD_POWEROFF) || (*lock_type == SEC_SIM_CARD_INSERTED))
                *lock_key = SEC_LOCK_KEY_NONE;
 
        dbg("type: [%d], key: [%d]", *lock_type, *lock_key);
@@ -702,6 +717,8 @@ static void __sim_process_sim_status(CoreObject *co_sim,
        case SIM_STATUS_CARD_REMOVED:
        case SIM_STATUS_CARD_NOT_PRESENT:
        case SIM_STATUS_CARD_ERROR:
+       case SIM_STATUS_CARD_CRASHED:
+       case SIM_STATUS_CARD_POWEROFF:
                dbg("SIM CARD ERROR [0x%02x]", sim_card_status);
                tcore_sim_set_type(co_sim, SIM_TYPE_UNKNOWN);
                return __sim_update_sim_status(co_sim, sim_card_status);
@@ -2341,6 +2358,22 @@ static gboolean on_notification_sim_status(CoreObject *co_sim,
        case SEC_PB_INIT_COMPLETED:
        break;
 
+       case SEC_SIM_CARD_REMOVED:
+               sim_status = SIM_STATUS_CARD_REMOVED;
+       break;
+
+       case SEC_SIM_CARD_CRASHED:
+               sim_status = SIM_STATUS_CARD_CRASHED;
+       break;
+
+       case SEC_SIM_CARD_POWEROFF:
+               sim_status = SIM_STATUS_CARD_POWEROFF;
+       break;
+
+       case SEC_SIM_CARD_INSERTED:
+               sim_status = SIM_STATUS_CARD_INSERTED;
+       break;
+
        default:
                err("Not handled SEC lock type: [%d]", locktype);
                sim_status = SIM_STATUS_UNKNOWN;