[feature][T8TSK-196][TCAM_T800_SW_0283][network] add interface to set AT+CFUN=0
Change-Id: Ia04223faa1179d9d0a1ccea02d65761b1f08c323
(cherry picked from commit c6d8041552e1978fe023c3bee55a58c18ca0dc72)
diff --git a/lib/liblynq-network/include/lynq_network/lynq_network.h b/lib/liblynq-network/include/lynq_network/lynq_network.h
index 5b2ce3c..ba7c1f4 100755
--- a/lib/liblynq-network/include/lynq_network/lynq_network.h
+++ b/lib/liblynq-network/include/lynq_network/lynq_network.h
@@ -52,6 +52,12 @@
* Range [-23, 40], INT_MAX means invalid/unreported.*/
}signalStrength_t;
+typedef enum {
+ NETWORK_RADIO_ON_TYPE_CFUN_0=0,
+ NETWORK_RADIO_ON_TYPE_NORMAL_MODE=1,
+ NETWORK_RADIO_ON_TYPE_FLIGHT_MODE=4,
+}lynq_network_radio_on_type;
+
int lynq_network_init(int utoken);
int lynq_network_deinit(void);
int lynq_query_operater(char *OperatorFN,char *OperatorSH,char *MccMnc);
@@ -65,7 +71,7 @@
int lynq_set_unsol_cell_info_listrate(const int rate);
int lynq_set_band_mode(const int bandmode);
int lynq_query_available_bandmode(int availBanMode[]);
-int lynq_radio_on(const int data);
+int lynq_radio_on(const lynq_network_radio_on_type type);
int lynq_query_radio_state(int *radio_state);
int lynq_query_radio_tech(int* radioTech);
int lynq_solicited_signal_strength(signalStrength_t *solSigStren);
diff --git a/lib/liblynq-network/lynq_network.cpp b/lib/liblynq-network/lynq_network.cpp
index 98e33f6..dd45fdc 100755
--- a/lib/liblynq-network/lynq_network.cpp
+++ b/lib/liblynq-network/lynq_network.cpp
@@ -757,21 +757,30 @@
return RESULT_OK;
}
-int lynq_radio_on(const int data)
+int lynq_radio_on(const lynq_network_radio_on_type type)
{
if(g_module_init_flag != MODULE_RUNNING)
{
LYERRLOG("%s module state %d error",__func__,g_module_init_flag);
return LYNQ_E_CONFLICT;
}
- if (data < 0 || data > 1)
+ if (type != NETWORK_RADIO_ON_TYPE_CFUN_0 && type != NETWORK_RADIO_ON_TYPE_NORMAL_MODE && type!=NETWORK_RADIO_ON_TYPE_FLIGHT_MODE)
{
- LYERRLOG("%s parameter %d error",__func__,data);
+ LYERRLOG("%s parameter %d error",__func__,type);
return LYNQ_E_PARAMETER_ANONALY;
}
Parcel* p=NULL;
- int ret=lynq_send_common_request(p,65,RIL_REQUEST_RADIO_POWER,1,"%d",data);
+ int ret;
+
+ if(type==NETWORK_RADIO_ON_TYPE_CFUN_0)
+ {
+ ret=lynq_send_common_request(p,g_wait_time,RIL_REQUEST_OEM_HOOK_RAW,1,"%s","AT+CFUN=0");
+ }
+ else
+ {
+ ret=lynq_send_common_request(p,65,RIL_REQUEST_RADIO_POWER,1,"%d",(type==NETWORK_RADIO_ON_TYPE_NORMAL_MODE));
+ }
if(ret!=RESULT_OK)
{
@@ -779,7 +788,7 @@
return ret;
}
- LYINFLOG("%s set %d suc",__func__,data);
+ LYINFLOG("%s set %d suc",__func__,type);
delete p;
return RESULT_OK;
}