[Feature][T8TSK-111][AT]AT+LCSUS can query current slot
Change-Id: Ib59afa3e3038c75859603188f59e6b6b1a1bd69b
diff --git a/src/lynq/framework/lynq-ril-service/src/lynq_commands.h b/src/lynq/framework/lynq-ril-service/src/lynq_commands.h
index d1dfd31..8537ae7 100755
--- a/src/lynq/framework/lynq-ril-service/src/lynq_commands.h
+++ b/src/lynq/framework/lynq-ril-service/src/lynq_commands.h
@@ -12,7 +12,7 @@
{LYNQ_REQUEST_ELAPNACT,"RIL_REQUEST_SETUP_DATA_CALL","ELAPNACT",setupData_e,NULL},
{LYNQ_USER_REQUEST_GNSS,NULL,"LYNQGNSS",NULL,lynqGnss},
{LYNQ_USER_REQUEST_OTHRE,NULL,"LYNQOTHER",NULL,lynqOther},
-{LYNQ_REQUEST_SWITCH_SIM,"SET_DEFAULT_SIM_ALL","LCSUS",switchSim,NULL},
+{LYNQ_REQUEST_SWITCH_SIM,"SET_DEFAULT_SIM_ALL","LCSUS",lynq_dsds_support,NULL},
/*lei modify :Low power consumption for factory test only*/
{LYNQ_REQUEST_SCREEN_STATE,"RIL_REQUEST_RADIO_POWER","SCREEN",lynq_screen,NULL},
/*lei modify :Low power consumption for factory test only*/
diff --git a/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp b/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp
index bd14e4f..191b725 100755
--- a/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/lynq_common.cpp
@@ -665,21 +665,56 @@
return 0;
}
-int switchSim(int argc,char*argv[],char *rilReq, int uToken)
+static void lynq_get_current_card(void)
+{
+ int id = get_default_sim_all();
+ lynq_output_info("+LCSUS: %d\n", id);
+ lynq_output_info("OK\n");
+ return;
+}
+
+static void lynq_switch_card(char*argv[], char *rilReq, int uToken)
{
int slot = 0;
int ret = -1;
char *new_argv[10] = {};
+ slot = atoi(argv[3]);
+ new_argv[0] = (char *)rilReq;
+ new_argv[1] = argv[3];
+ android::lynqSendToRil(2,new_argv,uToken);
+ return;
+}
+
+static void lynq_display_dsds_mode(void)
+{
+ lynq_output_info("+LCSUS: (0-1)\n");
+ lynq_output_info("OK\n");
+ return;
+}
+
+int lynq_dsds_support(int argc,char*argv[],char *rilReq, int uToken)
+{
if(argc < 4)
{
RLOGD("parameter error!!!");
return 1;
}
- slot = atoi(argv[3]);
- new_argv[0] = (char *)rilReq;
- new_argv[1] = argv[3];
- android::lynqSendToRil(2,new_argv,uToken);
- syncRespToUsb(0);
+ int type = atoi(argv[2]);
+ if(type == 2)//get mode
+ {
+ RLOGD("lynq_dsds_support get mode\n");
+ lynq_get_current_card();
+ }
+ else if(type == 0)//set mode
+ {
+ RLOGD("lynq_dsds_support set mode\n");
+ lynq_switch_card(argv, rilReq, uToken);
+ }
+ else if(type == 1)//get list mode
+ {
+ RLOGD("lynq_dsds_support get list mode\n");
+ lynq_display_dsds_mode();
+ }
return 0;
}
diff --git a/src/lynq/framework/lynq-ril-service/src/lynq_common.h b/src/lynq/framework/lynq-ril-service/src/lynq_common.h
index 7b2daae..9fe53e2 100755
--- a/src/lynq/framework/lynq-ril-service/src/lynq_common.h
+++ b/src/lynq/framework/lynq-ril-service/src/lynq_common.h
@@ -108,7 +108,7 @@
int dialACall(int argc,char*argv[],char *rilReq, int uToken);
int setupData(int argc,char*argv[],char *rilReq, int uToken);
int setupData_e(int argc,char*argv[],char *rilReq, int uToken);
-int switchSim(int argc,char*argv[],char *rilReq, int uToken);
+int lynq_dsds_support(int argc,char*argv[],char *rilReq, int uToken);
int lynq_screen(int argc,char*argv[],char *rilReq, int uToken);
void* getMDstate(int argc,char*argv[],int uToken);
void* lynq_get_inside_version(int argc,char*argv[],int uToken);