[Feature][T8TSK-149][AT]Optimize the AT+ELAPNMOD instruction
Change-Id: I1871287ddedee7c1294f9de96cdc9fc01d774a9b
diff --git a/src/lynq/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp b/src/lynq/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp
index e9b67f0..28428e8 100755
--- a/src/lynq/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp
@@ -563,7 +563,7 @@
}
/*get mccmnc*/
lynq_req_mccmnc(666);
- usleep(500*1000);
+ lynq_wait_result_comeback();
/*get mccmnc*/
insert_apn_char(apn_info, id, mcc, mnc, apn, apntype, user, password, normalprotocol, roamingprotocol, carrier);
argv[1] = "0";
diff --git a/src/lynq/framework/lynq-ril-service/src/common.cpp b/src/lynq/framework/lynq-ril-service/src/common.cpp
index 71520f7..9f96f44 100755
--- a/src/lynq/framework/lynq-ril-service/src/common.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/common.cpp
@@ -86,6 +86,10 @@
static std::int32_t token = 0;
static std::mutex g_mutex;
+
+pthread_mutex_t s_state_change_mutex = PTHREAD_MUTEX_INITIALIZER;
+pthread_cond_t s_state_change_cond = PTHREAD_COND_INITIALIZER;
+
/*Warren add for SZZT 2021/11/14 start*
** record data registration
*/
@@ -358,6 +362,22 @@
default_sim_voice = slot_id;
}
+void lynq_send_result_already(void)
+{
+ RLOGD("send_imei_state_change");
+ pthread_mutex_lock(&s_state_change_mutex);
+ pthread_cond_signal(&s_state_change_cond);
+ pthread_mutex_unlock(&s_state_change_mutex);
+}
+
+void lynq_wait_result_comeback(void)
+{
+ RLOGD("wait_call_state");
+ pthread_mutex_lock(&s_state_change_mutex);
+ pthread_cond_wait(&s_state_change_cond,&s_state_change_mutex);
+ pthread_mutex_unlock(&s_state_change_mutex);
+}
+
int get_default_sim_voice(){
return default_sim_voice;
}
diff --git a/src/lynq/framework/lynq-ril-service/src/common.h b/src/lynq/framework/lynq-ril-service/src/common.h
index 317d381..bdbe1c8 100755
--- a/src/lynq/framework/lynq-ril-service/src/common.h
+++ b/src/lynq/framework/lynq-ril-service/src/common.h
@@ -171,6 +171,9 @@
*/
void lynq_output_info(const char* format,...);
+void lynq_send_result_already(void);
+void lynq_wait_result_comeback(void);
+
void updateCardStatusV6(RIL_CardStatus_v6 *card_status,int slot);
char* getAid(int slot);
diff --git a/src/lynq/framework/lynq-ril-service/src/ril.cpp b/src/lynq/framework/lynq-ril-service/src/ril.cpp
index 8110f5b..2b3b458 100755
--- a/src/lynq/framework/lynq-ril-service/src/ril.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/ril.cpp
@@ -4271,6 +4271,7 @@
case RIL_REQUEST_OPERATOR:
{
lynq_get_mccmnc(p, mccmnc);
+ lynq_send_result_already();
break;
}
default: