[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/lib/liblynq-call/lynq_call.cpp b/lib/liblynq-call/lynq_call.cpp
index 0775118..b90b44b 100755
--- a/lib/liblynq-call/lynq_call.cpp
+++ b/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");