[feature] voice call audio interface
Change-Id: I3429a426c07f1cd082ffff2855dbda05cb22373f
diff --git a/framework/lynq-ril-service/src/cc.cpp b/framework/lynq-ril-service/src/cc.cpp
index f212ff7..09456b8 100755
--- a/framework/lynq-ril-service/src/cc.cpp
+++ b/framework/lynq-ril-service/src/cc.cpp
@@ -776,17 +776,17 @@
int inCallRecord(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
+ android::Parcel p;
int recordEnable = 0;
char* filepath = NULL;
if(inCallstatus == CALL_OFF || speechStatus == SPEECH_OFF) {
RLOGW("[warning],not in calling status. Can't do record!");
- return 0;
+ goto FAIL_RETURN;
}
- if(argc < 3) {
- free(pRI);
+ if(argc < 3) {
RLOGW("[error],inCallRecord parameter error!");
- return 0;
+ goto FAIL_RETURN;
}
recordEnable = atoi(argv[1]) ? 1 : 0;
@@ -802,20 +802,31 @@
}else{
inCallRecordMode = 0;
RLOGW("[error],inCallRecord Start fail!");
+ goto FAIL_RETURN;
}
} else { //disable record
if (inCallRecordMode == 1) {
- if(!(-1 != GSM_Stop() && -1 != GSM_Close()))
- RLOGW("[error],inCallRecord fail!");
-
inCallRecordMode = 0;
+ if(!(-1 != GSM_Stop() && -1 != GSM_Close()))
+ {
+ RLOGW("[error],inCallRecord fail!");
+ goto FAIL_RETURN;
+ }
}
}
-
- if(pRI != NULL) {
+ if(pRI != NULL) {
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_RECORD,0,0);
+ android::LYNQ_RIL_respSocket_sp(p,pRI);
free(pRI);
- }
+ }
return 0;
+FAIL_RETURN:
+ if(pRI != NULL) {
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_RECORD,0,2);
+ android::LYNQ_RIL_respSocket_sp(p,pRI);
+ free(pRI);
+ }
+ return -1;
}
int StopRecord()
@@ -834,10 +845,13 @@
int setSpeechVolume(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
+ android::Parcel p;
int setValue = 0;
RLOGD("setSpeechVolume start!");
if(argc < 2) {
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_SET_SPEECH_VOLUME,0,2);
+ android::LYNQ_RIL_respSocket_sp(p,pRI);
free(pRI);
RLOGW("Warning: no set volume value!");
return -1;
@@ -848,28 +862,64 @@
if (get_audio_path() == 0) {
if(setValue < MIN_VOLUME || setValue > MAX_VOLUME) {
RLOGW("Warning: set volume value is over-range!");
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_SET_SPEECH_VOLUME,0,2);
+ android::LYNQ_RIL_respSocket_sp(p,pRI);
+ free(pRI);
return -1;
}
} else {
if(setValue < BT_MIN_VOLUME || setValue > BT_MAX_VOLUME) {
RLOGW("Warning: set bt volume value is over-range!");
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_SET_SPEECH_VOLUME,0,2);
+ android::LYNQ_RIL_respSocket_sp(p,pRI);
+ free(pRI);
return -1;
}
}
//paramter is from 1 to 7
mixer_set_volume(setValue);
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_SET_SPEECH_VOLUME,0,0);
+ printf(">>>>set speech Volume<<<< success value is %d!\n",setValue);
+ /*Warren add for t800 ril service 2021/12/23 end*/
+ android::LYNQ_RIL_respSocket_sp(p,pRI);
free(pRI);
return 0;
}
+int getSpeechVolume(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
+{
+ android::Parcel p;
+ printf("WARREN TEST001!!!\n");
+ int volumn = mixer_get_volume();
+ //TBC -200 fail status
+ if(volumn <0) {
+ printf("get speech volumn fail, please check whether does call exsit.\n");
+ /*Warren add for t800 ril service 2021/12/23 start*/
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_GET_SPEECH_VOLUME,0,2);
+ /*Warren add for t800 ril service 2021/12/23 end*/
+ } else {
+ /*Warren add for t800 ril service 2021/12/23 start*/
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_GET_SPEECH_VOLUME,0,0);
+ /*Warren add for t800 ril service 2021/12/23 end*/
+ }
+ printf("current Speech Volume is%d",volumn);
+ p.writeInt32(volumn);
+ android::LYNQ_RIL_respSocket(p,(void *)pRI);
+ if(pRI) {
+ free(pRI);
+ }
+ return 0;
+}
int setDtmfVolume(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
+ android::Parcel p;
int setValue = 0;
- Parcel p;
RLOGD("setDtmfVolume start!");
printf("setDtmfVolume start!\n");
if(argc < 2) {
RLOGW("Warning: no set volume value!");
printf("Warning: no set volume value!\n");
+ android::lynqAssemblyParcelheader(p,socket_id,LYNQ_REQUEST_SET_DTMF_VOLUME,0,2);
+ android::LYNQ_RIL_respSocket_sp(p,pRI);
free(pRI);
return -1;
}
@@ -1260,7 +1310,7 @@
//RIL_REQUEST_SET_MUTE
int setMute(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
- Parcel p;
+ android::Parcel p;
printf("WARREN TEST002!!!\n");
if(argc<2)
{
@@ -1275,12 +1325,12 @@
int ret = setCallMute(mute);
if(ret) {
/*Warren add for t800 ril service 2021/12/23 start*/
- android::lynqAssemblyParcelheader(p,socket_id,RIL_REQUEST_GET_MUTE,0,2);
+ android::lynqAssemblyParcelheader(p,socket_id,RIL_REQUEST_SET_MUTE,0,2);
/*Warren add for t800 ril service 2021/12/23 start*/
printf("set mute fail, please try agian\n");
} else {
/*Warren add for t800 ril service 2021/12/23 start*/
- android::lynqAssemblyParcelheader(p,socket_id,RIL_REQUEST_GET_MUTE,0,0);
+ android::lynqAssemblyParcelheader(p,socket_id,RIL_REQUEST_SET_MUTE,0,0);
/*Warren add for t800 ril service 2021/12/23 start*/
}
/*Warren add for t800 ril service 2021/12/23 start*/
@@ -1297,11 +1347,11 @@
int getMute(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
- Parcel p;
+ android::Parcel p;
printf("WARREN TEST001!!!\n");
int mute = getCallMute();
//TBC -200 fail status
- if(mute == -200) {
+ if(mute < 0) {
printf("get mute state fail, please check whether does call exsit.\n");
/*Warren add for t800 ril service 2021/12/23 start*/
android::lynqAssemblyParcelheader(p,socket_id,RIL_REQUEST_GET_MUTE,0,2);
@@ -1313,8 +1363,8 @@
}
printf("current mute state is%s",((mute == 1) ? "on\n" : "off\n"));
p.writeInt32(mute);
- android::LYNQ_RIL_respSocket(p,(void *)pRI);
if(pRI) {
+ android::LYNQ_RIL_respSocket(p,(void *)pRI);
free(pRI);
}
return 0;