[Bugfix][API-478][Sim/Call/Data]Sim, CALL, and DATA modules repeatedly call initialization, logout, and one of the module's other apis, T800 will block
Change-Id: I3d98c8d7633ec1314d04a107342b9a6a580cf0a5
diff --git a/src/lynq/lib/liblynq-call/lynq_call.cpp b/src/lynq/lib/liblynq-call/lynq_call.cpp
index 0775118..b90b44b 100755
--- a/src/lynq/lib/liblynq-call/lynq_call.cpp
+++ b/src/lynq/lib/liblynq-call/lynq_call.cpp
@@ -1146,6 +1146,10 @@
int lynq_call(int* handle,char addr[])
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
Parcel p;
lynq_client_t client;
int resp_type = -1;
@@ -1227,6 +1231,10 @@
}
int lynq_call_answer()
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
Parcel p;
lynq_client_t client;
int resp_type = -1;
@@ -1252,6 +1260,10 @@
}
int lynq_call_hungup(int* handle)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
Parcel p;
lynq_client_t client;
int resp_type = -1;
@@ -1294,6 +1306,10 @@
}
int lynq_call_hungup_all()
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
Parcel p;
lynq_client_t client;
int resp_type = -1;
@@ -1319,6 +1335,10 @@
}
int lynq_wait_incoming_call(int *handle)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
waitIncomingCall();
*handle = lynqIncomingCallId;
LYINFLOG("lynq incoming call id:%d",lynqIncomingCallId);
@@ -1327,12 +1347,20 @@
int lynq_set_auto_answercall(const int mode)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
global_call_auto_answer = mode;
LYINFLOG("auto answer call mode =%d",mode);
return 0;
}
int lynq_get_current_call_state(int *handle, int *call_state,int *toa,int *direction,char addr[])
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
int lynq_call_id = 0;
LYINFLOG("lynq_get_current_call_state begin ");
if(handle==NULL)
@@ -1366,6 +1394,10 @@
int lynq_set_mute_mic(const int enable)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
if(!judge_mic(enable)){
return LYNQ_E_CONFLICT;
}
@@ -1373,6 +1405,10 @@
}
int lynq_get_mute_mic(int *status)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
return lynq_get_common_request(54,status);//RIL_REQUEST_GET_MUTE
}
@@ -1401,6 +1437,10 @@
int lynq_switch_waiting_or_holding_and_active(void)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
Parcel p;
lynq_client_t client;
int resp_type = -1;
@@ -1427,6 +1467,10 @@
int lynq_hangup_waiting_or_background(void)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
Parcel p;
lynq_client_t client;
int resp_type = -1;
@@ -1453,6 +1497,10 @@
int lynq_hangup_foreground_resume_background(void)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
Parcel p;
lynq_client_t client;
int resp_type = -1;
@@ -1479,6 +1527,10 @@
int lynq_set_DTMF(const char callnum)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
if(!judge_dtmf(callnum))
{
return LYNQ_E_CONFLICT;
@@ -1806,6 +1858,10 @@
void* lynq_start_rtp_cmd(void *arg)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
int* rtp_mode= (int*) arg;
char cmd[384];
LYINFLOG("lynq_start_rtp_cmd: rtp_mode is %d",(*rtp_mode));
@@ -1849,6 +1905,10 @@
/*set*/
int lynq_set_voice_audio_mode(const LYNQ_Audio_Mode audio_mode)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
int ret;
int i;
@@ -1954,6 +2014,10 @@
/*get*/
LYNQ_Audio_Mode lynq_get_voice_audio_mode()
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
if(g_rtp_thread_valid[0])
{
return AUDIO_MODE_RTP;
@@ -1965,6 +2029,10 @@
}
int lynq_get_remote_rtp_ip(char* ip, const int ip_length)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
if(ip==NULL)
{
LYERRLOG("ip is NULL");
@@ -1982,6 +2050,10 @@
}
int lynq_get_rtp_port(const LYNQ_Rtp_Mode rtp_mode, int* port)
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
if(port==NULL)
{
return 1;
@@ -1998,6 +2070,10 @@
}
int lynq_get_rtp_param(int* clock_rate, int* channels, int* latency)//only for client mode
{
+ if(g_lynq_call_init_flag == 0)
+ {
+ return -1;
+ }
if(clock_rate == NULL || channels ==NULL || latency ==NULL)
{
LYERRLOG("input parameter is NULL");
diff --git a/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp b/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
index b9f12ea..76403e1 100755
--- a/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
+++ b/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
@@ -136,6 +136,10 @@
/*If you need to use any API under lynq_sim, you mustfirst call the lynq_sim_init() function to initialize these functions.*/
int lynq_get_sim_status(int *card_status)
{
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(card_status == NULL)
return ret;
@@ -181,6 +185,10 @@
int lynq_get_imsi(char buf[])
{
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(buf == NULL)
return ret;
@@ -230,6 +238,10 @@
/*add by lei*/
int lynq_get_iccid(char buf[]){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(buf == NULL)
return ret;
@@ -274,6 +286,10 @@
}
int lynq_enable_pin(char *pin){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(pin == NULL)
return ret;
@@ -316,6 +332,10 @@
}
int lynq_disable_pin(char *pin){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(pin == NULL)
return ret;
@@ -355,6 +375,10 @@
}
int lynq_query_pin_lock(char *pin,int buf[]){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(pin == NULL)
return ret;
@@ -405,6 +429,10 @@
}
int lynq_verify_pin(char *pin){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(pin == NULL)
return ret;
@@ -445,6 +473,10 @@
}
int lynq_change_pin(char *old_pin, char *new_pin){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(old_pin == NULL || new_pin == NULL)
return ret;
@@ -489,6 +521,10 @@
}
int lynq_unlock_pin(char *puk, char *pin){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(puk == NULL || pin == NULL)
return ret;
@@ -587,6 +623,10 @@
}
int lynq_query_phone_number(char buf[]){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(buf == NULL)
return ret;
@@ -654,7 +694,11 @@
}
int lynq_get_imei(char buf[])
-{
+{
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(buf == NULL)
return ret;
@@ -714,6 +758,10 @@
}
int lynq_switch_card(int slot){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(!judge(slot))
return ret;
@@ -734,6 +782,10 @@
}
int lynq_screen(int num){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(!judge(num))
return ret;
@@ -817,7 +869,11 @@
}
int lynq_req_sim_io(int list[5], char *path, char *data, char *pin2, char *aidPtr, int sw[2], char *simResponse)
-{
+{
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
int ret = -1;
if(judge_illegal(list, path, data, pin2, aidPtr, sw, simResponse))
{
diff --git a/src/lynq/lib/liblynq-sms/src/lynq_sms.cpp b/src/lynq/lib/liblynq-sms/src/lynq_sms.cpp
index 0a44eba..ff92141 100755
--- a/src/lynq/lib/liblynq-sms/src/lynq_sms.cpp
+++ b/src/lynq/lib/liblynq-sms/src/lynq_sms.cpp
@@ -156,6 +156,10 @@
}
int lynq_wait_receive_new_sms(int *handle)
{
+ if(g_lynq_sms_init_flag == 0)
+ {
+ return -1;
+ }
if(handle==NULL)
{
LYERRLOG("handle is null!!!");
@@ -387,6 +391,10 @@
int lynq_send_sms(char telephony_num[TELEPHONE_NUM_LEN], int charset, char *msg)
{
+ if(g_lynq_sms_init_flag == 0)
+ {
+ return -1;
+ }
lynq_client_t client;
int ret = SMS_OK;
if (NULL == msg)
@@ -413,6 +421,10 @@
int lynq_read_sms(int index,int *status,int *charset,char smsc[SMSC_MAX_LEN],int *smscLen,int *smslen,char message[MSG_MAX_LEN],char teleNum[TELEPHONE_NUM_LEN],int *numLen,int *current,int *total)
{
+ if(g_lynq_sms_init_flag == 0)
+ {
+ return -1;
+ }
lynq_client_t client;
lynq_sms_msg_info_t sms_msg_info;
int lenTemp = -1;
@@ -453,6 +465,10 @@
int lynq_get_smsc_address(char service_num[SMSC_MAX_LEN])
{
+ if(g_lynq_sms_init_flag == 0)
+ {
+ return -1;
+ }
if(NULL == service_num)
{
return -1;
@@ -473,6 +489,10 @@
int lynq_set_smsc_address(const char* service_num)
{
+ if(g_lynq_sms_init_flag == 0)
+ {
+ return -1;
+ }
if(NULL == service_num)
{
return -1;
@@ -499,6 +519,10 @@
int lynq_list_sms(char index_list[SMS_NUM_MAX])
{
+ if(g_lynq_sms_init_flag == 0)
+ {
+ return -1;
+ }
lynq_client_t client;
int ret = SMS_OK;
client.request = LYNQ_REQUEST_LIST_SMS_FROM_MEMORY;
@@ -513,6 +537,10 @@
int lynq_delete_sms(int index)
{
+ if(g_lynq_sms_init_flag == 0)
+ {
+ return -1;
+ }
lynq_client_t client;
int ret = SMS_OK;
client.request = LYNQ_REQUEST_DELETE_SMS_FROM_MEMORY;